# Découvrir le protocole DHCP
<!-- element style="font-size:2.7em;color:#FFFFFF" -->
Dynamic Host Configuration Protocol.
<!-- element style="color: #bfd04d; font-size:1.7em;" -->
<!-- slide template="[[tpl-title-silde-blue]]" -->
---
## Résumé du cours
- **Durée** : 1 h
- **Bloc(s)** : B2 - Spécialisation SISR
- B2.1 Administration des systèmes et des réseaux
- B2.2 Concevoir une solution d’infrastructure réseau
- **Objectif** : Découvrir le protocole DHCP, son rôle et son fonctionnement.
---
## Feuille de route pédagogique
- **Compétences à acquérir** :
- Vocabulaire et acronymes liés au cours (cf. [[B0-acronymes-it]])
- Connaître le rôle du DHCP sur un réseau et les principaux composants.
- Connaître le fonctionnement d'un serveur DHCP.
- Connaitre les étapes d'obtention d'une adresse IP dynamique.
- Définition des principaux termes : étendue, bail, réservation, exclusions, relais DHCP, APIPA, etc.
- **Approche pédagogique** : Un cours théorique, accompagné d'une démonstration technique, puis approfondir par soi-même en TP.
- **Évaluation** : N/S
---
# Avant-propos..
<!-- element style="font-size:2.7em;color:#FFFFFF" -->
Introduction et échanges autour du DHCP.<!-- element style="color: #bfd04d; font-size:1.7em;" -->
<!-- slide template="[[tpl-title-silde-blue]]" -->
note:
source : [@Cookieconnecte](https://www.youtube.com/@Cookieconnecte) - [Comprendre le DHCP en 3 minutes](https://www.youtube.com/watch?v=yH9UvkeAz-I)
---
## Quels équipements utilisent le DHCP ?
<!-- element style="font-size: 3em;" -->
Listez les équipements du quotidien ou de l'entreprise.
<!-- element style="color: #bfd04d; font-size:1.7em;" -->
<!-- slide template="[[tpl-title-silde-white]]" -->
---
### Liste d'équipements compatibles DHCP
- **Les clients DHCP** : N'importe quel équipement qui se connecte à un réseau avec un **logiciel client DHCP installé** et **démarré**.
- PC, portables, serveurs,
- Smartphones, tablettes, téléphones IP, etc.
- Objets connectés : enceintes, TV, ampoules, climatisation, interrupteurs, etc.
- Équipements réseau : routeur, switch, box (côté WAN), etc.
- **Serveur DHCP** : n'importe quel équipement connecté à un réseau avec un **logiciel serveur DHCP installé** et **configuré**. Par exemple :
- Rôle Serveur DHCP sur une machine Windows.
- Internet Software Consortium (**ISC**) en solution Open-source.
- Logiciel installé sur les routeurs, commutateurs, box, firewall.
---
## Que fait le client DHCP sans serveur DHCP ?
<!-- element style="font-size: 2.5em;" -->
Pas d'IP, pas de réseau ! Pas de réseau, pas d'accès aux ressources !
<!-- element style="color: #bfd04d; font-size:1.7em;" -->
<!-- slide template="[[tpl-title-silde-white]]" -->
---
### Les adresses APIPA
- Automatic Private Internet Protocol Addressing (Adressage automatique du protocole IP en français).
- Protocole **créé pour résoudre les problèmes courants de DHCP** :
- Connexion directe entre deux clients (câble croisé).
- Continuité de service pour les réseaux (réduire la dépendance au DHCP).
- Gestion des réseaux isolés (création d'un nouveau réseau).
- En cas d'absence de serveur DHCP, l'équipement **s'attribue automatiquement** une adresse APIPA.
- C'est une adresse **aléatoire** en **169.254.0.0/16** (de 169.254.0.1 à 169.254.255.254).
- Ce protocole présente certaines limitations :
- **Surcharge réseau** : Recherche de serveur DHCP toutes les 5 min (trames DHCPDISCOVER).
- Réseau privé et **non routable**.
- Risques de **conflits d'IP**, car les IP sont générées aléatoirement.
> [!info] À noter !<span style="font-weight: normal; color: var(--text-normal)"> Il est possible de désactiver l'APIPA. La procédure varie selon le type de client.</span>
---
# Les principaux composants du DHCP
<!-- element style="font-size:2.6em;color:#FFFFFF" -->
Trames, étendues, réservations, exclusions, baux, etc.<!-- element style="color: #bfd04d; font-size:1.7em;" -->
<!-- slide template="[[tpl-title-silde-blue]]" -->
---
## Présentation et définition
- DHCP signifie **D**ynamic **H**ost **C**onfiguration **P**rotocol.
- C'est une solution logicielle qui permet de :
- **Automatiser** la distribution d'adresses IP de façon transparente.
- **Centraliser** la configuration IP des clients.
- Fournir une configuration **uniforme** et **complète** aux machines.
- **Limiter les risques d'erreurs** de configuration et de conflits.
- Fonctionnement :
- Intervient quand on connecte un équipement au réseau (filaire ou Wi-Fi).
- Fonctionne en mode **Client** (**UDP 68**) / **Serveur** (**UDP 67**).
- Compatible IPv4 et IPv6 et multiplateforme.
note:
- Utilisé pour la première fois en 1993, et défini par la RFC1531 (complété par RFC1534, RFC2131, RFC2132)
---
## Les requêtes DHCP (processus DORA)
- Un client DHCP lance une recherche du serveur **dès la connexion au réseau** (filaire ou Wi-Fi).
- Pour effectuer cette demande, il dispose de son adresse **MAC** et de trames de type **broadcast** (diffusion).
- Le **processus DORA** en **4 étapes**, qui correspondent à l’échange de 4 messages (**trames DHCP**) :
1. Client : Qui peut me fournir une adresse IP ?
2. Serveur : Voici une adresse disponible, est-ce que cela te convient ?
3. Client : Merci, je vais l'utiliser. Peux-tu le noter dans ta base et m'envoyer tous les paramètres ?
4. Serveur : Yes ! C'est noté et j'ai mis à jour ma table d'allocation d'IP, tu peux l'utiliser à présent.
![[_img-B1-DHCP-Requetes-DHCP.png|]]
> [!info] À savoir !<span style="font-weight: normal; color: var(--text-normal)"> Le client n'a pas d'IP source, il utilise l'adresse de destination 255.255.255.255 (broadcast)</span>
note:
références : https://learn.microsoft.com/fr-fr/windows-server/troubleshoot/dynamic-host-configuration-protocol-basics
---
## DHCP - Les principales trames
| Trame UDP | Rôle de la trame |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **DHCPDISCOVER** | Pour localiser les serveurs DHCP disponibles. La requête est donc envoyée à tout le réseau, avec comme adresse source, l’adresse MAC du client. |
| **DHCPOFFER** | Réponse du ou des serveurs DHCP : contient le bail IP, l'IP source du serveur. |
| **DHCPREQUEST** | Le client répond à tous les serveurs DHCP en indiquant quelle offre il accepte. Il réclame l'ensemble des paramètres IP au serveur et l'informe qu'il doit mettre à jour sa table d'allocation d'IP. Cette trame est utilisée aussi pour renouveler un bail DHCP. |
| **DHCPACK** | Réponse du serveur avec : Confirmation de la mise à jour de la table d'allocation des IP et l'ensemble des paramètres IP de cette étendue. |
| **DHCPNAK** | Réponse du serveur signalant au client que le bail est échu |
| **DHCPDECLINE** | Utilisé pour refuser des offres DHCP ou des mises à jour ou en cas de conflit d'IP |
| **DHCPRELEASE** | Libération de l'adresse IP par le client |
| **DHCPINFORM** | Demande de paramètres locaux si le client dispose déjà d'une IP valide |
note:
Ces trames peuvent être visualisées avec des outils d'analyse de trame tels que tcpdump, dhcpdump ou Wireshark.
---
# Les étendues DHCP
- Une étendue est une **plage d'adresses IP** que le serveur DHCP est **autorisé à distribuer**.
- **Prérequis du serveur DHCP local** :
- Avoir une interface Ethernet dans le même réseau physique que le client
- Avoir un IP statique dans la plage d'adresses IP de l'étendue (sauf pour les relais DHCP).
- Chaque étendue dispose de :
- **Paramètres standards** : plage d'adresse IP, masque, DNS, passerelle, etc.
- **Paramètres avancés** : authentification, réservation, exclusions, cluster, NTP, Boot PXE, etc.
> [!info] À savoir !<span style="font-weight: normal; color: var(--text-normal)"> Un serveur DHCP peut proposer **plusieurs étendues** simultanément à condition d'avoir **une carte réseau connectée** avec **une IP statique par étendue**.</span>
> [!danger] Attention !<span style="font-weight: normal; color: var(--text-normal)"> Les broadcasts ne peuvent pas traverser les routeurs. Un serveur DHCP peut distribuer des adresses sur un **réseau distant** à condition d'utiliser un **agent relais DHCP** installé sur le routeur.</span>
---
## Étendues - Les principaux paramètres
| Élément | Description |
| ------------------------- | ------------------------------------------------------------------------------- |
| **Plage d'IP (Pool IP)** | La plage d'adresses IP que le serveur DHCP peut attribuer aux clients. |
| **Netmask** | Définit la portée des adresses IP disponibles dans la plage. |
| **Passerelle par défaut** | IP du routeur offrant l'accès aux réseaux extérieurs. |
| **Serveur DNS** | IP des serveurs DNS (utilisés pour résoudre les noms de domaine en IP). |
| **Durée de bail** | La période pendant laquelle un client peut utiliser une adresse IP attribuée. |
| **Réservation** | Attribution d'IP spécifiques aux clients en fonction de leur adresse MAC. |
| **Exclusions** | IP exclues de la plage d'attribution pour éviter qu'elles ne soient attribuées. |
---
## Étendues - Réservation et exclusions
- **Les réservations** DHCP, pour fournir une **adresse IP fixe** :
- Garantir qu'un équipement obtienne toujours la même IP (imprimante, caméra, etc.).
- La réservation s'effectue **grâce à l'adresse MAC** (Media Access Control) du client.
- L'IP doit être **dans l'étendue** gérée par le serveur DHCP.
- On peut ajouter des **options spécifiques** pour ce client : durée du bail par exemple.
- **Déconseillé pour les serveurs** d'application (doivent être en IP statique).
- **Les exclusions** (IP ou portion de l'étendue DHCP) : couramment utilisées quand des adresses IP statiques et dynamiques coexistent.
- **Exclure** une IP qui serait déjà utilisée en statique.
- **Récupérer** une portion de la plage DHCP (manque d'IP statiques).
- **Splitter** une étendue si 2 serveurs se partagent une même plage d'adresses IP (PCA).
note:
Ne pas confondre IP Fixe (réservation DHCP) et IP Statique (saisie manuellement)
---
## Étendues - Les baux DHCP
- Un bail DHCP, également appelé "**Lease DHCP**", est la période pendant laquelle le client peut utiliser l'adresse IP attribuée avant de devoir la renouveler auprès du serveur.
- La **durée de vie du bail** doit être **adaptée** aux contraintes de l'entreprise :
- **Bail court** si les utilisateurs sont **itinérants**, ou pour **libérer rapidement les adresses** inutilisées.
- **Bail long** si les utilisateurs sont **sédentaires sur poste fixe**.
- Le renouvellement du bail intervient à différents moments :
- **50 %** de la durée du bail : le client tente de renouveler son bail (trame unicast DHCPREQUEST).
- **87.5 %** de la durée du bail : le client réclame une nouvelle IP (DHCPDISCOVER) car il est probable que le serveur DHCP soit défaillant.
- Le serveur envoie un DHCPNACK si le bail n'a pas été renouvelé.
- Si le client ne répond pas, l'IP est libérée dans la **table d'allocation**.
---
# CONCLUSION
<!-- element style="font-size:2.6em; color:#FFFFFF" -->
Bonnes pratiques et démonstrations.<!-- element style="color: #bfd04d; font-size:1.7em;" -->
<!-- slide template="[[tpl-title-silde-blue]]" -->
---
## Résumé du cours
- **Définition** : Protocole réseau attribuant automatiquement des adresses IP et des paramètres réseau.
- **Avantages** : Centralisation de la gestion des adresses IP, configuration rapide et réduction des erreurs.
- **Communication** :
- Ports **UDP 68** (client) et **UDP 67** (serveur) avec des trames de types broadcast.
- **Processus DORA** (Discovery, Offer, Request, Acknowledgment) en 4 étapes.
- Nécessite une interface Ethernet sur le même sous-réseau que le client
- Le serveur DHCP doit avoir une IP statique dans la plage de l’étendue
- Chaque étendue DHCP fournit tout ou parties des paramètres IP :
- **Paramètres standards** : plage d'adresse IP (pool), masque, DNS, passerelle, etc.
- **Paramètres avancés** : réservations, exclusions, cluster, NTP, Boot PXE, etc.
> [!info] À savoir !<span style="font-weight: normal; color: var(--text-normal)"> Une adresse IP **statique** est définie manuellement par un administrateur. Une IP **fixe** est attribuée dynamiquement par le DHCP et reste identique pour l’équipement grâce à son **adresse MAC**.</span>
> [!warning] Rappel ! <span style="font-weight: normal; color: var(--text-normal)">Les routeurs bloquent les trames DHCP (broadcast), sauf si un agent relais DHCP est installé.</span>
---
## Démonstration technique
<!-- element style="color: #FFF; font-size: 3em;" -->
Installer, configurer un serveur DHCP Microsoft.
<!-- element style="color: #bfd04d; font-size:1.7em;" -->
<!-- slide template="[[tpl-title-silde-blue]]" -->
note:
[[B1-DHCP-DEMO-OVB]]
---
# Pour aller plus loin avec le DHCP
<!-- element style="font-size:2.6em; color:#FFFFFF" -->
Les relais et la continuité de service.<!-- element style="color: #bfd04d; font-size:1.7em;" -->
<!-- slide template="[[tpl-title-silde-blue]]" -->
---
## Bonnes pratiques
- **Analyser les besoins de l'entreprise** : Avant de configurer le serveur DHCP, relever le nombre de clients, le type, la durée des connexions, le plan IP existant, etc.
- **Éviter les conflits DHCP** : ne pas multiplier les serveurs DHCP autonomes.
- **PCA** : Toujours envisager de redonder le DHCP et tester les scénarios de pannes.
- **Détection de conflit d'IP** : à activer sur le serveur DHCP, surtout sur les réseaux existants qui mélangent adressages IP statiques et dynamiques.
- **IP fixes** (réservation) : pour les imprimantes et les équipements qui fournissent une application de type serveur (caméra IP, serveur web d'un switch, interface d'administration d'un équipement, etc.).
- **IP Statique** : Sur les serveurs (AD, fichiers, applications métiers, passerelles, etc.).
- **Baux DHCP** :
- Éviter de réduire la durée des baux DHCP pour limiter les broadcast.
- Synchroniser la durée des baux avec la durée de vie des enregistrements DNS.
- Fixer un bail d'une durée équivalente à deux fois la durée d'indisponibilité prévue d'un système.
---
## Relais DHCP
- **Problématique** :
- Une entreprise dispose parfois de plusieurs réseaux physiques ou logiques (VLAN).
- Les DHCPDISCOVER ne passent pas les routeurs (broadcast).
- Il faudrait donc un serveur DHCP par réseau (complexité d'administration et de sécurisation).
- Le relais DHCP permet de **réduire le nombre de serveurs DHCP** nécessaires :
- Logiciel installé sur un hôte (routeur, switch, pare-feu, pc, etc.) en IP statique
- En écoute sur le **port UDP/67** comme un serveur DHCP.
- Le relais DHCP ne fournit pas lui-même le service DHCP, mais agit comme un **proxy** DHCP.
![[_img-B1-DHCP-Relais.png|800]]
note:
1. Le relais capture la trame DHCPDISCOVER et ajoute son IP dans le champ _GIADDR_.
2. Il achemine la trame vers le serveur DHCP.
3. Le serveur propose une IP selon le sous-réseau détecté dans le champ GIADDR.
4. Le relais achemine la réponse du serveur vers le client.
---
## Continuité de service DHCP
- Le service DHCP est critique en entreprise, il faut éviter les **SPOF** (Single Point Of Failure).
- Pour répondre aux besoins de continuité de service du DHCP, plusieurs approches sont possibles :
- **Split d'étendues** (sur 2 serveurs DHCP autonomes) : un serveur distribue les IP de 100 à 150 et un second serveur de 151 à 200.
- Pas de répartition de charge.
- Risque d'encombrement d'une étendue par rapport à l'autre.
- Double configuration pour l'Administrateur DHCP.
- **Serveur de secours** (actif/passif) : Un serveur actif, un second serveur de secours qui s'active en cas de panne du principal.
- Pas de répartition de charge.
- Configuration unifiée.
- **Cluster DHCP** (actif/actif) : Les deux serveurs sont actifs, une répartition de charge est effectuée et les configurations sont unifiées.
note:
L'équilibrage de charge n'est pas forcément en mode 50/50.
---
MERCI POUR VOTRE ATTENTION !
# Questions / Réponses
<!-- element style="font-size: 3em; color:#FFFFFF" -->
Temps d'échange participatif.
<!-- element style="color: #bfd04d; font-size:1.7em;" -->
<!-- slide template="[[tpl-title-silde-blue]]" -->