# 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]]" -->