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
hosts
e não host
, etc.
- A extensão está correta? Ele não deve ter extensão (
hosts
nã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.com
e 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\etc
diretório e substitua o arquivo antigo.
O último ponto é importante: copiar funciona, mover não.
A Users
conta local deve poder ler o arquivo hosts . Para ter certeza (no Windows 7):
- Navegue para
%SystemRoot%\System32\drivers\etc
no Windows Explorer.
- Se você não conseguir ver o
hosts
arquivo, verifique se consegue ver arquivos ocultos e do sistema .
- Clique com o botão direito do mouse no
hosts
arquivo e selecione Properties
no menu de contexto.
- Na
hosts Properties
janela, clique na Security
guia.
- Examine a lista de nomes na
Group or user names:
caixa. Se %COMPUTERNAME%\Users
estiver presente, clique nele para visualizar as permissões.
- Se
Users
não estiver presente ou estiver presente, mas não tiver Read
permissão, clique em Edit...
.
- Se
Users
não estiver presente, clique em Add...
, digite Users
, clique Check Names
e clique em OK ou pressione Enter.
- Selecione
Users
e verifique se Read & execute
está marcado na Allow
coluna. Clique OK. Se uma Windows Security
caixa de alerta aparecer, escolha Yes
continuar.
- Clique em OK para fechar a
hosts Properties
janela.
- 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.