o comando do host (e o comando nslookup) ignoram / etc / hosts, como você encontrou. Eles trabalham contra servidores de nomes (DNS), não arquivos locais.
certeza getent ahosts (host)
também usará / etc / hosts, como o ping.
Meu entendimento é que os comandos unix ping
e host
devem gerar o mesmo endereço IP dado o mesmo domínio. Se você olhar para esses dois comandos:
$ ping api.dev.myserver.com
PING api.dev.myserver.com (10.11.12.15): 56 data bytes
64 bytes from 10.11.12.15: icmp_seq=0 ttl=64 time=0.303 ms
(...)
$ host api.dev.myserver.com
api.dev.myserver.com has address 69.68.153.135
A primeira é minha VM de desenvolvimento local e mostra o IP desejável, conforme especificado em meu arquivo / etc / hosts. O segundo mostra a caixa ao vivo, contornando meu arquivo / etc / hosts. Eu limpei meu cache de DNS para verificar se isso não está causando a diferença.
Tags dns networking unix