Aller au contenu
Réussir mon BTS SIO

Tape une notion, une commande ou le nom d'une épreuve.

Par exemple

Chapitre 620 minIntermédiaire

DHCP : DORA, étendues, options et relais DHCP

Par Josselyn C., prof de BTS SIO. Mis à jour le .

À la fin de ce chapitre, tu sauras

  • décrire l'échange DORA et les autres messages DHCP ;
  • expliquer le fonctionnement d'un relais DHCP et le rôle du giaddr ;
  • concevoir les étendues et les options d'un réseau en VLAN ;
  • calculer les délais de renouvellement d'un bail ;
  • protéger le service contre les serveurs pirates et l'épuisement.

5 exercices corrigés1 schéma

Le DHCP (Dynamic Host Configuration Protocol) attribue automatiquement à chaque appareil qui se branche son adresse IP, son masque, sa passerelle, ses serveurs DNS et d'autres réglages, pour une durée limitée appelée bail. L'échange tient en quatre messages, Discover, Offer, Request et Acknowledge, d'où son surnom DORA. Ce chapitre détaille le protocole, les étendues et les options, le relais qui permet à un seul serveur de servir tous les VLAN, la répartition des rôles entre le DHCP de l'annuaire et celui de pfSense, et la sécurité du service.

Les messages DHCP

Le DHCP fonctionne en UDP : le serveur écoute sur le port 67, le client sur le port 68. Au départ, le client n'a pas d'adresse et ne connaît pas le serveur : il parle en diffusion, avec l'adresse source 0.0.0.0 et la destination 255.255.255.255.

MessageEnvoyé parRôle
DHCPDISCOVERClient, en diffusion« Y a-t-il un serveur DHCP ? »
DHCPOFFERServeur« Je te propose l'adresse 192.168.10.83, avec ces options, pour 8 jours »
DHCPREQUESTClient, en diffusion« J'accepte l'offre du serveur 192.168.10.177 » (les autres serveurs comprennent que leur offre est refusée)
DHCPACKServeur« C'est noté, l'adresse est à toi » : le bail commence
DHCPNAKServeur« Refusé » : l'adresse demandée n'est pas valable ici (le poste a changé de réseau)
DHCPDECLINEClient« L'adresse que tu m'as donnée est déjà utilisée » : le client l'a testée par ARP avant de s'en servir
DHCPRELEASEClient« Je rends mon adresse » (ipconfig /release)
DHCPINFORMClient« J'ai déjà une adresse fixe, donne-moi seulement les options »

DORA à travers un relais

Chez Sorbier, le poste de Julie est dans le VLAN 10 et le serveur DHCP srv-ad dans le VLAN 20. Une diffusion ne traverse pas un routeur : sans aide, le DISCOVER de Julie n'arriverait jamais au serveur. Le commutateur de cœur SW-COEUR, qui route entre les VLAN, joue le rôle de relais DHCP (DHCP relay agent).

Poste de JulieVLAN 10, sans adresseSW-COEUR, relaisVlan10 · 192.168.10.126srv-ad192.168.10.177, VLAN 20dans le VLAN 10unicast, UDP 67 vers 67DISCOVER0.0.0.0 → 255.255.255.255DISCOVERgiaddr = 192.168.10.126OFFERétendue 192.168.10.64/26OFFER« je te propose .83 »REQUESTREQUESTACKACKBail obtenu : 192.168.10.83/26, pour 8 jourspasserelle 192.168.10.126 · DNS 192.168.10.177 et 192.168.10.181
Le relais transforme la diffusion en unicast et dit au serveur de quel réseau vient la demande

Le relais fait trois choses :

  1. Il capte la diffusion sur son interface du VLAN 10.
  2. Il la retransmet en unicast au serveur configuré, de son port UDP 67 vers le port UDP 67 du serveur.
  3. Il écrit dans le champ giaddr (gateway IP address) du message l'adresse de son interface de réception, 192.168.10.126. C'est grâce à ce champ que le serveur sait de quel réseau vient la demande, et qu'il choisit l'étendue qui contient cette adresse : 192.168.10.64/26.

Le serveur répond au relais, qui transmet au client. Le relais peut aussi ajouter l'option 82 (Relay Agent Information) : l'identifiant du switch et du port d'où vient la demande. Le serveur peut s'en servir pour ses décisions, et l'administrateur pour retrouver où est branché un appareil.

Le relais sur un switch de niveau 3 ou sur pfSense

Sur SW-COEUR, un Catalyst qui route les VLAN internes, une commande par interface VLAN suffit (Routage et commutation) :

text
SW-COEUR(config)# interface Vlan10
SW-COEUR(config-if)# ip helper-address 192.168.10.177
SW-COEUR(config-if)# ip helper-address 192.168.10.181
SW-COEUR(config-if)# exit
SW-COEUR(config)# interface Vlan30
SW-COEUR(config-if)# ip helper-address 192.168.10.177
SW-COEUR(config-if)# ip helper-address 192.168.10.181

Les deux adresses correspondent aux deux serveurs DHCP en basculement : le relais envoie la demande aux deux. Rien à faire sur l'interface Vlan20 : le serveur y reçoit les diffusions directement.

Dans l'architecture où pfSense route lui-même tous les VLAN (Cybersécurité des infrastructures ; le cours pfSense détaille relais et serveur DHCP), c'est lui qui relaie, dans Services > DHCP Relay :

ChampValeur
Enable DHCP RelayCoché
Downstream InterfacesPOSTES, ENTREPOT, TELEPHONIE : les interfaces dont il faut relayer les demandes
Upstream Servers192.168.10.177, puis Add pour 192.168.10.181
Append circuit ID and agent ID to requestsCoché pour ajouter l'option 82 (l'interface d'origine)

Qui distribue quoi chez Sorbier

Chez Sorbier, la règle est simple : le DHCP de l'annuaire sert tout le réseau interne, et pfSense ne distribue des adresses que là où l'annuaire n'a rien à faire.

VLANRéseauServeur DHCPPlage distribuéePasserelle (option 003)DNS (option 006)Bail
10 POSTES192.168.10.64/26srv-ad + srv-ad2.65 à .115.126.177, .1818 jours
30 ENTREPOT192.168.10.128/27srv-ad + srv-ad2.129 à .150.158.177, .1818 jours
50 TELEPHONIE192.168.10.160/28srv-ad + srv-ad2.161 à .173.174.177, .1818 jours
40 VISITEURS192.168.10.0/26pfSense.1 à .61.62.62 (résolveur du pare-feu)2 heures
20 SERVEURS, 99 ADMIN, 60 DMZ—Aucun : adresses fixes————

Les serveurs, les équipements d'administration et la DMZ ont des adresses fixes, notées dans le plan d'adressage : un serveur dont l'adresse dépendrait d'un bail deviendrait injoignable à la moindre panne du DHCP. Les appareils qui doivent garder la même adresse sans être configurés à la main (imprimantes, bornes) reçoivent une réservation.

La création des étendues, des exclusions, des réservations et du basculement entre srv-ad et srv-ad2, en console et en PowerShell, est détaillée dans le cours Windows Server, au chapitre DNS et DHCP.

Étendue, plage, exclusion, réservation

NotionDéfinitionExemple chez Sorbier
Étendue (scope)L'ensemble de la configuration DHCP d'un réseau : plage, masque, options, durée du bailVLAN10-POSTES, identifiant 192.168.10.64
Plage (pool)Les adresses que le serveur peut distribuer.65 à .125
ExclusionDes adresses de la plage que le serveur ne distribue pas, car elles sont fixées à la main.116 à .125 (imprimantes et bornes Wi-Fi)
RéservationUne adresse toujours attribuée au même appareil, reconnu à son adresse MAC (ou son identifiant client).110 pour l'imprimante de l'accueil
Bail (lease)La durée pendant laquelle l'adresse est attribuée8 jours pour les postes

La différence entre adresse fixe et réservation compte : l'appareil réservé reste client DHCP. Si tu changes de serveur DNS, il reçoit la nouvelle option au renouvellement de son bail ; un appareil configuré à la main devra être reconfiguré un par un.

Les options DHCP

CodeOptionUsage
001Masque de sous-réseauToujours envoyé avec l'adresse
003RouteurLa passerelle par défaut, propre à chaque étendue
006Serveurs DNSLes résolveurs, dans l'ordre de préférence
015Nom de domaine DNSLe suffixe ajouté aux noms courts (ad.sorbier.example)
042Serveurs NTPPour les appareils hors domaine (téléphones, caméras)
043Informations spécifiques au fournisseurDécouverte du contrôleur par les bornes Wi-Fi, selon le constructeur
051Durée du bailRéglée par l'étendue
066 et 067Serveur et fichier de démarrageDémarrage réseau (PXE) pour le déploiement des postes
082Informations de l'agent relaisAjoutée par le relais : switch et port d'origine
119Liste de recherche de domainesPlusieurs suffixes DNS, pour les clients qui la gèrent
121Routes statiques sans classeDes routes supplémentaires à installer sur le client
150Serveur TFTP (propre à Cisco)Les téléphones IP Cisco y téléchargent leur configuration

Les options se définissent à plusieurs niveaux, du plus général au plus précis : serveur, étendue, réservation (et, sous Windows, stratégies qui ciblent une classe d'appareils). Quand une même option est définie à deux niveaux, le plus précis gagne. On met donc au niveau du serveur ce qui est commun à tous (DNS, nom de domaine), au niveau de l'étendue ce qui change d'un réseau à l'autre (passerelle), et au niveau de la réservation les exceptions.

Le cycle de vie d'un bail

Un bail n'est pas acquis pour toujours : le client doit le renouveler.

MomentCe que fait le clientComment
T1, à 50 % du bailDemande le renouvellement au serveur qui lui a donné l'adresseREQUEST en unicast ; le serveur répond ACK
T2, à 87,5 % du bailLe serveur d'origine n'a pas répondu : il demande à n'importe quel serveurREQUEST en diffusion (rebinding)
Fin du bailPersonne n'a répondu : il abandonne l'adresseIl recommence un DISCOVER, et prend une adresse APIPA en attendant
RedémarrageIl redemande l'adresse qu'il avaitREQUEST en diffusion (état INIT-REBOOT) : ACK si elle est toujours valable, NAK s'il a changé de réseau

Avec un bail de 8 jours, le poste de Julie renouvelle au bout de 4 jours (T1) et, sans réponse, tente un autre serveur au bout de 7 jours (T2). C'est pourquoi une panne d'un jour du DHCP passe inaperçue pour les postes déjà allumés, alors que les postes qui arrivent ne reçoivent rien.

Le choix de la durée :

  • long (8 jours, le défaut de Windows) pour des postes fixes : peu de trafic, et une marge confortable en cas de panne ;
  • court (1 à 2 heures) pour un réseau visiteurs, où les appareils passent sans revenir : sans cela, la plage se remplit de baux d'appareils partis depuis longtemps ;
  • raccourci temporairement avant un changement de plan d'adressage, pour que tous les postes prennent la nouvelle configuration rapidement.

Le DHCP des invités sur pfSense

Le Wi-Fi invité de Sorbier (VLAN 40) est servi par pfSense, dans Services > DHCP Server, onglet de l'interface VISITEURS. pfSense propose deux moteurs DHCP, choisis dans System > Advanced > Networking, champ Server Backend : Kea, le moteur actuel, et ISC DHCP, déprécié par Netgate et appelé à disparaître des futures versions.

RéglageValeur
EnableDHCP activé sur l'interface VISITEURS
Address Pool RangeDe 192.168.10.1 à 192.168.10.61
DNS Servers192.168.10.62 (le résolveur du pare-feu), ou vide : pfSense donne alors sa propre adresse
Gateway192.168.10.62, ou vide pour l'adresse de l'interface
Default Lease Time7200 secondes (2 heures)

Le réseau des invités ne reçoit aucune option qui mène à l'intérieur : ni DNS de l'annuaire, ni nom de domaine interne. Les règles du pare-feu sur l'interface VISITEURS n'autorisent que le DNS et le DHCP vers le pare-feu, puis Internet.

Et sous Linux ? Kea

Sous Linux, le serveur historique ISC DHCP (isc-dhcp-server) n'est plus maintenu par son éditeur depuis 2022 : il est encore dans Debian 13, mais tu ne dois plus le choisir pour une installation neuve. Son successeur, du même éditeur, est Kea (paquet kea-dhcp4-server, version 2.6 dans Debian 13), configuré en JSON. Pour une maquette sans Windows, la même étendue des invités s'écrit ainsi dans /etc/kea/kea-dhcp4.conf :

json
{
  "Dhcp4": {
    "interfaces-config": { "interfaces": [ "ens18" ] },
    "lease-database": { "type": "memfile", "persist": true, "name": "/var/lib/kea/kea-leases4.csv" },
    "valid-lifetime": 7200,
    "subnet4": [
      {
        "id": 40,
        "subnet": "192.168.10.0/26",
        "pools": [ { "pool": "192.168.10.1 - 192.168.10.61" } ],
        "option-data": [
          { "name": "routers", "data": "192.168.10.62" },
          { "name": "domain-name-servers", "data": "192.168.10.62" }
        ],
        "reservations": [
          { "hw-address": "00:1b:a9:4c:21:80", "ip-address": "192.168.10.50", "hostname": "borne-accueil" }
        ]
      }
    ]
  }
}
bash
sudo kea-dhcp4 -t /etc/kea/kea-dhcp4.conf     # vérifier la configuration
sudo systemctl restart kea-dhcp4-server

Les noms des options sont les mêmes partout, seule l'écriture change : routers est l'option 003, domain-name-servers l'option 006.

La sécurité du DHCP

Le DHCP n'authentifie personne : n'importe quel appareil peut demander une adresse, et n'importe quel appareil peut répondre aux demandes.

MenacePrincipeSymptômesParades
Serveur DHCP pirate (rogue DHCP)Un appareil répond aux DISCOVER plus vite que le vrai serveur et distribue sa propre passerelle ou son propre DNS (attaque de l'homme du milieu), ou simplement de mauvaises adressesPostes avec une passerelle ou un DNS inconnu, adresses d'un autre réseau ; souvent une box ou un routeur Wi-Fi branché par erreurSurveillance DHCP (DHCP snooping) sur les switchs : seuls les ports de confiance (vers les serveurs et le relais) peuvent envoyer des réponses DHCP. L'autorisation dans l'annuaire n'arrête que les serveurs Windows du domaine
Épuisement (starvation)Un appareil envoie des milliers de DISCOVER avec de fausses adresses MAC et vide la plageÉtendue pleine, nouveaux postes en APIPA, journal DHCP rempli de MAC inconnuesLimitation du débit DHCP par port (DHCP snooping), sécurité des ports (nombre de MAC par port), 802.1X (chapitre 12)

La configuration de la surveillance DHCP sur les switchs est décrite dans Cybersécurité des infrastructures. Pense aussi aux journaux : le journal d'audit du DHCP Windows (C:\Windows\System32\dhcp\DhcpSrvLog-<Jour>.log) dit quelle adresse MAC avait quelle adresse IP à quelle heure, une information décisive lors d'une enquête sur un incident.

Exercices

Exercice 1 sur 5 Remettre DORA dans l'ordre Réussi À revoir

Le poste PC-COMPTA-03 du VLAN 10 démarre pour la première fois. Tu captures le trafic à deux endroits : sur son port de switch (VLAN 10) et sur le port de srv-ad (VLAN 20). Tu relèves quatre messages de chaque côté, dans le désordre : REQUEST, ACK, DISCOVER, OFFER.

  1. Remets-les dans l'ordre.
  2. Côté VLAN 10, quelles sont l'adresse source et l'adresse de destination du DISCOVER ?
  3. Côté VLAN 20, le DISCOVER est-il en diffusion ou en unicast ? Quelle valeur porte son champ giaddr ?
  4. Comment srv-ad, qui gère trois étendues, sait-il laquelle utiliser ?
Voir la réponseMasquer la réponse de l'exercice 1
  1. DISCOVER, OFFER, REQUEST, ACK, des deux côtés.
  2. Source 0.0.0.0 (le poste n'a pas encore d'adresse), destination 255.255.255.255 (diffusion), du port UDP 68 vers le port UDP 67.
  3. En unicast vers 192.168.10.177 : le relais SW-COEUR a transformé la diffusion. Le champ giaddr vaut 192.168.10.126, l'adresse de l'interface Vlan10 qui a reçu la demande.
  4. Il cherche l'étendue qui contient l'adresse du giaddr : 192.168.10.126 appartient à 192.168.10.64/26, l'étendue VLAN10-POSTES. Il répond ensuite au relais, à cette même adresse.

Tu avais trouvé ?

Exercice 2 sur 5 Les délais du bail Réussi À revoir

  1. Un poste du VLAN 10 obtient un bail de 8 jours le lundi à 9 h. Quand tente-t-il le premier renouvellement, et quand le passage à n'importe quel serveur ?
  2. Un smartphone du Wi-Fi invité obtient un bail de 2 heures à 14 h. Mêmes questions.
  3. Les deux serveurs DHCP de l'annuaire tombent le mercredi à 8 h. Le poste de la question 1 perd-il son adresse avant la réparation, prévue le jeudi à 18 h ?
Voir la réponseMasquer la réponse de l'exercice 2
  1. T1 = 50 % de 8 jours = 4 jours, le vendredi à 9 h. T2 = 87,5 % = 7 jours, le lundi suivant à 9 h.
  2. T1 à 15 h (1 heure), T2 à 15 h 45 (1 h 45 min).
  3. Non. Le renouvellement du vendredi 9 h a lieu après la réparation du jeudi 18 h : le poste ne remarque même pas la panne. En revanche, un poste qui démarre pour la première fois pendant la panne n'obtient aucune adresse.

Tu avais trouvé ?

Exercice 3 sur 5 L'étendue de la téléphonie Réussi À revoir

Le VLAN 50 de la téléphonie est 192.168.10.160/28, passerelle 192.168.10.174. Sorbier y branche 9 téléphones IP et 3 caméras, qui doivent garder la même adresse.

  1. Combien d'adresses l'étendue .161 à .173 peut-elle distribuer ?
  2. Comment donnes-tu une adresse stable aux caméras sans les configurer à la main ?
  3. L'entreprise prévoit 6 téléphones de plus l'an prochain. Que se passe-t-il ?
  4. Les téléphones Cisco doivent trouver le serveur TFTP de l'opérateur de téléphonie, en 198.51.100.70. Quelle option configures-tu, et à quel niveau ?
Voir la réponseMasquer la réponse de l'exercice 3
  1. 173 − 161 + 1 = 13 adresses.
  2. Trois réservations, par adresse MAC, dans la plage. Les caméras restent clientes DHCP et reçoivent les options à jour.
  3. 9 + 3 + 6 = 18 appareils pour 13 adresses : l'étendue est épuisée, les derniers appareils prennent une adresse APIPA. Agrandir le réseau sur place est impossible : il n'y a plus de /27 libre dans 192.168.10.0/24 (un /27 contenant .160, de .160 à .191, empiéterait sur les serveurs .176/28) ; seul 192.168.10.200/29 reste libre (192.168.10.240/28 porte le réseau de stockage, VLAN 80). Sortir les caméras dans un VLAN à elles (par exemple sur .200/29, 5 adresses distribuables) ne suffit pas : il resterait 15 téléphones pour 13 adresses. La téléphonie doit donc changer de plage, hors de 192.168.10.0/24 : par exemple un VLAN 50 renuméroté en 192.168.11.0/26 (61 adresses distribuables, passerelle .62), avec sa nouvelle étendue et son relais, avant l'arrivée des nouveaux téléphones.
  4. L'option 150 (ou l'option 066 selon le modèle), au niveau de l'étendue du VLAN 50 : elle ne concerne que les téléphones.

Tu avais trouvé ?

Exercice 4 sur 5 Le niveau qui gagne Réussi À revoir

Sur srv-ad, l'option 006 vaut 192.168.10.177, 192.168.10.181 au niveau du serveur. Dans l'étendue du VLAN 30, elle vaut 192.168.10.181, 192.168.10.177. La réservation du terminal SCAN-07 dans cette étendue la règle à 192.168.10.177.

Quels serveurs DNS reçoivent : un poste du VLAN 10 ; un terminal du VLAN 30 ; le terminal SCAN-07 ?

Voir la réponseMasquer la réponse de l'exercice 4
  • Poste du VLAN 10 : 192.168.10.177, 192.168.10.181, l'option du serveur (son étendue ne la redéfinit pas).
  • Terminal du VLAN 30 : 192.168.10.181, 192.168.10.177, l'option de l'étendue, plus précise que celle du serveur.
  • SCAN-07 : 192.168.10.177, l'option de la réservation, la plus précise des trois.

Tu avais trouvé ?

Exercice 5 sur 5 Le DHCP pirate Réussi À revoir

Le lundi matin, une dizaine de postes du deuxième étage n'accèdent plus aux partages. ipconfig /all sur l'un d'eux donne l'adresse 192.168.1.23, la passerelle 192.168.1.1 et le serveur DHCP 192.168.1.1.

  1. Que s'est-il passé ?
  2. Comment retrouves-tu l'appareil en cause ?
  3. Quelle mesure empêche que ça se reproduise, et où la configures-tu ?
Voir la réponseMasquer la réponse de l'exercice 5
  1. Un serveur DHCP pirate répond aux postes : le réseau 192.168.1.0/24 n'existe pas dans le plan de Sorbier. C'est souvent une box ou un routeur Wi-Fi branché sur une prise du bureau.
  2. Lire l'adresse MAC de 192.168.1.1 (arp -a depuis un poste touché), puis chercher cette MAC dans la table des switchs (show mac address-table address <MAC>) pour trouver le port, et donc la prise.
  3. La surveillance DHCP (DHCP snooping) sur les switchs d'accès et de cœur : seuls les ports vers les serveurs DHCP et le relais sont déclarés de confiance, les réponses DHCP qui arrivent par un autre port sont jetées. Complète par la désactivation des prises inutilisées et par 802.1X.

Tu avais trouvé ?

Chapitre terminé !

Fais les 5 exercices avant de passer à la suite : c'est en t'entraînant que tout se fixe.

chapitres
–
de série
–
du cours
–
Chapitre suivant : NTP : synchroniser l'heure des serveurs et du domaineRevoir le sommaire du cours