Chapitre 1116 minDébutant
DNS et DHCP : les deux services de base
Par Josselyn C., prof de BTS SIO. Mis à jour le .
À la fin de ce chapitre, tu sauras
- expliquer l'arborescence des noms de domaine et la résolution d'un nom ;
- lire les principaux enregistrements DNS et interroger un serveur ;
- décrire l'échange DORA du DHCP et les paramètres distribués ;
- gérer le bail, les réservations et le relais DHCP.
5 exercices corrigés1 schéma
Le DNS (Domain Name System) traduit un nom de domaine comme www.sorbier.example en adresse IP, grâce à une base de données répartie et hiérarchique ; le DHCP (Dynamic Host Configuration Protocol) attribue automatiquement à chaque machine son adresse IP, son masque, sa passerelle et ses serveurs DNS, en quatre messages appelés DORA. Ce chapitre explique le fonctionnement des deux services, les enregistrements DNS à connaître, le bail, les réservations et le relais DHCP. Leur installation est traitée dans le cours Services réseau.
À quoi sert le DNS
Les machines communiquent avec des adresses IP ; les humains retiennent des noms. Le DNS fait la traduction. Il permet aussi de changer l'adresse d'un serveur sans prévenir personne : on modifie l'enregistrement, et tous les clients suivent.
Sans DNS qui fonctionne, « Internet ne marche plus » pour l'utilisateur, alors que le réseau va très bien : ping 8.8.8.8 répond, mais aucun site ne s'ouvre. C'est l'une des pannes les plus fréquentes au support.
Les noms de domaine : une arborescence
Les noms sont organisés en arbre, qui se lit de droite à gauche :
. (racine)
┌──────────────┼───────────────┐
fr com example ← premier niveau (TLD)
│ │ │
service-public google sorbier ← second niveau
│ ┌────┼─────┐
www www srv-ad intranet ← noms de machines
- La racine, notée par un point, est gérée par 13 identités de serveurs racine (nommées de
aàm), elles-mêmes déployées en plus d'un millier d'instances dans le monde grâce à l'anycast. - Les domaines de premier niveau (TLD, Top-Level Domains) : génériques (
.com,.org,.net), nationaux (.fr, géré par l'Afnic), et des centaines d'autres. - Les domaines sont réservés par les organisations auprès d'un bureau d'enregistrement (registrar).
- Les sous-domaines et les noms de machines sont créés librement par le propriétaire du domaine.
Un FQDN (Fully Qualified Domain Name) est un nom complet, jusqu'à la racine : srv-ad.sorbier.example. (avec le point final, souvent omis). Le domaine .example est réservé à la documentation, comme les adresses 203.0.113.0/24.
Une zone est la partie de l'arbre dont un serveur a la charge : il est faisant autorité (authoritative) pour elle. Le serveur DNS de Sorbier fait autorité pour sorbier.example ; il ne sait rien de google.com.
La résolution d'un nom, étape par étape
Le poste de Sorbier veut joindre www.exemple.example.
- Cache local et fichier hosts. Le système regarde son cache DNS et le fichier
hosts(C:\Windows\System32\drivers\etc\hostsou/etc/hosts). S'il y trouve le nom, il s'arrête là. - Question au résolveur. Sinon, le client DNS du poste (le stub resolver) pose la question au serveur DNS configuré dans ses paramètres réseau : chez Sorbier,
srv-ad(192.168.10.177). Il pose une question récursive : « trouve-moi la réponse complète ». - Le résolveur cherche. Si la réponse n'est pas dans son cache, le résolveur interroge un serveur racine : « je ne connais pas ce nom, mais voici les serveurs de
.example». - Il interroge un serveur du TLD : « voici les serveurs qui font autorité pour
exemple.example». - Il interroge le serveur faisant autorité, qui donne la réponse :
198.51.100.80. - Réponse et cache. Le résolveur renvoie l'adresse au poste. Les deux la gardent en cache pendant la durée indiquée par le TTL de l'enregistrement (par exemple 3 600 secondes).
Les étapes 3 à 5 sont des questions itératives : chaque serveur répond avec ce qu'il sait, un renvoi vers le niveau suivant. Les requêtes DNS passent en UDP sur le port 53, et en TCP pour les grosses réponses et les transferts de zone entre serveurs.
Les enregistrements DNS
Une zone contient des enregistrements (resource records), de plusieurs types.
| Type | Rôle | Exemple dans la zone sorbier.example |
|---|---|---|
| A | Nom → adresse IPv4 | srv-gestion IN A 192.168.10.179 |
| AAAA | Nom → adresse IPv6 | srv-gestion IN AAAA 2001:db8:4a2c:3720::179 |
| CNAME | Alias vers un autre nom | intranet IN CNAME srv-gestion.sorbier.example. |
| MX | Serveur de messagerie du domaine, avec une priorité | @ IN MX 10 mail.sorbier.example. |
| NS | Serveur faisant autorité pour la zone | @ IN NS srv-ad.sorbier.example. |
| SOA | Informations sur la zone : serveur principal, contact, numéro de série, délais | Un seul par zone, en tête |
| PTR | Adresse → nom (zone inverse) | 179 IN PTR srv-gestion.sorbier.example. |
| TXT | Texte libre : SPF, DKIM, vérification de propriété d'un domaine | @ IN TXT "v=spf1 mx -all" |
| SRV | Emplacement d'un service (port, priorité) | _ldap._tcp IN SRV 0 100 389 srv-ad.sorbier.example. |
Le symbole @ désigne le domaine lui-même. Un CNAME ne peut pas coexister avec un autre enregistrement du même nom, et un MX doit pointer vers un nom qui a un enregistrement A ou AAAA, jamais vers un CNAME.
La résolution inverse trouve le nom à partir de l'adresse. Elle utilise une zone spéciale où l'adresse est écrite à l'envers : l'adresse 192.168.10.179 correspond au nom 179.10.168.192.in-addr.arpa. Les serveurs de messagerie s'en servent pour vérifier l'expéditeur, les journaux pour afficher des noms au lieu d'adresses.
Active Directory dépend du DNS. Les postes d'un domaine Windows trouvent leurs contrôleurs de domaine grâce aux enregistrements SRV. Un poste du domaine configuré avec un DNS public (comme 8.8.8.8) n'ouvre plus de session réseau correctement. Dans une entreprise, les postes utilisent le DNS interne, qui fait suivre les autres questions vers Internet (redirecteurs). Voir le cours Windows Server.
Interroger le DNS
| Besoin | Windows | Linux |
|---|---|---|
| Résoudre un nom | nslookup intranet.sorbier.example ou Resolve-DnsName intranet.sorbier.example | dig intranet.sorbier.example ou host intranet.sorbier.example |
| Un type précis | Resolve-DnsName sorbier.example -Type MX | dig sorbier.example MX |
| Interroger un serveur précis | nslookup intranet.sorbier.example 192.168.10.177 | dig @192.168.10.177 intranet.sorbier.example |
| Résolution inverse | nslookup 192.168.10.179 | dig -x 192.168.10.179 |
| Voir ou vider le cache | ipconfig /displaydns, ipconfig /flushdns | resolvectl statistics, resolvectl flush-caches (systemd-resolved) |
Exemple de réponse :
C:\> nslookup intranet.sorbier.example
Serveur : srv-ad.sorbier.example
Address: 192.168.10.177
Nom : srv-gestion.sorbier.example
Address: 192.168.10.179
Aliases: intranet.sorbier.example
Le poste a interrogé srv-ad ; intranet est un alias (CNAME) de srv-gestion, dont l'adresse est 192.168.10.179.
À quoi sert le DHCP
Configurer à la main l'adresse de 50 postes, des téléphones et des visiteurs est long, source d'erreurs (doublons, masque mal saisi) et impossible pour les appareils de passage. Le DHCP centralise : un serveur gère une réserve d'adresses et la distribue. Un changement de serveur DNS se fait en une ligne sur le serveur au lieu d'un passage sur chaque poste.
Le fonctionnement : DORA
Le client n'a pas encore d'adresse et ne connaît pas le serveur : il commence donc en broadcast. Les échanges passent en UDP, du port 68 (client) vers le port 67 (serveur).
- Discover. Le client diffuse : « Y a-t-il un serveur DHCP ? » Adresse source
0.0.0.0, destination255.255.255.255, sa propre adresse MAC dans le message. - Offer. Chaque serveur qui l'entend propose une adresse libre et les paramètres associés.
- Request. Le client choisit une offre et la demande, en broadcast, pour que les autres serveurs sachent que leur offre est refusée.
- Acknowledge (ACK). Le serveur confirme. Le client vérifie souvent que l'adresse n'est pas déjà utilisée (par un ARP), puis configure son interface. Si l'adresse n'est plus disponible, le serveur répond NAK et tout recommence.
Les paramètres distribués
Le serveur fournit l'adresse et le masque, et des options, numérotées :
| Option | Paramètre |
|---|---|
| 3 | Passerelle par défaut (router) |
| 6 | Serveurs DNS |
| 15 | Nom de domaine (sorbier.example) |
| 42 | Serveurs NTP |
| 51 | Durée du bail |
| 66, 67 | Serveur et fichier de démarrage réseau (PXE, téléphones IP) |
Sur le serveur, on configure par réseau une étendue (scope) : la plage d'adresses à distribuer, les exclusions (les adresses fixes à ne jamais distribuer) et les options. Chez Sorbier, l'étendue du VLAN 10 distribue 192.168.10.65 à 192.168.10.115, avec la passerelle 192.168.10.126 et le DNS 192.168.10.177 (plan d'adressage).
Le bail et son renouvellement
L'adresse est prêtée pour une durée limitée, le bail (lease) : 8 jours par défaut sur Windows Server, souvent quelques heures pour un Wi-Fi de visiteurs, où les appareils changent vite.
- À 50 % du bail, le client demande le renouvellement directement au serveur qui le lui a donné (en unicast).
- S'il n'obtient pas de réponse, il réessaie à 87,5 % du bail, cette fois auprès de n'importe quel serveur (en broadcast).
- À l'expiration, il perd son adresse et recommence le DORA. Sous Windows, s'il n'obtient rien, il se donne une adresse APIPA en
169.254.x.x.
Commandes côté client : ipconfig /release puis ipconfig /renew sous Windows ; sous Linux, cela dépend du gestionnaire réseau, par exemple sudo nmcli connection up "<nom de la connexion>" avec NetworkManager ou sudo networkctl renew <interface> avec systemd-networkd.
Réservation, relais et sécurité
La réservation associe une adresse MAC à une adresse fixe : l'imprimante d'étiquettes reçoit toujours 192.168.10.151, mais sa configuration reste centralisée sur le serveur. Attention aux adresses MAC aléatoires des téléphones en Wi-Fi (chapitre 4) : une réservation ne marche que si l'appareil présente toujours la même adresse.
Le relais DHCP. Un broadcast ne traverse pas un routeur. Avec cinq VLAN et un seul serveur DHCP (srv-ad, dans le VLAN 20), comment un poste du VLAN 10 le trouve-t-il ? Le routeur de chaque VLAN (ici le switch de cœur) joue le rôle d'agent de relais : il capte le Discover diffusé et le transmet en unicast au serveur, en indiquant de quel réseau vient la demande. Le serveur choisit alors la bonne étendue. Sur un équipement Cisco, c'est la commande ip helper-address 192.168.10.177 sur l'interface du VLAN.
Le serveur DHCP pirate (rogue DHCP). N'importe quelle machine peut répondre aux Discover : une box branchée par erreur sur le réseau, ou un attaquant qui distribue sa propre adresse comme passerelle et DNS pour intercepter le trafic. Symptôme : des postes reçoivent une adresse d'un autre réseau (souvent 192.168.1.x ou 192.168.0.x). Parade : le DHCP snooping du switch, qui n'accepte les réponses DHCP que depuis les ports déclarés de confiance.
Les serveurs DHCP que tu croiseras : le rôle DHCP de Windows Server, Kea (le successeur de l'ancien serveur ISC DHCP, qui n'est plus maintenu), dnsmasq (petits réseaux, conteneurs), et le service intégré aux pare-feu comme pfSense ou OPNsense. Le cours Linux : services en installe un.
Exercices
Exercice 1 sur 5 Quel enregistrement ? Réussi À revoir
Quel type d'enregistrement DNS faut-il créer pour :
- que
extranet.sorbier.examplemène au même serveur quesrv-gestion.sorbier.example? - que les courriels adressés à
@sorbier.examplearrivent surmail.sorbier.example? - que le nom
srv-fichierscorresponde à192.168.10.178? - que l'adresse
192.168.10.178affiche le nomsrv-fichiersdans les journaux ? - qu'un poste en IPv6 trouve l'adresse de
srv-gestion?
Voir la réponseMasquer la réponse de l'exercice 1
- CNAME :
extranet IN CNAME srv-gestion.sorbier.example. - MX :
@ IN MX 10 mail.sorbier.example., avec un enregistrement A pourmail. - A :
srv-fichiers IN A 192.168.10.178. - PTR, dans la zone inverse : le nom
178.10.168.192.in-addr.arpapointe verssrv-fichiers.sorbier.example. - AAAA.
Tu avais trouvé ?
Exercice 2 sur 5 L'ordre de la résolution Réussi À revoir
Remets dans l'ordre les étapes de la résolution de www.exemple.example par un poste dont le cache est vide, puis indique quelles questions sont récursives.
- a) Le résolveur interroge un serveur de
.example. - b) Le poste interroge son serveur DNS
srv-ad. - c) Le serveur faisant autorité pour
exemple.exampledonne l'adresse. - d) Le poste consulte son cache et son fichier hosts.
- e) Le résolveur interroge un serveur racine.
- f)
srv-adrenvoie la réponse au poste et la met en cache.
Voir la réponseMasquer la réponse de l'exercice 2
Ordre : d, b, e, a, c, f. Seule la question du poste à srv-ad (b) est récursive : le poste attend la réponse finale. Les questions de srv-ad aux serveurs racine, TLD et faisant autorité (e, a, c) sont itératives : chacun répond par ce qu'il sait.
Tu avais trouvé ?
Exercice 3 sur 5 Diagnostiquer avec nslookup Réussi À revoir
Un salarié n'arrive pas à ouvrir intranet.sorbier.example. Tu obtiens :
C:\> ping 192.168.10.179
Réponse de 192.168.10.179 : octets=32 temps<1ms TTL=63
C:\> nslookup intranet.sorbier.example
Serveur : dns.google
Address: 8.8.8.8
*** dns.google ne parvient pas à trouver intranet.sorbier.example : Non-existent domain
- Le réseau fonctionne-t-il jusqu'au serveur ?
- Où est le problème ?
- Comment le corriger durablement ?
Voir la réponseMasquer la réponse de l'exercice 3
- Oui : le serveur répond au
ping. Le TTL de 63 (64 − 1) montre qu'un routeur a été traversé (le switch de cœur, entre le VLAN 10 et le VLAN 20) et que le serveur tourne probablement sous Linux. - Le poste utilise 8.8.8.8, un résolveur public, qui ne connaît pas la zone interne
sorbier.example. Le nom n'existe que dans le DNS interne. - Le poste doit utiliser le DNS interne
192.168.10.177. Si sa configuration est manuelle, on la corrige ; si elle vient du DHCP, on vérifie l'option 6 de l'étendue. Le DNS interne fera suivre vers Internet les questions sur les autres domaines.
Tu avais trouvé ?
Exercice 4 sur 5 Configurer une étendue Réussi À revoir
Rédige la configuration DHCP du VLAN 30 (entrepôt) de Sorbier : réseau 192.168.10.128/27, passerelle à la dernière adresse utilisable, adresses .151 à .157 réservées aux imprimantes d'étiquettes, DNS srv-ad, domaine sorbier.example, bail de 12 heures (les terminaux tournent entre les équipes).
Voir la réponseMasquer la réponse de l'exercice 4
| Paramètre | Valeur |
|---|---|
| Réseau, masque | 192.168.10.128, 255.255.255.224 |
| Plage distribuée | 192.168.10.129 à 192.168.10.150 (22 adresses) |
| Exclusions | 192.168.10.151 à 192.168.10.157, plus la passerelle .158 si la plage déclarée va jusqu'à .158 |
| Option 3, passerelle | 192.168.10.158 |
| Option 6, DNS | 192.168.10.177 |
| Option 15, domaine | sorbier.example |
| Durée du bail | 12 heures |
Le serveur étant dans le VLAN 20, il faut aussi configurer le relais DHCP sur l'interface du VLAN 30 du switch de cœur, vers 192.168.10.177.
Tu avais trouvé ?
Exercice 5 sur 5 Le mystère du 192.168.1.x Réussi À revoir
Lundi matin, plusieurs postes du VLAN 10 reçoivent des adresses en 192.168.1.x avec la passerelle 192.168.1.1. Ils n'accèdent plus aux serveurs. D'autres postes fonctionnent normalement.
- Quelle est la cause la plus probable ?
- Comment la confirmer ?
- Comment éviter que cela se reproduise ?
Voir la réponseMasquer la réponse de l'exercice 5
- Un serveur DHCP pirate : le plus souvent une box ou un petit routeur Wi-Fi branché par un salarié sur une prise réseau. Il répond plus vite que
srv-adà certains postes. - Sur un poste touché,
ipconfig /allaffiche l'adresse du serveur DHCP qui a donné le bail : ce n'est pas192.168.10.177. Une capture Wireshark avec le filtredhcpmontre deux serveurs qui répondent aux Discover. Sur le switch, l'adresse MAC du serveur pirate indique le port où il est branché. - Débrancher l'appareil, puis activer le DHCP snooping sur les switchs, avec seulement le port du lien montant (vers le serveur) déclaré de confiance. Côté organisation : rappeler la charte informatique, qui interdit de brancher du matériel personnel.
Tu avais trouvé ?