A modificação do / etc / hosts não funciona corretamente. O que fazer?

10

Eu adicionei estas linhas no arquivo hosts:

127.0.0.1 localhost adobe.com
127.0.0.1 adobe.com

Funciona perfeitamente no Windows. Mas no Ubuntu 11.10, quando tento acessá-lo usando o Firefox, o site está abrindo.

Google chrome, apesar de suportar a configuração / etc / hosts. O Google Chrome está sendo exibido:

"Funciona! Esta é a página da Web padrão para este servidor. O software do servidor da Web está em execução, mas ainda não foi adicionado conteúdo."

Aprendiz curioso
fonte

Respostas:

10

Posso confirmar o seu problema que parece afetar, entre o Chrome e o Firefox, apenas o Firefox. Essa é uma resposta para usuários afetados pelo mesmo problema e se forem afetados por ambos / todos os navegadores. Siga estas etapas para que isso funcione corretamente. Supondo que você já tenha editado o /etc/hostsarquivo para o qual recomendo as 2 maneiras a seguir de editar o arquivo:

  • Gedit - gksudo gedit /etc/hosts(Agora você tem uma maneira amigável da GUI de editar o arquivo. Gksu, que fornece o gksudo, foi descontinuado nos repositórios oficiais 18.04 e posteriores.)
  • nano - sudo nano /etc/hosts(Agora você tem uma maneira fácil de editar o arquivo.)

E você tem, por exemplo:

127.0.0.1 localhost adobe.com

ou

127.0.0.1 localhost
127.0.0.1 adobe.com

(Ambos são a mesma coisa.)

Você primeiro faz o teste para verificar se está funcionando corretamente no terminal. Digite ping adobe.come ele deve responder do IP atribuído a ele. Nesse caso, ele deve responder com 127.0.0.1. Isso significa que está tudo bem.

Em seguida, continuamos com os testes do navegador. Você testou o Chrome e funcionou. Você mudou /etc/hostsentre ter e não ter a entrada para adobe.com e funcionou toda vez que você a alterou. Mas então você foi com o Firefox, ele pode ter funcionado pela primeira vez, mas depois de alterar o hostsarquivo para frente e para trás, de alguma forma, ele pára de funcionar. Isso significa que é um problema de cache ou um problema para resolver o nome correto.

No caso do Firefox e da resolução do nome, o Firefox adiciona o prefixo www ao site da adobe para que se pareça com esse "www.adobe.com", mas no Chrome se parece com "adobe.com". Os dois apontam para o mesmo local e o prefixo www está disponível apenas para informar que o local que você está visitando é um serviço da web. Mas, no caso do seu problema, você precisará adicioná-lo ao hostsarquivo. Assim, quando o Firefox adicionar o prefixo www, ele funcionará. Então ficaria assim:

127.0.0.1 localhost
127.0.0.1 adobe.com www.adobe.com

OU da mesma forma

127.0.0.1 localhost adobe.com www.adobe.com

NOTA: Lembre-se de que você PRECISA pressionar F5para atualizar a guia site / Firefox ou fechar a guia e abri-la novamente para testar. De alguma forma, pressionar Entercomo louco não serve.

Isso deve resolver o problema para alguns usuários, mas, até o momento, você ainda não resolveu o problema, podemos testar o que poderia ser.

Chegamos aqui alguns níveis de cache para verificar então. Você adquiriu o seu programa Cache, neste caso o Firefox, depois o cache do sistema, no caso Ubuntu, e o cache do hardware, nesse caso, o roteador.

Pelo que sei, a versão Ubuntu Desktop não possui um serviço de cache DNS instalado por padrão. O mais conhecido é o nscd e, se você o tiver instalado, /etc/init.d/nscd restartserá simples . Mas para a maioria das pessoas, elas não terão isso instalado, para que possamos anular a falha do sistema Ubuntu.

Isso deixa o roteador e o navegador da web. No caso do roteador, você deverá configurá-lo para interromper o cache DNS ou reconfigurá-lo para resolver esse problema. Isso depende totalmente do modelo, fabricante do roteador, etc. Nem todos os roteadores fazem cache de DNS, mas alguns fazem e você precisaria ver na configuração dele, se ele tem essa opção e se a opção está ativada. Mas vamos supor que você não tenha um roteador habilitado para cache de DNS.

Isso deixa o navegador.

Para descobrir se o Firefox está sendo ruim com o cache do DNS, você pode instalar um complemento para verificar o cache do DNS no Firefox. o que eu recomendo é o cache do DNS .

insira a descrição da imagem aqui

Depois de reiniciar o Firefox, você verá uma engrenagem na parte inferior (semelhante à engrenagem do Ubuntu no canto superior direito). Você pode clicar com o botão esquerdo ou com o botão direito do mouse no Cog e deverá ver opções como Ativar / Desativar DNS e Liberá-lo. Isso ajudará no caso de o problema ser o cache DNS do Firefox. Brinque com isso.

Acho que consegui todas as maneiras de resolver isso. Se eu perdi alguma coisa, me avise.

Luis Alvarado
fonte
Se o Firefox não respeitar o hostsarquivo da máquina local (ou seja, se o problema persistir mesmo depois que o domínio com o wwwsubdomínio for adicionado e mesmo após a atualização da página), recomendo reportar isso como um bug. (Eu não tenho certeza o que seria um erro em , desde Firefox presumivelmente usa instalações de resolução de DNS do sistema operacional, o que fazer , ou é suposto, respeitá-lo. Mas você pode denunciá-lo contra firefoxno Ubuntu e, em seguida, solução de problemas adicional poderia provavelmente redirecionar-lo de lá).
Elias Kagan
@EliahKagan Também depende de onde e como está o host / domínio. Alguns sites oferecem a opção de habilitar o uso do subdomínio www e alguns não o têm pré-configurado; portanto, quando alguém tentou acessar o site www.eliah.com, ele não funciona, mas o eliah.com funciona.
Luis Alvarado
Sim, claro. Não estou dizendo que isso www.foo.netfuncione apenas porque foo.netfunciona. Em vez disso, se foo.nete www.foo.netsão ambos definidos para 127.0.0.1em /etc/hosts, digitando foo.netna barra de endereço de um navegador web e pressionar enter deve resultar no navegador tentar abrir uma conexão com 127.0.0.1:80. Caso contrário, há um bug em algum lugar.
Eliah Kagan
@EliahKagan - Ah! sim Sim claro. Nesse caso, se não funcionar, o computador é possuído por um demônio. Nós precisaríamos de um exorcista e muita água benta ou um diagnóstico melhor do problema.
Luis Alvarado
Exorcista + água benta e melhor diagnóstico parecem ser o curso mais prudente. :)
Elias Kagan
7

Eu sei que esse tópico tem um ano, mas me deparei com ele procurando as respostas para o mesmo problema. Finalmente encontrei uma solução! Acontece que o /etc/hostsarquivo está sendo completamente ignorado pelo DNS. Para mudar isso, você deve editar /etc/nsswitch.confe incluir filesem hosts. Exemplo abaixo:

passwd:         compat
group:          compat
shadow:         compat

hosts:          dns files myhostname <-- this line here.
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

Isso garantirá que o /etc/hostsarquivo seja incluído na verificação da resolução de nomes. Ele primeiro verificará o DNS e depois o hostsarquivo. Tenho certeza de que o OP não precisa mais dessas informações, mas isso ainda é bom para quem procura respostas para esse problema.

Você também deve reiniciar para que isso entre em vigor

Sam Chonburi
fonte
Eu tenho "arquivos mdns4_minimal [NOTFOUND = return] dns mdns4" lá no Ubuntu 12.04, mas o / etc / hosts ainda não funciona ... parece que estou tendo um problema diferente.
Shnatsel
Você pode colar o código completo?
Sam Chonburi
Aqui está o arquivo de configuração completo: pastebin.com/hDBGrrwn Suponho que esse seja o padrão no Ubuntu 12.04
Shnatsel 29/13
Tudo parece certo. O que você está tentando fazer?
Sam Chonburi
Não entendi: o que devo adicionar nesta linha? /etc/hosts? hosts? Ou o que?
Hi-Angel
2

Eu acredito que etc/hostsé usado em muito nível de amante na pilha de software de rede do que no próprio navegador. Ou seja, as alterações nesse arquivo devem afetar qualquer navegador.

O que você vê pode ser resultado do Firefox armazenando em cache as entradas DNS - ou seja, você abriu o site no Firefox, o Firefox lembra o endereço IP correspondente ao domínio adobe.com, você modificou /etc/hostse recarregou a página - o Firefox não emite uma nova consulta DNS e usa os dados em cache. Em seguida, você abre o Chrome, ele faz uma nova consulta DNS e usa o que você digitou /etc/hostscomo o endereço IP do adobe.com

Reiniciar o Firefox deve corrigir o problema.

Sergey
fonte
2

Todas as respostas são ótimas, mas a maneira mais curta de corrigi-las é:

depois de modificar o / etc / hosts (e possivelmente reiniciar o Firefox), recarregue a guia problemática com Ctrl+Shift+R. Ele ignorará qualquer tipo de cache que o Firefox possa ter.

Luka Ramishvili
fonte
1

Meu problema era que eu tinha várias entradas para o mesmo nome de domínio. O sistema viu apenas a primeira ocorrência.

127.0.0.1 domain1.com domain2.com domain3.com # <-- WENT UNNOTICED
# .
# .
192.168.1.21 domain1.com # <-- DOESN'T WORK
Kaushik Sv
fonte
0

Você poderia tentar:

  1. Edite o arquivo / etc / hosts.
  2. Adicionar próximas linhas

     # /etc/hosts
     127.0.0.1  localhost
     127.0.1.1  myhost01
     127.0.1.2  myhost02
    
OleksDovz
fonte
0

no Ubuntu 14.04, alterando o arquivo / etc / hosts para que apenas um host por linha funcionasse para mim, lutei por horas trabalhando com um host de host IP, depois mudei para host IP em cada linha e funcionou>. <

Michael
fonte
0

Eu tive esse mesmo problema em várias versões do Ubuntu. O mais recente elevou sua cabeça feia em 17.04 e 16.04. Eu descobri que tinha que formatar o arquivo hosts assim:

127.0.0.1 localhost

127.0.0.1 www.facebook.com facebook.com

ou seja, você precisa colocar na url o www e depois novamente sem. Eu não tenho idéia do por que isso funciona. Simplesmente salve o arquivo e faça ping no URL como em:

ping www.facebook.com

e deve resolver o endereço de loopback ou qualquer outro endereço que você desejar.eg:

80.82.xxx.xxx www.example.com example.com

Trabalhou para mim.

Jules
fonte