Le “client” DHCP reçoit une adresse d’un serveur/service DHCP et l’enregistre alors dans le fichier /etc/resolv.conf
Ensuite, quand un programme sur le “client” à besoin de résoudre un nom de domaine en adresse IP genre toto.fr
, il fait appel à la fonction getaddrinfo()
et cela lui fait envoyer une requête DNS au serveur/service indiqué dans /etc/resolv.conf .
Le serveur/service DNS reçoit la requête sur une adresse IP, en UDP (ou TCP) sur le port 53. Suite à cela, si le service est assuré par unbound (qui demande un paramétrage préalable pour autoriser les connexions), unbound envoie une requête aux serveurs racines de l’Internet pour connaitre des adresses IP de serveurs pour la zone fr.
. Une fois la réponse reçue, unbound envoie une autre requête DNS à un serveur pour la zone fr.
et lui demandant l’info pour toto.fr.
. Une fois cette dernière réponse reçue, il la fait suivre à “client”.
Dès lors, le programme sur “client” n’a plus qu’à ouvrir une connexion réseau à destination de l’adresse IP 46.105.57.169 (oui, toto.fr
existe).
Toute cette partie par unbound est une résolution “récursive”. On peut aussi demander à unbound de juste faire suivre la demande à un autre serveur en demandant à celui-ci de faire le boulot. Par exemple à un serveur comme ceux de la FDN, ceux de Google, ceux de Cloudflare ou encore ceux de ton fournisseur d’accès à Internet.
Si tu souhaites pouvoir débogguer les éventuels problèmes de DNS, je te suggère d’utiliser l’utilitaire host
voir les utilitaires du paquet dnsutils
.
–
Anonymous Coward