« DHCP donne simplement une adresse IP au poste. »
Une offre DHCP peut aussi fournir le masque, la passerelle, les serveurs DNS, une durée de bail et d’autres paramètres. Une seule option erronée peut produire une panne qui ressemble à un problème réseau général.
Le poste soria-cli va démarrer sans adresse. Le serveur soria-svc lui distribuera une configuration dans le réseau 10.30.0.0/24.
À la fin de cette leçon, tu sauras…
- lancer un serveur DHCP isolé avec
dnsmasq; - observer les quatre messages principaux de DORA ;
- vérifier les paramètres réellement appliqués au client ;
- distinguer adresse, route par défaut et serveur DNS.
01Créer le laboratoire
Télécharge les deux scripts proposés dans les ressources, puis installe les outils :
sudo apt update
sudo apt install -y iproute2 iputils-ping dnsmasq-base udhcpc tcpdump python3
chmod +x module3-services-lab.sh udhcpc-soria.script
sudo ./module3-services-lab.sh up
sudo install -m 0755 udhcpc-soria.script /tmp/udhcpc-soria.script
Vérifie que le client ne possède pas encore d’IPv4 :
sudo ip -n soria-cli -brief address show eth0
eth0 UP
02Écouter les messages DHCP
Capture UDP 67 et 68
sudo ip netns exec soria-svc tcpdump -ni eth0 -vv 'udp port 67 or udp port 68'Le client ne connaît encore ni l’adresse du serveur ni sa propre adresse. Les premiers messages utilisent donc le broadcast.
03Lancer le serveur
Distribue une plage de cinquante adresses
sudo ip netns exec soria-svc dnsmasq --no-daemon --conf-file=/dev/null --interface=eth0 --bind-interfaces --dhcp-range=10.30.0.100,10.30.0.150,255.255.255.0,1h --dhcp-option=3,10.30.0.1 --dhcp-option=6,10.30.0.1 --dhcp-leasefile=/tmp/soria-dhcp.leases --pid-file=/tmp/soria-dnsmasq-dhcp.pid --log-dhcp --port=0Comprends les options importantes
dhcp-range définit le pool et la durée du bail. L’option 3 fournit la passerelle par défaut. L’option 6 fournit le serveur DNS. port=0 désactive ici la fonction DNS de dnsmasq afin d’isoler l’expérience DHCP.
04Demander un bail
Fais démarrer le client DHCP
sudo ip netns exec soria-cli udhcpc -i eth0 -s /tmp/udhcpc-soria.script -f -q -nObserveudhcpc: broadcasting discover
udhcpc: broadcasting select for 10.30.0.100
udhcpc: lease of 10.30.0.100 obtained ...Le client diffuse une recherche car il ne connaît pas encore le serveur.
Le serveur annonce une adresse et les options associées.
Le client choisit l’offre et le serveur confirme officiellement le bail.
05Valider ce qui a été appliqué
sudo ip -n soria-cli -brief address
sudo ip -n soria-cli route
cat /tmp/soria-dhcp-dns
cat /tmp/soria-dhcp.leases
| Élément | Où le vérifier | Valeur attendue |
|---|---|---|
| Adresse | ip -n soria-cli addr | 10.30.0.100–150/24 |
| Passerelle | ip -n soria-cli route | 10.30.0.1 |
| DNS proposé | /tmp/soria-dhcp-dns | 10.30.0.1 |
| Bail serveur | /tmp/soria-dhcp.leases | MAC, IP, nom et expiration |
Distribue une mauvaise passerelle
- arrête dnsmasq avec
Ctrl+C; - remplace l’option 3 par
10.30.0.254; - relance le serveur et renouvelle le bail ;
- montre que le client reçoit bien une adresse mais possède une route incorrecte ;
- corrige l’option et valide à nouveau les quatre paramètres.
06Nettoyer
sudo ./module3-services-lab.sh down
✓Ce que tu retiens
DHCP automatise une configuration complète au moyen d’un bail. DORA permet au client et au serveur de se découvrir et de confirmer l’offre. Une adresse correcte ne garantit pas une configuration correcte : la route et le DNS doivent être contrôlés séparément.