ti-enxame.com

hospeda o arquivo ignorado, como solucionar problemas?

O arquivo hosts nos computadores Windows é usado para vincular determinadas cadeias de nomes a endereços IP específicos para substituir outros métodos de resolução de nomes.

Geralmente, decide-se alterar o arquivo hosts e descobre que as alterações se recusam a entrar em vigor ou que mesmo as entradas antigas do arquivo hosts são ignoradas a partir de então. Vários erros de "pegadinha" podem causar isso, e pode ser frustrante descobrir qual deles.

Quando confrontado com o problema do Windows ignorando um arquivo de hosts, o que é um protocolo abrangente de solução de problemas que pode ser seguido?


Esta pergunta possui duplicatas no SO, como arquivo HOSTS sendo ignorado

No entanto, eles tendem a lidar com um caso específico e, uma vez que seja descoberto qualquer erro do OP, a discussão termina. Se você não cometeu o mesmo erro, essa discussão não é muito útil. Por isso, pensei que seria mais útil ter um protocolo geral para resolver todos os problemas relacionados a hosts que cobririam todos os casos .

158
Superbest

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 de 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, seu arquivo de hosts 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 tiver configurado 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 o 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 E, em seguida, uma guia horizontal (código de escape \t, ASCII HT, hex 0x09) ou um único espaço (hexadecimal 0x20), depois o nome do host, ou seja, www.example.com e, 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 em Notepad ++ com o plugin 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:

  1. Crie um novo arquivo de texto na sua área de trabalho.
  2. Copie e cole o conteúdo do seu arquivo atual de hosts neste arquivo no Bloco de Notas.
  3. Salve o novo arquivo de texto e renomeie-o para hosts.
  4. Copie ( não mova ) o arquivo para o diretório %SystemRoot%\System32\drivers\etc E substitua o arquivo antigo.

O último ponto é importante: copiar funciona, mover não.

A conta local Users deve poder ler o arquivo hosts . Para ter certeza (no Windows 7):

  1. Navegue para %SystemRoot%\System32\drivers\etc No Windows Explorer.
  2. Se você não conseguir ver o arquivo hosts, verifique se você pode ver os arquivos ocultos e do sistema .
  3. Clique com o botão direito do mouse no arquivo hosts e selecione Properties no menu de contexto.
  4. Na janela hosts Properties, Clique na guia Security.
  5. Examine a lista de nomes na caixa Group or user names:. Se %COMPUTERNAME%\Users Estiver presente, clique nele para ver as permissões.
  6. Se Users não estiver presente, ou estiver presente, mas não tiver a permissão Read, clique em Edit....
  7. Se Users não estiver presente, clique em Add..., Digite Users, clique em Check Names E clique em OK ou pressione Enter.
  8. Selecione Users e verifique se Read & execute Está marcado na coluna Allow. Clique OK. Se uma caixa de alerta Windows Security Aparecer, escolha Yes para continuar.
  9. Clique em OK para fechar a janela hosts Properties.
  10. Vá para a seção 1 desta resposta e siga as instruções para verificar se está funcionando agora.

6. Codificação

O arquivo 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, acesse 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 exemplo. localhost;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 (Host local). 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.

229
Superbest

Certifique-se de colocar o endereço ip primeiro e depois o "domínio" assim:

127.0.0.1   bo.dev
127.0.0.1   www.bo.dev
16
Gustaf

Por favor, adicione a verificação de permissões de arquivo. Eu descobri que, embora eu tivesse direitos de administrador local no computador e, portanto, nos hosts. Não foi até adicionar usuários locais às permissões de arquivo de hosts com Leitura e Leitura e Execução e, em seguida, um ipconfig/flushdns que os hosts se tornaram ativos.

11
David Siviour

Nos meus casos, tentei o arquivo criado pelo Windows 7: C:\Windows\System32\drivers\etc\hosts.ics.

hosts.ics:

# This file has been automatically generated for use by Microsoft Internet
# Connection Sharing. It contains the mappings of IP addresses to Host names
# for the home network. Please do not make changes to the HOSTS.ICS file.
# Any changes may result in a loss of connectivity between machines on the
# local network.

Como resultado, o Windows ignora as configurações em C:\Windows\System32\drivers\etc\hosts e as usa em hosts.ics.

7
Unick

Eu estava enfrentando o mesmo problema, as entradas de arquivo de hosts são ignoradas. Eu tentei de tudo neste e em muitos outros tópicos sem sorte. Imaginei que iria postar o que funcionou para mim, caso alguém se depare com isso.

  1. Abra o Windows Explorer como administrador
  2. EXCLUIR o arquivo hosts
  3. Abra o bloco de notas como administrador e crie um novo arquivo de hosts
  4. Comece do zero e adicione entradas.
  5. Verifique se o arquivo hosts não possui uma extensão .txt

Nota: basta abrir o arquivo hosts e excluir o conteúdo, verificar se o arquivo é 0kb e adicioná-lo novamente não funcionou. Suspeito de um problema de permissão no arquivo.

3
PSA4444

Um problema esquecido na discussão acima são nomes não qualificados (nomes que não incluem um ponto final) no arquivo hosts. Suas configurações de rede podem entrar nesse ponto e adicionar automaticamente seu próprio domínio ao final de um domínio não qualificado. Consequentemente, o nome pode não ser resolvido ou, pior ainda, ser resolvido para uma máquina completamente diferente.

1
user287479

Verifique se você inseriu os valores como IP NAME, não como NAME IP.

Isso pode acontecer se houver, digamos, apenas uma entrada no arquivo e quando você ignora o texto do comentário.

1
knb

Passaram horas, provavelmente dias nisso.

A segurança do IBM Trusteer Endpoint Rapport pode causar esse problema.

Eu adicionei mysite.com à sua lista de sites confiáveis.

Penso que, como parte de sua segurança, evita que malware ou vírus o desviem para sites alternativos.

Tomou o site da lista de sites confiáveis ​​e ele não verifica e "corrige" o desvio de arquivos dos meus hosts.

Espero que ajude alguém a resolver seu problema.

1
Bird on the Hand

O arquivo Meus hosts é ignorado até que eu tenha uma conexão de rede no meu laptop (Windows 7). Depois que eu me conecto a uma rede, tudo funciona como esperado. Obviamente, sem uma rede, não consigo executar ping nos hosts, etc., mas ainda esperava que o Windows obtivesse seus endereços IP no arquivo hosts. Não faz. Mesmo depois de desconectado, ele ainda procura os endereços OK, mas entre reiniciar o computador e conectar-se primeiro a uma rede, ele ignora o arquivo de hosts.

(Aliás, tabulações, espaços e nenhum retorno de carro são todos irrelevantes, até onde eu sei).

0
Denis Howe

No meu caso, o problema era que eu estava copiando um arquivo de hosts de um diretório criptografado e substituindo os etc/hosts por isso. Eu tive que examinar as propriedades e desmarcar a caixa de seleção "criptografar arquivo".

0
Janos

No Windows, verifique se HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath está apontado para o diretório do arquivo de hosts.

0
Geln Yang