Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Du nom à l’adresse : le DNS

La leçon entière est à lire ici. Créez un compte gratuit pour lancer ses commandes dans un laboratoire et passer ses quiz et ses exercices.

Leçon de 45 minAucune commande

Personne ne retient les numéros

Une cliente tape librairie-martin.example dans son navigateur. Elle ne connaît pas l'adresse IP du site, et elle n'a pas à la connaître.

Pourtant, son ordinateur a besoin de cette adresse pour envoyer sa demande. Un service fait le lien entre les deux, en quelques millisecondes. Quand il tombe en panne, plus aucun site ne s'ouvre, même si internet marche.

À la fin de cette leçon

Remarque

Je peux expliquer comment un nom devient une adresse.

Mots clés

MotCe que ça veut direExemple
Nom de domainele nom lisible d’un site ou d’un servicelibrairie-martin.example
DNSle service qui traduit un nom en adresse IP
Résolveurle serveur DNS qui cherche la réponse pour vous
Enregistrement Aune ligne qui relie un nom à une adresse IPv4
CNAMEune ligne qui dit qu’un nom est un alias d’un autre
TTLcombien de secondes une réponse peut être gardée300

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Le DNS est un annuaire

Le DNS fonctionne comme un annuaire. On lui donne un nom, il rend une adresse IP.

Chaque domaine a ses lignes, appelées enregistrements. Un enregistrement A relie un nom à une adresse IPv4. Un enregistrement AAAA fait la même chose pour IPv6. Un enregistrement MX dit quel serveur reçoit le courrier du domaine. Si le nom n'existe pas, la réponse est NXDOMAIN.

Exemple : la zone de la librairie

NomTypeValeur
librairie-martin.exampleA203.0.113.25
www.librairie-martin.exampleCNAMElibrairie-martin.example
librairie-martin.exampleMXmail.librairie-martin.example
mail.librairie-martin.exampleA203.0.113.30

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Essayez : chercher un nom

Code: python
# Un petit annuaire : chaque nom a son adresse
annuaire = {
    "intranet.agence.example": "192.168.1.20",
    "librairie-martin.example": "203.0.113.25",
    "mail.librairie-martin.example": "203.0.113.30",
}

nom = "librairie-martin.example"

if nom in annuaire:
    print(nom, "a pour adresse", annuaire[nom])
else:
    print(nom, ": nom inconnu (NXDOMAIN)")

# Remplacez le nom par "boutique-inconnue.example", puis cliquez sur Exécuter.

Le résolveur fait le travail

Votre poste ne cherche pas la réponse lui-même. Il demande à un résolveur, souvent la box ou un serveur de l'entreprise.

Si le résolveur ne connaît pas la réponse, il descend l'arbre des noms. Il interroge d'abord un serveur racine, puis celui de l'extension, puis celui du domaine. Ce dernier fait autorité : c'est lui qui détient la vraie réponse.

Vraie sortie de dig

Code: bash
$ dig www.librairie-martin.example

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41873
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;www.librairie-martin.example.     IN  A

;; ANSWER SECTION:
www.librairie-martin.example. 3600 IN  CNAME  librairie-martin.example.
librairie-martin.example.      300 IN  A      203.0.113.25

;; Query time: 18 msec
;; SERVER: 192.168.1.1#53(192.168.1.1) (UDP)

Les réponses sont gardées un moment

Le résolveur garde chaque réponse en mémoire, dans un cache. La durée est fixée par le TTL, en secondes.

Le poste a aussi sa propre liste, le fichier hosts. Il la lit avant de demander quoi que ce soit au DNS. Une ligne oubliée dans ce fichier explique parfois qu'un seul poste voie un vieux site.

Essayez : une liste locale de noms

Code: bash
# Un fichier hosts : la liste locale que le poste lit avant de demander au DNS
printf "127.0.0.1 localhost\n192.168.1.20 intranet.agence.example\n192.168.1.30 imprimante.agence.example\n" > hosts

# Quelle adresse a l'intranet ?
grep "intranet" hosts

# Remplacez intranet par imprimante, puis cliquez sur Exécuter.

Une erreur fréquente

Attention

Beaucoup pensent qu'un changement DNS se voit partout tout de suite. En réalité, chaque résolveur garde l'ancienne réponse jusqu'à la fin du TTL. Avec un TTL de 3600, certains clients voient l'ancienne adresse pendant une heure.

Exemple : un déménagement de serveur

HeureCe qui se passeAdresse vue par un client
9 h 00Le client demande le site, TTL de 3600 secondes203.0.113.25
9 h 10L'équipe change l'enregistrement A203.0.113.25, encore en cache
10 h 00Le cache expire, le résolveur redemande203.0.113.40

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Vous enseignez à une classe ? Proposez ce module à vos étudiants avec un guide de l'enseignant, des devoirs corrigés et un laboratoire pour chaque étudiant.