Sommaire
🌐 Module R12 – Plan d'adressage et VLANs par fonction
Objectifs : comprendre le protocole DHCP, configurer un serveur DHCP sous Linux, analyser les échanges et gérer les baux.
📖 Introduction
Le Dynamic Host Configuration Protocol (DHCP) est un protocole réseau qui permet d’attribuer automatiquement des adresses IP et d’autres paramètres de configuration à des équipements (postes, serveurs, imprimantes) sur un réseau. Il simplifie l’administration et évite les conflits d’adresses.
À l'issue de ce module, vous serez capable de :
- Expliquer le fonctionnement de DHCP (DORA).
- Installer et configurer un serveur DHCP (isc-dhcp-server) sous Debian.
- Définir des plages, des réservations et des options.
- Analyser les logs et les baux DHCP.
🔍 Qu'est-ce que DHCP ?
DHCP est un protocole de la couche application (OSI) qui fonctionne en mode client/serveur. Il utilise les ports UDP 67 (serveur) et 68 (client).
- Automatisation : plus besoin de saisir manuellement les adresses IP.
- Centralisation : tous les paramètres réseau sont gérés depuis un serveur.
- Flexibilité : possibilité de réservations (adresses fixes) et d’options personnalisées (DNS, passerelle, etc.).
📐 Fonctionnement – Le cycle DORA
Le processus d’obtention d’une adresse IP se déroule en 4 étapes :
| Étape | Description | Message |
|---|---|---|
| 1. Discovery | Le client envoie un message de découverte en broadcast (255.255.255.255) pour trouver un serveur DHCP. | DHCPDISCOVER |
| 2. Offer | Le serveur répond avec une offre contenant une adresse IP proposée. | DHCPOFFER |
| 3. Request | Le client accepte l’offre et demande l’adresse IP au serveur. | DHCPREQUEST |
| 4. Acknowledgment | Le serveur confirme l’attribution et envoie les paramètres (masque, DNS, etc.). | DHCPACK |
Une fois le bail obtenu, le client renouvellera automatiquement avant expiration.
🛠️ Installation et configuration sous Debian
Installation du serveur
sudo apt update && sudo apt install isc-dhcp-server -y
Le fichier de configuration principal est /etc/dhcp/dhcpd.conf.
Configuration de base
Exemple de configuration pour le réseau 192.168.1.0/24
# /etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option routers 192.168.1.1;
option domain-name-servers 8.8.8.8, 1.1.1.1;
option domain-name "mon-domaine.local";
default-lease-time 600;
max-lease-time 7200;
}
subnet: définit le réseau et son masque.range: plage d’adresses attribuables.option routers: passerelle par défaut.option domain-name-servers: DNS.default-lease-time: durée du bail en secondes.
Réservation d’adresse (fixe)
host imprimante {
hardware ethernet 00:11:22:33:44:55;
fixed-address 192.168.1.10;
}
Associe une adresse IP fixe à une adresse MAC donnée.
Démarrage et activation
sudo systemctl enable isc-dhcp-server sudo systemctl start isc-dhcp-server
Vérifier le statut : sudo systemctl status isc-dhcp-server
Analyse des logs et des baux
sudo tail -f /var/log/syslog | grep dhcp cat /var/lib/dhcp/dhcpd.leases
🧪 Mise en pratique
Configuration d’un serveur DHCP sur une machine Debian
1. Définir l’interface réseau sur laquelle écouter
# /etc/default/isc-dhcp-server INTERFACESv4="eth0"
2. Configurer le fichier dhcpd.conf (exemple ci-dessus)
3. Redémarrer le service : sudo systemctl restart isc-dhcp-server
4. Tester depuis un client : dhclient eth0
📝 Exercices d'application
Exercice 1 – Cycle DORA
Quelle est la première étape du cycle DORA ?
La première étape est le DHCPDISCOVER (Discovery).
Exercice 2 – Configuration DHCP
Écrire la configuration DHCP pour un réseau 10.0.0.0/24 avec une plage de 10.0.0.50 à 10.0.0.100, passerelle 10.0.0.1, DNS 8.8.8.8 et un bail de 1 heure.
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.50 10.0.0.100;
option routers 10.0.0.1;
option domain-name-servers 8.8.8.8;
default-lease-time 3600;
}
🎯 Quiz d'auto‑évaluation
1. DHCP utilise les ports UDP 67 (serveur) et 68 (client).
2. La réservation DHCP associe une adresse IP à une adresse MAC.
3. Le fichier de configuration principal de isc-dhcp-server est /etc/dhcp/dhcpd.conf.
4. Le message DHCPOFFER est envoyé par le client.
5. La commande dhclient eth0 permet de libérer et renouveler un bail.