Architecture des réseaux · Étape 11

Distribue une configuration IPv4 avec DHCP

Fais démarrer un poste sans adresse, observe DORA dans une capture et vérifie l'adresse, la route et le DNS reçus.

Durée indicative · ~1 h 15Niveau intermédiairePrérequis conseillé · Module 2 — IPv4, préfixes et plan d'adressagePratique · TP
L’idée reçue

« 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.

Clientsoria-cliaucune IPv4 au départ
⇄ DHCP
Serveursoria-svc10.30.0.1/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

Terminal 1

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

Terminal 2

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=0
Comprends 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

Terminal 3

Fais démarrer le client DHCP

sudo ip netns exec soria-cli udhcpc -i eth0 -s /tmp/udhcpc-soria.script -f -q -n
Observe
udhcpc: broadcasting discover
udhcpc: broadcasting select for 10.30.0.100
udhcpc: lease of 10.30.0.100 obtained ...
DiscoverQui peut me configurer ?

Le client diffuse une recherche car il ne connaît pas encore le serveur.

OfferJe te propose ce bail

Le serveur annonce une adresse et les options associées.

Request + AckJe demande, puis je reçois

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
Ne te contente pas du message « lease obtained ». Vérifie toujours séparément l’adresse, le préfixe, la route et le DNS.
ÉlémentOù le vérifierValeur attendue
Adresseip -n soria-cli addr10.30.0.100–150/24
Passerelleip -n soria-cli route10.30.0.1
DNS proposé/tmp/soria-dhcp-dns10.30.0.1
Bail serveur/tmp/soria-dhcp.leasesMAC, IP, nom et expiration
Panne volontaire

Distribue une mauvaise passerelle

  1. arrête dnsmasq avec Ctrl+C ;
  2. remplace l’option 3 par 10.30.0.254 ;
  3. relance le serveur et renouvelle le bail ;
  4. montre que le client reçoit bien une adresse mais possède une route incorrecte ;
  5. 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.

Ta progression

Chargement de l’état… Se connecter pour synchroniser.