Nslookup é um programa para consultar servidores de nomes de domínio da Internet . O Nslookup é muito bom para consultar servidores DNS, mas não fornece uma imagem completa quando se trata de resolução de nomes.
No Linux, a resolução de nomes é geralmente controlada pelo NSS, que é configurado por /etc/nsswitch.conf
. Especificamente, esta configuração contém uma hosts
entrada. Por exemplo:
hosts: files dns
Na entrada acima, você pode ver que a primeira coisa a ser consultada é files
seguida por dns
, o que significa que /etc/hosts
será consultado antes do DNS. Existem outras opções, incluindo LDAP , DNS Multicast e WINS .
Respondendo à sua pergunta diretamente, o SSH resolve o nome do host para um endereço IP usando o NSS (obtendo resultados de várias fontes) em que o nslookup consulta apenas o DNS.
Você pode verificar para qual IP NSS resolve um nome de host usando getent. Por exemplo, para resolver somename
:
getent hosts somename
Também no caso do SSH, você pode configurar informações específicas do host em /etc/ssh/ssh_config
e ~/.ssh/config
. Isso permitirá que você especifique um endereço IP para um nome de host, ignorando completamente a resolução de nomes .:
O seguinte diz ao SSH para usar 192.168.1.25
para dev
e dev.example.com
. O SSH usará este endereço, existindo ou não esses nomes como nomes DNS para um IP diferente:
# contents of $HOME/.ssh/config
Host dev dev.example.com
HostName 192.168.1.25
/etc/hosts
ou~/.ssh/config
?