Nslookup est un programme pour interroger les serveurs de noms de domaine Internet . Nslookup est très bon pour interroger les serveurs DNS, mais il ne vous donne pas une image complète de la résolution de noms.
Sous Linux, la résolution des noms est le plus souvent contrôlée par NSS qui est configuré par /etc/nsswitch.conf
. Plus précisément, cette configuration contient une hosts
entrée. Par exemple:
hosts: files dns
Dans l'entrée ci-dessus, vous pouvez voir que la première chose à interroger est files
suivie de dns
, ce qui signifie qu'elle /etc/hosts
sera interrogée avant DNS. D'autres options existent, notamment LDAP , DNS multidiffusion et WINS .
En répondant directement à votre question, SSH résout le nom d'hôte en une adresse IP à l'aide de NSS (extraction des résultats de plusieurs sources) où nslookup interroge uniquement le DNS.
Vous pouvez vérifier quel IP NSS résout un nom d'hôte en utilisant getent. Par exemple pour résoudre somename
:
getent hosts somename
Aussi Dans le cas de SSH , vous pouvez configurer les informations spécifiques hôte /etc/ssh/ssh_config
et ~/.ssh/config
. Cela vous permettra même de spécifier une adresse IP pour un nom d'hôte, en ignorant entièrement la résolution de nom .:
Ce qui suit indique à SSH d'utiliser 192.168.1.25
à la fois dev
et dev.example.com
. SSH utilisera cette adresse, que ces noms existent ou non comme noms DNS pour une IP différente:
# contents of $HOME/.ssh/config
Host dev dev.example.com
HostName 192.168.1.25
/etc/hosts
ou~/.ssh/config
?