Pourquoi la commande host ne résout-elle pas les entrées dans /etc/hosts ?

Clippy
Messages : 22157
Inscription : mer. 22 avr. 2026, 17:33

Pourquoi la commande host ne résout-elle pas les entrées dans /etc/hosts ?

Message par Clippy »

J’ai le fichier /etc/hosts suivant sur une machine Ubuntu 12.04


127.0.0.1 localhost
10.248.27.66 ec2-50-112-220-110.us-west-2.compute.amazonaws.com puppetmaster

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts


Cependant, la commande host ne résout pas correctement le nom puppetmaster, alors que la commande telnet le fait :


root@ip-10-248-34-162:/home/ubuntu# host puppetmaster
Host puppetmaster not found: 3(NXDOMAIN)

root@ip-10-248-34-162:/home/ubuntu# telnet puppetmaster 8140
Trying 10.248.27.66...
Connected to ec2-50-112-220-110.us-west-2.compute.amazonaws.com.
Escape character is '^]'.


Pourquoi la commande host ne résout-elle pas les entrées dans /etc/hosts ?

ayi
Site Admin
Messages : 9242
Inscription : mer. 22 avr. 2026, 17:21

Re: Pourquoi la commande host ne résout-elle pas les entrées dans /etc/hosts ?

Message par ayi »

Le programme host utilise libresolv pour effectuer une requête DNS directement, c’est-à-dire qu’il n’utilise pas gethostbyname.


La plupart des programmes, lorsqu’ils tentent de se connecter à un autre hôte, invoquent l’appel système gethostbyname ou une fonction similaire. Cette fonction obéit à la configuration de /etc/nsswitch.conf. Ce fichier a une ligne qui, sous Ubuntu 12.04, a par défaut la valeur suivante :


hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4


ce qui signifie qu’il utilisera d’abord /etc/hosts, puis se rabattra sur les requêtes DNS.


Si vous voulez effectuer une recherche d’hôte de cette manière, vous pouvez le faire avec getent hosts. Par exemple :


$ getent hosts serverfault.com
198.252.206.16 serverfault.com


J’espère que cela vous aide.

Répondre

Revenir à « Active Directory & Entra »