DHCP — l'essentiel
Une page à imprimer (⌘P). DORA, les ports, les commandes, les pannes.
01Le principe
DORA — les 4 messages
| # | Message | Par | Type |
|---|---|---|---|
| 1 | DISCOVER | Client | Diffusion |
| 2 | OFFER | Serveur | Unicast |
| 3 | REQUEST | Client | Diffusion |
| 4 | ACK | Serveur | Unicast |
Le DISCOVER part de 0.0.0.0 vers
255.255.255.255 — le client n'a pas encore d'adresse.
Le REQUEST est en diffusion pour prévenir les autres serveurs que leur offre est refusée.
Les chiffres
UDP 68 client
Renouvellement : T1 à 50 % (unicast) · T2 à 87,5 % (diffusion) · 100 % → nouveau DORA
169.254.x.x = APIPA :
aucun serveur joint.
Ce que DHCP distribue
- Adresse IP
- Masque de sous-réseau
- Passerelle par défaut
- Serveur DNS
- Nom de domaine
Les 3 méthodes d'attribution
| Manuelle | Réservation IP ↔ MAC sur le serveur |
| Automatique | Adresse du pool, réservée définitivement. Pas de bail |
| Dynamique | Bail limité — la plus courante |
Réservation > statique : même résultat, gestion centralisée. Sauf pour le routeur lui-même.
02Configurer
Routeur Cisco — les 5 étapes
! 1 — EXCLURE, en config GLOBALE, AVANT le pool
R1(config)# ip dhcp excluded-address 192.168.20.1 192.168.20.99
R1(config)# ip dhcp excluded-address 192.168.20.201 192.168.20.254
! 2 à 5 — le pool
R1(config)# ip dhcp pool LAN-BUREAU
R1(dhcp-config)# network 192.168.20.0 255.255.255.0
R1(dhcp-config)# default-router 192.168.20.1
R1(dhcp-config)# dns-server 8.8.8.8 1.1.1.1
R1(dhcp-config)# domain-name biovision.local
R1(dhcp-config)# lease 8 ← en JOURS
! vérifier
show ip dhcp binding · show ip dhcp pool · show ip dhcp conflict⚠️ network met tout le
sous-réseau dans le pool. C'est par exclusion qu'on réduit la
plage.
Serveur ISC sous Debian
apt install isc-dhcp-server -y
cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.old ← SAUVEGARDER
# /etc/dhcp/dhcpd.conf
subnet 192.168.20.0 netmask 255.255.255.0 {
range 192.168.20.100 192.168.20.200;
option routers 192.168.20.1;
option domain-name-servers 8.8.8.8;
}
host station-1 { ← EN DEHORS du bloc subnet
hardware ethernet 08:00:27:1a:2b:3c;
fixed-address 192.168.20.10;
}
# /etc/default/isc-dhcp-server
INTERFACESv4="enp0s3" ← sinon le service n'écoute nulle part
dhcpd -t -cf /etc/dhcp/dhcpd.conf ← tester la syntaxe AVANT
systemctl restart isc-dhcp-server
cat /var/lib/dhcp/dhcpd.leases ← les baux accordés⚠️ Point-virgule à chaque ligne. Serveur en IP fixe. Aucun autre DHCP actif.
Le relais DHCP
Le problème : un routeur ne relaie pas les diffusions → un serveur ne sert que son propre segment.
! sur l'interface côté CLIENT
R1(config-subif)# ip helper-address 192.168.100.10La diffusion devient un unicast
vers le serveur, avec l'adresse de l'interface (giaddr) : c'est ainsi que le
serveur choisit le bon pool.
⚠️ Il faut un pool par sous-réseau relayé sur le serveur.
03Dépannage
Symptôme → cause
| Symptôme | Cause | Action |
|---|---|---|
169.254.x.x | Aucun serveur joint | Câble, VLAN, service, relais |
| Adresse du mauvais réseau | Serveur pirate | ipconfig /all → quel serveur ? |
| Ping IP OK, noms KO | DNS | dns-server dans le pool |
| Conflit d'adresse | Exclusion manquante | ip dhcp excluded-address |
| Plus rien pour les nouveaux | Pool épuisé | Élargir la plage ou réduire le bail |
| Rien depuis un autre VLAN | Relais absent | ip helper-address |
Commandes client
# Windows
ipconfig /all ← LA commande à faire en premier
ipconfig /release
ipconfig /renew
# Linux
ip a
dhclient -r enp0s3
dhclient enp0s3