hosts file

termo

redes

Um arquivo de texto local que mapeia nomes de host para endereços IP, herdeiro do HOSTS.TXT, a tabela única de hosts da rede antes do DNS.

Antes do DNS, todo host baixava por FTP o HOSTS.TXT do NIC, e a RFC 1034 cita o custo, que crescia com o quadrado do número de hosts, entre os motivos de o DNS existir. O arquivo local sobrevive como /etc/hosts e como o arquivo hosts do Windows, e uma entrada nele se sobrepõe ao DNS onde o sistema o consulta primeiro.

Ele começou em janeiro de 1974, quando a RFC 608 fez o NIC publicar um arquivo ASCII de nomes e endereços de hosts, o HOSTS.TXT, gerado de novo toda semana ou quando a situação pedisse. A RFC 952 (outubro de 1985), de Harrenstien, Stahl e Feinler, é a última especificação: entradas NET, GATEWAY, HOST e DOMAIN em campos separados por dois-pontos, baixadas por FTP do SRI-NIC ou pelo hostname server. A RFC 1034 registra por que acabou: a distribuição crescia com o quadrado do número de hosts, e as organizações tinham de esperar o NIC para que as mudanças delas ficassem visíveis.

O arquivo de hoje tem uma linha por endereço: o endereço, o nome canônico e depois os aliases, IPv4 ou IPv6, com # abrindo um comentário. No Windows ele fica em %WinDir%\System32\Drivers\Etc, em geral C:\Windows\System32\drivers\etc. Ser lido antes do DNS é questão de configuração, não de protocolo: em sistemas com glibc, a linha hosts do /etc/nsswitch.conf lista as fontes em ordem, files quer dizer /etc/hosts, e o próprio exemplo do manual põe dns primeiro.

Uma entrada esquecida mantém uma máquina num endereço antigo enquanto todas as outras seguem o DNS, e a Microsoft aponta um arquivo hosts modificado como causa de problemas de conectividade. O getent hosts resolve um nome pela ordem do nsswitch, como faz a biblioteca C, enquanto o dig pergunta direto aos servidores de nomes; quando os dois discordam, o arquivo ou a ordem do switch é o primeiro suspeito.

Também conhecido como: HOSTS.TXT, host table, /etc/hosts

← Todos os verbetes do glossário