web-dev-qa-db-fra.com

Pourquoi ma résolution de nom frappe-t-elle le DNS même avec une entrée de fichier hôtes?

J'utilise Ubuntu 10.04.2 LTS Desktop. En tant que développeur Web, j'ai naturellement créé un "me.com" dans mon fichier /etc/hosts. Malheureusement, la résolution de mon nom est envoyée au DNS avant de vérifier d'abord l'entrée de mon hôte local et je ne comprends pas pourquoi.

Le résultat final est que si mon /etc/resolv.conf contient nameserver 127.0.0.1 dedans en premier, alors je reçois une réponse dans mon navigateur Web de me.com (local) en moins d’une seconde. Mais si je n'ai pas cette entrée, ma réponse prend parfois jusqu'à 5 secondes si mon FAI est un peu lent.

Le problème était si gênant que je devais réellement déposer une question ici (et quelqu'un l'a résolue) pour savoir comment insérer automatiquement cette entrée dans /etc/resolv.conf. Mais un des utilisateurs (@shellholic) ici hautement recommandé (et commenté avec moi à ce sujet avec moi) que je devrais déposer cette question.

Savez-vous pourquoi la résolution de nom de mon poste de travail doit d'abord frapper le serveur DNS avant d'appuyer sur mon entrée de fichier /etc/hosts? Pour le moment, j'utilise le truc de resolv.conf .

13
Volomike

Le fichier /etc/nsswitch.conf vous permettra de reconfigurer l'ordre de résolution des noms. Par défaut, le fichier hôte est le premier, puis le DNS configuré. Il pourrait y avoir plus d'options.

Le fichier /etc/hosts répertorie uniquement les adresses IP et les noms d’hôte (plusieurs noms pour une adresse IP si vous le souhaitez).

Le fichier /etc/resolv.conf répertorie les domaines de recherche par défaut, ainsi que les serveurs de noms à utiliser dans l'ordre.

13
jfmessier