Court-circuiter la vérification dns

De Linux Server Wiki
Aller à la navigation Aller à la recherche

Dans certains cas, il peut s'avérer utile de pouvoir forcer l'ip associée à un hostname.

plop

Pour les vieux systèmes

Vérifiez que votre fichier /etc/host.conf contient les lignes suivantes :

order hosts,bind
multi on

La ligne order n'est utile que pour les anciennes versions des librairies C. Ici, la recherche d'hostname se fera d'abord localement (dans le fichier /etc/hosts) puis sur le serveur dns.
multi on spécifie qu'il faut renvoyer toutes les ips associée à l'hostname demandé dans le fichier /etc/hosts et non pas juste la première.

Pour les systèmes plus récents

Pour les systèmes plus récents, c'est le fichier /etc/resolv.conf qu'il faut modifier. Normalement, votre distribution y ajoute automatiquement les serveurs dns à utiliser. Par exemple :

# Generated by NetworkManager
nameserver 192.168.1.1

Pour forcer en priorité la résolution locale (via le fichier /etc/hosts d'un hostname donné il faut ajouter une ligne search dans ce fichier.

search csnu.org

Ainsi, toutes les demandes de résolution d'hostname pour *.csnu.org passeront d'abord par une analyse du fichier /etc/hosts puis seulement par une résolution dns classique.

Modification du fichier /etc/hosts

Il ne reste plus qu'à modifier le fichier /etc/hosts :

87.98.139.238 www.csnu.org

Désormais, si vous essayez de vous connecter avec votre navigateur web sur www.csnu.org, c'est l'ip 87.98.139.238 qui sera chargée.

Notez cependant que les commandes tels que host ou dig refusent de lire le fichier /etc/hosts.