Bonjour,
J'ai configuré apache et compagnie sur un serveur web pour lequel j'ai acheté un nom de domaine. Mon fichier resolv.conf du serveur contient bien l'ip du serveur de dns, le fichier host du serveur contient bien les alias pointant sur l'ip du serveur
Je vais tenter d'expliquer le fonctionnement des fichiers /etc/hosts car il me semble qu'il y ait une confusion.
Revenons à la question de base : Comment traduit-on un nom de domaine (
www.example.net) en IP (192.0.10.20 ou 2001:db8::6:7:8:9) ?
1/ Majoritairement par le système DNS :
* Ta machine cliente va lire son /etc/resolv.conf pour prendre connaissance de son serveur DNS récursif (en général géré par le FAI)
* Elle envoie ensuite à ce serveur une requête pour demander à quelle IP correspond le nom de domaine
* En général ce serveur n'a pas la réponse, il va commencer une résolution en cascade jusqu'au serveur de la personne qui gère le domaine
* La personne qui gère le domaine a donc pris le soin, d'une part de faire tourner un serveur DNS (Bind, NSD, PowerDNS, Knot, etc) sur une machine, d'autre part de l'avoir annoncé à son bureau d'enregistrement de son domaine
* Une fois que la résolution aboutit, la machine cliente a obtenu l'IP du serveur à atteindre par le serveur DNS du propriétaire du domaine
* Vulgarisation un peu plus complète :
http://www.commentcamarche.net/contents ... de-domaine
2/ Alternativement par des règles de résolution statiques telles que le /etc/hosts :
* Dans ce cas, on a explicitement indiqué sur la machine cliente que pour une liste de noms de domaines définie, cette machine ne doit pas faire de résolution DNS mais doit utiliser les entrées définies statiquement
* Considérons que la machine client a une correspondance
www.example.net -> 192.0.10.20 dans ce fichier
* Lorsqu'elle va essayer d'accéder à la page, elle va détecter qu'elle possède déjà une entrée dans son /etc/hosts
* La machine cliente ne va donc faire aucune résolution DNS mais utiliser son entrée statique pour accéder au service
Notons que dans cette description :
* A aucun moment on n'a parlé du /etc/resolv.conf du serveur, ce fichier servant dans les cas où le serveur souhaite accéder à un domaine précis
* A aucun moment on n'a parlé du /etc/hosts du serveur, ce fichier servant également dans les cas où le serveur souhaite accéder à un domaine précis
* Les fichiers /etc/resolv.conf et /etc/hosts sont indépendants, dans la mesure où soit tu utilises l'un (résolution DNS), soit tu utilises l'autre (résolution statique)
Cordialement