FolioPierEstudos de TI

O arquivo hosts (Aplicação)

Nota 21 de 54 · 3 min de leitura
Nesta página
  1. O que é o arquivo hosts
  2. Quando o arquivo hosts é útil e quando vira armadilha
  3. O ping e o nslookup não concordam
  4. Como editar o arquivo hosts

Mesmo com o DNS correto, o Windows pode usar uma tradução local diferente para um nome. Essa tradução vem do arquivo hosts, e uma entrada esquecida nesse arquivo pode desviar a comunicação de um único computador.

O que é o arquivo hosts

O arquivo hosts é um arquivo de texto do próprio Windows, que fica no caminho C:\Windows\System32\drivers\etc\hosts. Cada linha do arquivo associa um endereço IP a um nome, separados por espaços:

  • 192.168.1.10 servidor-loja

As linhas que começam com o símbolo cerquilha são comentários e são ignoradas pelo sistema.

O Windows consulta o arquivo hosts antes de perguntar ao servidor DNS. Por isso, uma linha nesse arquivo tem prioridade sobre o DNS. Enquanto a linha existir, aquele computador usa o endereço indicado no arquivo, independentemente do que o DNS responder.

Quando o arquivo hosts é útil e quando vira armadilha

O arquivo hosts é útil em algumas situações:

  • em redes sem servidor DNS próprio, para dar nomes aos servidores;
  • em sistemas mais antigos, configurados com nomes de computadores;
  • em testes, para direcionar um nome a um servidor novo antes de alterar o DNS.

O mesmo recurso vira armadilha quando a entrada fica esquecida. Se o endereço do servidor muda e a linha antiga continua no arquivo, aquele nome passa a ser traduzido para o endereço errado indefinidamente, apenas no computador que tem a linha.

O ping e o nslookup não concordam

O comando nslookup ignora o arquivo hosts, porque consulta o servidor DNS diretamente. O ping, por outro lado, usa a tradução completa do Windows, que inclui o arquivo hosts. Essa diferença produz uma situação que parece impossível. Em um computador cujo arquivo hosts ainda tem uma linha antiga, criada quando o servidor da loja usava o endereço 192.168.1.73, o resultado é o seguinte:

  • ping servidor-loja: exibe o endereço 192.168.1.73, vindo do arquivo hosts;
  • nslookup servidor-loja: mostra o endereço 192.168.1.10, vindo do DNS.

Como editar o arquivo hosts

O arquivo hosts só pode ser alterado com permissão de administrador. Para editá-lo, o Bloco de Notas é aberto como administrador, e o arquivo é salvo sem extensão. Um arquivo salvo como hosts.txt é ignorado pelo Windows. Em geral, a alteração vale imediatamente, e o comando ipconfig /flushdns apaga respostas antigas que ainda estejam guardadas no cache de DNS.

No suporte

Quando o ping e o nslookup mostram endereços diferentes para o mesmo nome, convém abrir o arquivo hosts. Depois de uma troca de servidor, entradas antigas nesse arquivo são uma causa real do sintoma em que alguns computadores funcionam e outros não.

Para guardar

  • O arquivo hosts tem prioridade sobre o DNS.
  • O comando nslookup não lê o arquivo hosts, e o ping lê.
  • Entradas antigas no arquivo hosts mandam a comunicação para o endereço errado, apenas no computador que as contém.
  • O arquivo hosts é editado com permissão de administrador e salvo sem extensão.
O comando ping servidor-loja exibe o endereço 192.168.1.73, mas o comando nslookup servidor-loja mostra o endereço 192.168.1.10. Qual é a explicação mais provável?

Uma entrada antiga no arquivo hosts. O ping usa a tradução do Windows, que inclui o arquivo hosts, enquanto o nslookup consulta o servidor DNS diretamente.

Um técnico acrescentou uma linha ao arquivo hosts, mas o Windows continua ignorando a entrada. Qual é uma causa comum?

O arquivo pode ter sido salvo com a extensão txt, como hosts.txt, ou em outra pasta, por falta de permissão de administrador. O Windows lê apenas o arquivo chamado hosts, sem extensão, na pasta etc.

Publicado a partir do Obsidian · FolioPier