Com base na minha própria experiência e no que encontrei no Google, aqui estão algumas coisas para tentar:
1. Você verificou se funciona corretamente?
As alterações nos hosts devem entrar em vigor imediatamente, mas o Windows armazena em cache os dados da resolução de nomes; portanto, por algum tempo, os registros antigos podem ser usados. Abra uma linha de comando (Windows + R cmd,, Enter) e digite:
ipconfig /flushdns
Para soltar os dados antigos. Para verificar se funciona, use (supondo que você tenha uma entrada ipv4 em seus hosts para www.example.com ou uma entrada ipv6 em seus hosts para ipv6.example.com):
ping www.example.com -n 1
ping -6 ipv6.example.com -n 1
E veja se ele usa o IP correto. Se sim, o arquivo do seu host está bom e o problema está em outro lugar.
Além disso, você pode redefinir o cache do NetBios com (abra o console como administrador ou ele falhará):
nbtstat -R
Você pode verificar os dados atuais no cache DNS com:
ipconfig /displaydns | more
2. Noções básicas
- O arquivo do seu host está nomeado corretamente? Deve ser
hostse não host, etc.
- A extensão está correta? Ele não deve ter extensão (
hostsnão hosts.txt) - tenha cuidado se você configurou janelas para ocultar extensões conhecidas, verifique as propriedades para ter certeza: O tipo de arquivo correto do host será exibido apenas como "Arquivo".
- Você seguiu a sintaxe correta ? Você acidentalmente prefixou as linhas com um hash (
#) que indica comentários?
- Você cuidou de todas as variantes (
www.example.come example.com- o mais seguro é adicionar apenas as duas)?
3. Espaço em branco
O formato para cada linha é IP address, em seguida, uma guia horizontal (código de escape \t, ASCII HT, hex 0x09) ou um único espaço (hex 0x20), depois o nome do host, ou seja. www.example.com, finalmente, um retorno de carro seguido de um avanço de linha (códigos de escape \r\n, ASCII CRLF, hex 0x0d 0x0a).
Entradas de amostra, usando imagens de controle Unicode para indicar caracteres de controle. (Não copie e cole-os no arquivo hosts!)
192.0.2.1␉www.example.com␍␊
2001:db8:8:4::2␉ipv6.example.com␍␊
Os bytes individuais podem ser visualizados no Notepad ++ com o plug-in do editor hexadecimal . O Notepad ++ também mostrará caracteres especiais (Exibir -> Mostrar símbolo) para que você possa inspecionar facilmente o número e o tipo de caracteres de espaço em branco.
Se você copiou e colou entradas de hosts de algum lugar, pode acabar com vários espaços. Em teoria, os hosts suportam vários espaços que separam as duas colunas, mas outra coisa é tentar se nada mais funcionar.
Para garantir a segurança, verifique se todas as linhas do seu arquivo hosts usam tabulações ou espaços, não as duas.
Por fim, encerre o arquivo com uma linha em branco.
4. Chave do Registro
Há uma chave do Registro especificando o local do arquivo hosts. Supostamente, o Windows não suporta realmente colocar o arquivo de hosts em outros locais, mas convém verificar. A chave é:
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath
A entrada deve ser:
%SystemRoot%\System32\drivers\etc
5. Permissões
Às vezes, há problemas com permissões no arquivo, nos atributos do arquivo e coisas semelhantes. Para recriar o arquivo com permissões padrão:
- Crie um novo arquivo de texto na sua área de trabalho.
- Copie e cole o conteúdo do seu arquivo atual de hosts neste arquivo no Bloco de Notas.
- Salve o novo arquivo de texto e renomeie-o para
hosts.
- Copie ( não mova ) o arquivo para o seu
%SystemRoot%\System32\drivers\etcdiretório e substitua o arquivo antigo.
O último ponto é importante: copiar funciona, mover não.
A Usersconta local deve poder ler o arquivo hosts . Para ter certeza (no Windows 7):
- Navegue para
%SystemRoot%\System32\drivers\etcno Windows Explorer.
- Se você não conseguir ver o
hostsarquivo, verifique se consegue ver arquivos ocultos e do sistema .
- Clique com o botão direito do mouse no
hostsarquivo e selecione Propertiesno menu de contexto.
- Na
hosts Propertiesjanela, clique na Securityguia.
- Examine a lista de nomes na
Group or user names:caixa. Se %COMPUTERNAME%\Usersestiver presente, clique nele para visualizar as permissões.
- Se
Usersnão estiver presente ou estiver presente, mas não tiver Readpermissão, clique em Edit....
- Se
Usersnão estiver presente, clique em Add..., digite Users, clique Check Namese clique em OK ou pressione Enter.
- Selecione
Userse verifique se Read & executeestá marcado na Allowcoluna. Clique OK. Se uma Windows Securitycaixa de alerta aparecer, escolha Yescontinuar.
- Clique em OK para fechar a
hosts Propertiesjanela.
- Vá para a seção 1 desta resposta e siga as instruções para verificar se está funcionando agora.
6. Codificação
O arquivo de hosts deve ser codificado em ANSI ou UTF-8 sem BOM. Você pode fazer isso com Arquivo -> Salvar como.
7. Proxies
Se você tiver um proxy configurado, ele poderá ignorar o arquivo hosts. A solução é não usar o proxy ou configurá-lo para não fazer isso.
Para verificar, vá para o Internet Explorer -> Opções da Internet -> Conexões -> Configurações da LAN. Se tudo estiver em branco e "Detectar configurações automaticamente" estiver marcado, você não está usando um proxy.
Se você conta com um proxy para acessar a Web e, portanto, não deseja desativá-lo, pode adicionar exceções acessando o Internet Explorer -> Opções da Internet -> Conexões -> Configurações da LAN -> Servidor Proxy / Avançado. Em seguida, adicione suas exceções à caixa de texto Exceções. Por exemplolocalhost;127.0.0.1;*.dev
8. endereço DNS
(Isso também pode resolver problemas de proxy.)
Vá para as propriedades das conexões de rede, configurações TCP / IP e altere o primeiro servidor DNS para 127.0.0.1(localhost). O segundo provavelmente deve ser o IP do seu DNS real.
Isso não é necessário para o arquivo hosts funcionar , mas pode ajudar no seu caso, se algo estiver configurado estranhamente.
9. endereços locais
Se você estiver usando uma entrada de domínio .local no formato myhost.local e ela for ignorada, tente o seguinte
x.x.x.x myhost.local www.myhost.local
mesmo que o www.myhost.local não exista. De alguma forma, o Windows não anexa seu grupo de trabalho ou domínio local.