Nslookup es un programa para consultar servidores de nombres de dominio de Internet . Nslookup es muy bueno para consultar servidores DNS, pero no le da la imagen completa cuando se trata de la resolución de nombres.
En Linux resolución de nombres se controla con mayor frecuencia por NSS , que está configurado por /etc/nsswitch.conf
. Específicamente, esta configuración contiene una hosts
entrada. Por ejemplo:
hosts: files dns
En la entrada anterior puede ver que lo primero que debe consultarse es files
seguido dns
, lo que significa que /etc/hosts
se consultará antes de DNS. Existen otras opciones que incluyen LDAP , DNS de multidifusión y WINS .
Respondiendo su pregunta directamente, SSH resuelve el nombre de host a una dirección IP usando NSS (obteniendo resultados de múltiples fuentes) donde nslookup solo consulta el DNS.
Puede verificar para ver qué IP NSS resuelve un nombre de host para usar getent. Por ejemplo para resolver somename
:
getent hosts somename
Además, en el caso de SSH, puede configurar información específica del host en /etc/ssh/ssh_config
y ~/.ssh/config
. Esto incluso le permitirá especificar una dirección IP para un nombre de host, omitiendo por completo la resolución de nombre .:
Lo siguiente le dice a SSH que use 192.168.1.25
para ambos dev
y dev.example.com
. SSH usará esta dirección independientemente de si estos nombres existen o no como nombres DNS para una IP diferente:
# contents of $HOME/.ssh/config
Host dev dev.example.com
HostName 192.168.1.25
/etc/hosts
o~/.ssh/config
?