Le Wi-Fi de la médiathèque
Tu arrives à la médiathèque et tu choisis son Wi-Fi. En une seconde, ton téléphone a une adresse. Tu tapes le nom d’un site, et la page s’ouvre.
Tu n’as tapé aucun chiffre. Deux petits services ont tout fait pour toi.
Le premier prête une adresse à ton téléphone. Le second transforme un nom en adresse.
À la fin de cette leçon
Remarque
Je peux expliquer comment un appareil reçoit une adresse et trouve un nom.
Mots clés
| Mot | Ce que ça veut dire | Exemple |
|---|---|---|
| DHCP | le service qui prête des adresses aux appareils qui en demandent | |
| Bail | une adresse prêtée pour une durée fixée | |
| Diffusion | un message envoyé à tous les appareils du réseau | |
| Adresse matérielle | le numéro fixe d’une carte réseau, aussi appelé adresse MAC | 02:00:00:00:00:01 |
| DNS | le service qui transforme un nom en adresse | |
| Enregistrement | une information qu’un serveur DNS garde sur un nom |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Un nouvel appareil doit demander
Un appareil qui vient d’arriver n’a pas d’adresse. Il ne sait pas non plus où se trouve le serveur DHCP.
Alors il envoie une diffusion, un message pour tout le monde. Le serveur DHCP l’entend et propose une adresse.
Il faut quatre messages, qu’on résume souvent par DORA : Discover, Offer, Request, Acknowledge.
Exemple travaillé : les quatre messages
| Message | Envoyé par | Ce qu’il veut dire |
|---|---|---|
| Discover | Le téléphone | Y a-t-il un serveur DHCP ici ? |
| Offer | Le serveur | Tu peux prendre 192.168.5.101 |
| Request | Le téléphone | D’accord, je la prends |
| Acknowledge | Le serveur | Elle est à toi pour 8 heures |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Découvre le serveur et les deux clients
dnslab statusAffiché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.
Fais demander une adresse par pc1
sudo dnslab renew pc1Affiché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.
Personne n’a répondu à pc1
L’état montre server avec 10.0.10.1/24. Sous pc1 et pc2, aucune adresse.
La demande attend environ trois secondes. Puis elle dit pc1 was given nothing: no DHCPOFFER came back. Le Discover est parti, mais aucun Offer n’est revenu.
Lis l’adresse matérielle de pc1
sudo ip netns exec pc1 ip -o link show eth0Affiché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.
Lis l’adresse matérielle de pc2
sudo ip netns exec pc2 ip -o link show eth0Affiché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.
Lis le fichier de réglages du serveur
cat /etc/dnsmasq.d/lab.confAffiché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.
Deux cartes, un fichier vide
pc1 affiche link/ether 02:00:00:00:00:01 et pc2 link/ether 02:00:00:00:00:02. C’est ainsi qu’un serveur distingue deux clients sans adresse IP.
Le fichier de réglages ne contient que trois lignes de commentaire, en anglais. Le serveur n’a donc 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 garde des enregistrements qui relient les deux.
Ton téléphone demande à son serveur DNS : « quelle est l’adresse de ce nom ? ». Le serveur répond avec ses enregistrements, ou demande à un autre serveur.
C’est le DHCP qui dit à ton téléphone quel serveur DNS interroger.
Exemple travaillé : les enregistrements d’une boutique
| Type | Il répond à | Exemple |
|---|---|---|
| A | Quelle adresse porte ce nom ? | caisse.boutique est 192.168.5.10 |
| AAAA | Quelle adresse IPv6 porte ce nom ? | Un long nombre avec des deux-points |
| CNAME | Ce nom est-il un autre nom ? | promo.boutique renvoie vers site.boutique |
| MX | Quel serveur reçoit le courrier ? | courrier.boutique |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Demande un nom au serveur
sudo ip netns exec server dig +noall +comments @10.0.10.1 files.labAffiché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.
Le serveur a refusé
La réponse contient status: REFUSED et ANSWER: 0. Le serveur n’a aucun enregistrement pour ce nom, et il ne peut pas joindre un autre serveur pour demander.
Écrire les enregistrements fait partie du lab. Après, la même question aura une réponse.
Une erreur fréquente
Attention
Beaucoup pensent que DHCP et DNS sont un seul service. Ce sont deux métiers. Le DHCP prête des adresses. Le DNS répond aux questions sur les noms. Un seul programme peut faire les deux, comme dnsmasq dans ce lab : ce sont quand même deux métiers.
Pour aller plus loin : un vrai bail
Quand ton lab marche, lis le vrai fichier des baux du serveur : sudo cat /run/dnslab/dnsmasq.leases.
Chaque ligne a plus de champs que dans ton devoir. Associe chaque champ à son sens. Lequel donne l’heure de fin du bail ?