Table des matières

Notions de base

Découverte du serveur DNS utilisé

Donc, notre fournisseur d'accès nous propose une ou plusieurs adresses de serveurs DNS récursifs, et notre système va les récupérer lors de sa configuration IP. Pour connaître ces adresses, il faut savoir retrouver sa configuration. La façon de faire varie suivant le système d'exploitation utilisé.

Pour les distributions Debian GNU/Linux et dérivées, l'information se trouve généralement dans le fichier /etc/resolv.conf. Par exemple :

cat /etc/resolv.conf

nameserver 212.27.40.240
nameserver 212.27.40.241
Capture d'écran KDE Plasma Mais sur du matériel compatible IPv6, nous pourrions trouver des choses plus modernes comme:
cat /etc/resolv.conf 

Generated by NetworkManager
nameserver 2a01:e0a:875:b1d2::1
nameserver fd0f:ee:b0::1

Le contenu de ce fichier peut être dynamiquement mis à jour de diverses manières. Sur un poste sans interface graphique ce pourra être l'outil dnsconf qui collecte les informations fournies par le client DHCP, la découverte des voisins en IPv6, systemd-resolved…

Avec une station graphique qui utilise network-manager comme dans l'exemple, c'est encore plus opaque et plus simple pour l'utilisateur. Quoi qu'il en soit, sur un hôte correctement configuré, le système doit avoir des informations réputées valides sur le ou les serveurs à interroger.

Test de résolution

Dans les systèmes GNU/Linux, la commande nslookup n'est plus maintenue. Les outils à retenir sont host et dig, suivant les besoins.

host www.debian.org

www.debian.org has address 194.177.211.216
www.debian.org has address 130.89.148.77
www.debian.org has IPv6 address 2001:67c:2564:a119::77
www.debian.org has IPv6 address 2001:648:2ffc:deb:216:61ff:fe2b:6138

Quel que soit le service que nous utilisons sur un réseau, navigateur web, client de messagerie, IRC, dès lors que nous identifions le serveur interrogé par son nom, le système devra effectuer une résolution de ce nom, de manière à trouver l'adresse IP correspondante, et exploitera les services du serveur DNS, comme nous l'avons fait avec host.

Analyse d'un FQDN

Prenons un exemple un peu compliqué, comme www.education.gouv.fr ; en toute rigueur, il serait plus correct d'écrire www.education.gouv.fr. (avec un point final, subtile différence).

FQDN

Ainsi, un serveur (un hôte), ici www appartiendrait à un sous-domaine (education) du domaine gouv, lui-même étant un élément du domaine générique fr (la réalité n'est hélas pas si simple, comme l'avenir va le montrer). Notons qu'il serait plus judicieux de parler d'un nœud ; en effet, un hôte peut disposer de plusieurs interfaces réseau et donc disposer de plusieurs adresses IP.

Nous avons donc une structure arborescente dont l'origine est le fameux point final, que l'on omet généralement, mais qui existe bel et bien et qui représente la racine de l'arbre. Nous pouvons d'ailleurs utiliser la commande host comme ceci sur un exemple simple (relevé le 13/03/2025):

host www.education.gouv.fr.

www.education.gouv.fr is an alias for education.gouv.fr.cdn.cloudflare.net.
education.gouv.fr.cdn.cloudflare.net has address 141.101.90.106
education.gouv.fr.cdn.cloudflare.net has address 141.101.90.104
education.gouv.fr.cdn.cloudflare.net has address 141.101.90.105
education.gouv.fr.cdn.cloudflare.net has address 141.101.90.107
education.gouv.fr.cdn.cloudflare.net has IPv6 address 2a06:98c1:3200::90:81
education.gouv.fr.cdn.cloudflare.net has IPv6 address 2a06:98c1:3200::90:82
education.gouv.fr.cdn.cloudflare.net has IPv6 address 2a06:98c1:3200::90:83
education.gouv.fr.cdn.cloudflare.net has IPv6 address 2a06:98c1:3200::90:80

Ceci s'appelle «lever un lièvre»…

www.education.gouv.fr n'est donc pas un «vrai nom», mais simplement un synonyme de education.gouv.fr.cdn.cloudflare.net.. Encore une remarque à se mettre sous le coude. En effet, DNS prévoit qu'un hôte (un nœud) puisse s'appeler de diverses manières, parfois très différentes comme c'est le cas ici. L'éclaircissement viendra sans doute dans la suite de ce chapitre.

D'autre part, 4 adresses IPv4 et autant d'IPv6 pour le même FQDN… Le «round-robin» a encore frappé !

Enfin, Cloudflare, une entreprise américaine pour héberger un site du gouvernement français…

Pourquoi « serveur récursif » ?

Dans la suite de ce chapitre, nous allons voir d'un peu plus près comment un serveur DNS est structuré et comment l'architecture arborescente d'un FQDN est en fait l'image d'une arborescence de serveurs DNS spécialisés.

A priori, un serveur DNS récursif n'a par lui-même aucune réponse, du moins aucune réponse « qui fait autorité ». en revanche il sait exactement comment rechercher qui et dans quel ordre il faut interroger pour obtenir une réponse « qui fait autorité ». Comme en informatique, la paresse et la mémoire sont deux qualités fondamentales, notre serveur DNS récursif va conserver dans sa mémoire pendant « un certain temps » les résultats de recherche qu'il a obtenus et s'en servira en priorité, pour avoir moins de travail sur les requêtes suivantes. Nous étudierons tout ceci plus loin, mais cette fonctionnalité explique déjà la réponse « ne faisant pas autorité » vue plus haut. En effet, lorsqu'un serveur DNS sert une réponse issue de son cache, il signale de cette manière qu'elle ne vient pas d'un serveur de référence.