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

Distribuer adresses et noms aux postes (DHCP, DNS)

Après cette leçon: Je peux expliquer comment un poste obtient une adresse et un nom.

Leçon de 55 min6 commandesLab DHCP et DNS : configurer dnsmasq pour un petit réseau dans le navigateur

On branche et tout marche

Un nouveau salarié branche son portable sur la prise murale et ouvre l'intranet. Personne n'a tapé d'adresse. Personne n'a choisi de serveur.

Deux petits services ont fait cela en moins d'une seconde. L'un prête une adresse au portable. L'autre transforme un nom en nombre.

Cette leçon ouvre les deux.

À la fin de cette leçon

Remarque

Je peux expliquer comment un poste obtient une adresse et un nom.

Mots clés

MotCe que ça veut direExemple
DHCPle service qui prête des adresses aux appareils qui en demandent
Bailune adresse prêtée pour une durée fixée12 heures
Plageles adresses qu'un serveur DHCP a le droit de prêter10.0.10.100 à 10.0.10.150
Réservationune adresse fixe donnée toujours au même appareil, reconnu à son adresse matérielle
DNSle service qui transforme un nom en adresse
Enregistrementune information qu'un serveur DNS détient sur un nom

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

Un appareil sans adresse en demande une

Un appareil neuf n'a pas encore d'adresse, et il ne sait pas où se trouve le serveur. Il envoie donc son premier message à tous les appareils du lien : c'est une diffusion.

Un serveur DHCP répond. Les deux échangent en quatre étapes, que l'on retient par Discover, Offer, Request et Acknowledge.

Exemple : les quatre étapes

ÉtapeEnvoyée parCe qu'elle dit
DiscoverL'appareilY a-t-il un serveur DHCP ici ?
OfferLe serveurVous pouvez avoir cette adresse
RequestL'appareilJe voudrais cette adresse, s'il vous plaît
AcknowledgeLe serveurElle est à vous jusqu'à cette heure

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

Rencontrer le serveur et deux clients

Commande
dnslab status

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Faire demander une adresse à pc1

Commande
sudo dnslab renew pc1

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Ce que disent les réponses

Le premier Run montre que server a une adresse et que pc1 et pc2 n'en ont pas.

Le second Run attend environ trois secondes. Il affiche alors pc1 was given nothing: no DHCPOFFER came back. Le Discover est parti, et aucun Offer n'est revenu.

Une adresse est prêtée, pas donnée

Un bail dure un temps fixé. L'appareil doit demander son renouvellement avant la fin. S'il disparaît, l'adresse retourne dans la réserve.

La plage est la réserve où le serveur peut puiser. Une réservation lie une adresse fixe à une adresse matérielle : une imprimante reçoit toujours la même.

Exemple : une ligne du fichier de baux

ChampExempleSens
Expiration1761300000La fin du bail, en secondes depuis 1970. Zéro veut dire jamais
Adresse matérielle02:00:00:00:00:0aQui détient le bail
Adresse10.0.10.101Ce qui a été prêté
Nomcaisse1Le nom donné par l'appareil, ou une étoile
Identifiant client01:02:00:00:00:00:0aUne seconde étiquette, ou une étoile

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

Lire l'adresse matérielle d'un client

Commande
sudo ip netns exec pc1 ip -o link show eth0

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Lire le fichier de configuration du serveur

Commande
cat /etc/dnsmasq.d/lab.conf

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Pourquoi le serveur ne prête rien

Le premier Run affiche une ligne qui contient link/ether 02:00:00:00:00:01. Cette adresse matérielle permet au serveur de distinguer pc1 de pc2.

Le second Run affiche trois lignes de commentaires et rien d'autre. Sans plage, dnsmasq n'a aucune adresse à prêter.

Le DNS transforme un nom en adresse

Les gens retiennent des noms. Les routeurs ont besoin de nombres. Un serveur DNS détient des enregistrements qui relient les deux.

Un appareil interroge son serveur DNS. Le serveur répond avec ses enregistrements, ou interroge un autre serveur et garde la réponse un moment.

C'est le DHCP qui dit à l'appareil quel serveur DNS utiliser.

Exemple : les types d'enregistrement courants

TypeIl répond àExemple
AQuelle adresse IPv4 porte ce nom ?fichiers.lab vaut 10.0.10.20
AAAAQuelle adresse IPv6 porte ce nom ?fichiers.lab vaut un long nombre hexadécimal
CNAMECe nom est-il un autre nom ?www est le même que boutique
MXQuel serveur reçoit le courrier de ce domaine ?courrier.exemple.org
PTRQuel nom porte cette adresse ?10.0.10.20 est fichiers.lab
TXTQuelle note est jointe ?Un court texte

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

Demander un nom au serveur

Commande
sudo ip netns exec server dig +noall +comments @10.0.10.1 files.lab

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Lire la liste des DNS de pc1

Commande
cat /etc/netns/pc1/resolv.conf

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Une erreur fréquente

Attention

On croit souvent que DHCP et DNS sont un seul service. Ils font deux métiers. Le DHCP prête des adresses aux appareils. Le DNS répond à des questions sur des noms. Un même programme peut faire les deux, comme dnsmasq ici, et cela reste deux métiers.

Pour aller plus loin : un bail renouvelé

Une fois votre configuration validée dans le labo, lancez sudo dnslab renew pc1 deux fois, à une minute d'intervalle.

À chaque fois, lisez le fichier de baux du serveur avec sudo cat /run/dnslab/dnsmasq.leases. pc1 reçoit-il la même adresse ? Qu'est-ce qui a changé dans sa ligne, et pourquoi ? Passez le fichier à votre baux_actifs pour vérifier.

À propos de ce labo et de sa source: Lab DHCP et DNS : configurer dnsmasq pour un petit réseau dans le navigateur

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.