Votre VM affiche 169.254.x.x au lieu d’une vraie adresse IP ? C’est le signe que le DHCP n’a pas fonctionné. Ce module vous explique comment DHCP attribue automatiquement les adresses IP et comment diagnostiquer quand ça ne marche pas — une compétence indispensable quand vous déployez des VMs ou des conteneurs.
TL;DR — L’essentiel en 30 secondes
Section intitulée « TL;DR — L’essentiel en 30 secondes »- DHCP = attribution automatique d’IP (vous n’avez rien à configurer)
- 169.254.x.x = DHCP a échoué (APIPA, auto-attribution sans serveur)
- DORA = Discover → Offer → Request → Acknowledge
- Si problème VM : vérifiez que le réseau est en mode “Bridge” ou “NAT” (pas “Host-only”)
Je sais que c’est bon si…
Section intitulée « Je sais que c’est bon si… »-
ip addraffiche une IP dans le bon sous-réseau (pas 169.254.x.x) -
ip routemontre une passerelle par défaut -
resolvectl statusou/etc/resolv.confmontre un serveur DNS
Commandes minimales à retenir
Section intitulée « Commandes minimales à retenir »# 1. Voir mon IP actuelleip addr show
# 2. Voir la passerelleip route | grep default
# 3. Forcer un renouvellement DHCPsudo dhclient -v eth0 # remplacer eth0 par votre interfacePrérequis
Section intitulée « Prérequis »- Module 3 complété : vous comprenez les adresses IP et les masques
- Module 4 complété : vous savez ce qu’est une passerelle
- Module 5 complété : vous comprenez le rôle du DNS
- Une machine Linux connectée à un réseau avec DHCP
Quick check en 1 minute (si vous êtes en incident)
Section intitulée « Quick check en 1 minute (si vous êtes en incident) »Si vous avez un problème DHCP maintenant, voici la séquence rapide :
# 1. Interface UP ?ip link show
# 2. Quelle IP ? (169.254.x.x = problème)ip addr show
# 3. Passerelle configurée ?ip route show | grep default
# 4. DNS configuré ?resolvectl status # ou cat /etc/resolv.conf
# 5. Forcer un renouvellement DHCP (verbose)sudo dhclient -v eth0 # remplacez eth0 par votre interface
# 6. Observer le trafic DHCPsudo tcpdump -ni eth0 port 67 or port 68Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Le problème que DHCP résout : configuration réseau automatique
- Le processus DORA : les 4 étapes de l’attribution d’IP
- Ce que DHCP fournit : IP, masque, passerelle, DNS
- Le bail DHCP : durée et renouvellement
- Les problèmes courants : 169.254.x.x, pas de DHCP, bail expiré
- Cas pratiques : VMs, conteneurs, cloud
Le problème que DHCP résout
Section intitulée « Le problème que DHCP résout »Sans DHCP, vous devriez configurer manuellement chaque machine :
- Choisir une adresse IP non utilisée
- Saisir le masque de sous-réseau
- Configurer la passerelle par défaut
- Renseigner les serveurs DNS
Imaginez faire ça pour 100 machines. Ou pire : gérer les conflits quand deux machines ont la même IP.
DHCP (Dynamic Host Configuration Protocol) automatise tout ça. Un serveur DHCP — souvent votre box ou routeur — distribue les configurations réseau à la demande.
| Sans DHCP | Avec DHCP |
|---|---|
| Configuration manuelle | Configuration automatique |
| Risque de conflits d’IP | IPs uniques garanties |
| Maintenance fastidieuse | Centralisée |
| Erreurs de saisie | Pas d’erreur humaine |
Le processus DORA : comment ça marche
Section intitulée « Le processus DORA : comment ça marche »L’attribution d’une adresse IP par DHCP se fait en 4 étapes. On les retient avec l’acronyme DORA : Discover, Offer, Request, Acknowledge.
-
Discover — Le client cherche un serveur
Quand votre machine démarre sans IP, elle envoie un message broadcast (à tout le réseau) : “Y a-t-il un serveur DHCP ici ?”
Ce message est envoyé depuis
0.0.0.0(pas d’IP source) vers255.255.255.255(tout le monde). -
Offer — Le serveur propose une IP
Le serveur DHCP reçoit la demande et répond : “Voici une IP disponible : 192.168.1.50. Tu la veux ?”
L’offre inclut aussi le masque, la passerelle et les DNS.
-
Request — Le client accepte
Le client répond (toujours en broadcast, car il n’a pas encore d’IP) : “OK, je prends 192.168.1.50.”
Pourquoi en broadcast ? Pour informer les autres serveurs DHCP (s’il y en a plusieurs) que l’offre est acceptée.
-
Acknowledge — Le serveur confirme
Le serveur valide : “C’est noté, 192.168.1.50 est à toi pour les 24 prochaines heures (le bail).”
Le client peut maintenant utiliser cette configuration.
Ce que DHCP fournit
Section intitulée « Ce que DHCP fournit »DHCP ne donne pas qu’une adresse IP. Il fournit une configuration réseau complète :
| Élément | Rôle | Exemple |
|---|---|---|
| Adresse IP | Identifie la machine | 192.168.1.50 |
| Masque | Définit le réseau local | 255.255.255.0 |
| Passerelle | Route vers Internet | 192.168.1.1 |
| Serveurs DNS | Résolution de noms | 192.168.1.1, 8.8.8.8 |
Options supplémentaires (selon la configuration) :
- Durée du bail : combien de temps l’IP est réservée
- Serveur NTP : pour synchroniser l’heure
- Domaine de recherche : suffixe DNS ajouté aux noms courts
Options DHCP les plus courantes (à connaître)
Section intitulée « Options DHCP les plus courantes (à connaître) »Quand vous dépannez DHCP ou configurez un serveur, ces options reviennent souvent :
| Option | Nom | Contenu | Utilité |
|---|---|---|---|
| 3 | Router | Adresse de la passerelle | Sortir du réseau local |
| 6 | DNS Servers | Liste des serveurs DNS | Résolution de noms |
| 15 | Domain Name | Domaine de recherche | Compléter les noms courts |
| 51 | Lease Time | Durée du bail en secondes | Contrôler la fréquence de renouvellement |
| 54 | Server Identifier | IP du serveur DHCP | Identifier qui a attribué l’IP |
| 42 | NTP Servers | Serveurs de temps | Synchronisation horaire |
Vérifier ce que DHCP vous a donné
Section intitulée « Vérifier ce que DHCP vous a donné »Sur Linux, plusieurs commandes permettent de voir la configuration reçue :
# Voir votre IP et masqueip addr show
# Voir votre passerelleip route show
# Voir vos serveurs DNScat /etc/resolv.conf# ou sur systemdresolvectl statusLe bail DHCP (lease)
Section intitulée « Le bail DHCP (lease) »L’adresse IP n’est pas donnée définitivement. Elle est louée pour une durée limitée : c’est le bail (lease).
Durée typique
Section intitulée « Durée typique »| Contexte | Durée de bail |
|---|---|
| Réseau domestique | 24 heures |
| Réseau d’entreprise | 8 heures |
| Réseau public (café, hôtel) | 1-2 heures |
| Cloud / VM | Variable (souvent 1 heure) |
Cycle de vie du bail
Section intitulée « Cycle de vie du bail »Obtention 50% 87.5% Expiration │ │ │ │ ▼ ▼ ▼ ▼[DORA] → [Renewal T1] → [Rebind T2] → [Bail expiré]- T1 (50%) : le client essaie de renouveler avec le même serveur (unicast)
- T2 (87.5%) : le client essaie avec n’importe quel serveur DHCP (broadcast)
- Expiration : l’IP est libérée, retour à DORA
Forcer un renouvellement
Section intitulée « Forcer un renouvellement »Si vous voulez obtenir une nouvelle IP ou renouveler le bail :
# Libérer l'IP actuellesudo dhclient -r eth0
# Demander une nouvelle IPsudo dhclient eth0# Renouveler le bailsudo networkctl renew eth0
# Reconfigurer complètementsudo networkctl reconfigure eth0# Relancer la connexionsudo nmcli connection down "Connexion filaire 1"sudo nmcli connection up "Connexion filaire 1"
# Ou en une commandesudo nmcli device reapply eth0IP statique vs DHCP : quand choisir quoi ?
Section intitulée « IP statique vs DHCP : quand choisir quoi ? »| Situation | Recommandation | Pourquoi |
|---|---|---|
| Poste de travail | DHCP | Flexibilité, pas de maintenance |
| Serveur en production | IP statique | Stabilité, DNS prévisible |
| Imprimante réseau | Réservation DHCP | IP fixe sans config manuelle |
| VM de test | DHCP | Création/destruction fréquentes |
| Conteneur | DHCP (géré par l’orchestrateur) | IP éphémères |
Problèmes DHCP courants et diagnostic
Section intitulée « Problèmes DHCP courants et diagnostic »L’adresse 169.254.x.x (APIPA)
Section intitulée « L’adresse 169.254.x.x (APIPA) »Si votre machine affiche une IP en 169.254.x.x, c’est le signe que DHCP a échoué.
ip addr show eth0Sortie problématique :
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> inet 169.254.45.123/16 brd 169.254.255.255 scope linkAPIPA (Automatic Private IP Addressing), aussi appelé IPv4 Link-Local (RFC 3927), est un mécanisme de secours. Selon l’OS et la configuration, la machine peut s’auto-attribuer une IP dans la plage 169.254.0.0/16 quand DHCP échoue.
Conséquences :
- Pas d’accès à Internet (pas de passerelle)
- Communication possible uniquement avec d’autres machines APIPA sur le même réseau physique
Diagnostic pas à pas
Section intitulée « Diagnostic pas à pas »-
Vérifier l’état de l’interface
Fenêtre de terminal ip link show eth0L’interface est-elle
UP? Le câble est-il branché ? -
Vérifier si DHCP est actif
Fenêtre de terminal # Voir les processus DHCPps aux | grep -E "dhclient|dhcpcd|NetworkManager" -
Relancer DHCP manuellement
Fenêtre de terminal sudo dhclient -v eth0L’option
-v(verbose) montre les étapes DORA en temps réel. -
Vérifier si le serveur DHCP répond
Fenêtre de terminal # Écouter le trafic DHCP (remplacez eth0 par votre interface)sudo tcpdump -ni eth0 port 67 or port 68Sortie attendue (DORA complet) :
12:34:56 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from aa:bb:cc:dd:ee:ff, length 30012:34:56 IP 192.168.1.1.67 > 192.168.1.50.68: BOOTP/DHCP, Reply, length 30012:34:56 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from aa:bb:cc:dd:ee:ff, length 30012:34:56 IP 192.168.1.1.67 > 192.168.1.50.68: BOOTP/DHCP, Reply, length 300Diagnostic :
Vous voyez Signification Action Discover sans Offer Serveur DHCP injoignable Vérifier serveur, câble, VLAN, relay Discover + Offer sans Request Client ne répond pas Vérifier client, pare-feu local DORA complet mais pas d’IP Configuration client Vérifier dhclient, NetworkManager Rien du tout Interface down ou mauvais filtre Vérifier ip link, nom interface -
Vérifier la configuration obtenue
Fenêtre de terminal # Fichier de bail (selon le client)cat /var/lib/dhcp/dhclient.eth0.leases# oucat /var/lib/dhclient/dhclient.leases
Tableau de diagnostic rapide
Section intitulée « Tableau de diagnostic rapide »| Symptôme | Cause probable | Solution |
|---|---|---|
169.254.x.x | Pas de serveur DHCP | Vérifier le serveur, le câble, le VLAN |
| IP normale mais pas de gateway | DHCP partiel | Vérifier config serveur DHCP |
| IP qui change souvent | Bail court | Configurer une réservation |
| ”No lease, failing” | Serveur down ou filtré | Vérifier connectivité au serveur |
| Conflit d’IP | IP statique sur une plage DHCP | Exclure les IP statiques de la plage |
DHCP et VLANs : le relais DHCP
Section intitulée « DHCP et VLANs : le relais DHCP »En entreprise, vous rencontrerez souvent des VLANs (réseaux virtuels séparés). Problème : DHCP ne fonctionne pas directement entre VLANs.
Pourquoi un relais est nécessaire
Section intitulée « Pourquoi un relais est nécessaire »- Le client DHCP envoie un broadcast (Discover)
- Les routeurs ne relaient pas les broadcasts entre sous-réseaux par défaut
- Le serveur DHCP sur un autre VLAN ne reçoit jamais la requête
Solution : configurer un relais DHCP (DHCP relay / ip helper-address) sur le routeur.
┌─────────────┐ ┌─────────────┐ ┌─────────────┐│ Client │ 1. Discover │ Routeur │ 2. Relais │ Serveur ││ VLAN 20 │ ──────────────────►│ (relay) │ ──────────────────►│ DHCP ││ │ │ │ │ VLAN 10 ││ │◄──────────────────────────────────────────────────────│ │└─────────────┘ 4. Offer (via relay) 3. Offer └─────────────┘Le routeur transforme le broadcast en unicast vers le serveur DHCP, puis retourne la réponse au bon VLAN.
Sécurité DHCP (à connaître en production)
Section intitulée « Sécurité DHCP (à connaître en production) »Même pour un module débutant/intermédiaire, vous devez connaître les risques DHCP en production :
| Attaque | Description | Impact |
|---|---|---|
| Rogue DHCP | Serveur DHCP pirate sur le réseau | Clients redirigés vers une fausse passerelle (MITM) |
| DHCP Starvation | Épuisement du pool par requêtes massives | Plus d’IP disponibles, DoS |
| Spoofing | Usurpation d’identité via MAC forgé | Vol d’IP réservée |
Mesures de protection
Section intitulée « Mesures de protection »- DHCP Snooping : le switch n’autorise que les serveurs DHCP légitimes (ports “trusted”)
- Port Security : limite le nombre de MAC par port
- Segmentation : isoler les VLANs sensibles
- Logs centralisés : surveiller les attributions anormales
Cas pratiques en contexte DevOps
Section intitulée « Cas pratiques en contexte DevOps »VM cloud (AWS, GCP, Azure)
Section intitulée « VM cloud (AWS, GCP, Azure) »Dans le cloud, le DHCP est géré par l’hyperviseur. Chaque VM reçoit automatiquement :
- Une IP privée du subnet
- La passerelle du VPC
- Les serveurs DNS du cloud (ou les vôtres si configurés)
# Sur une VM AWS, vérifier la configurationip addr showip route showcat /etc/resolv.confConteneurs Docker
Section intitulée « Conteneurs Docker »Docker n’utilise pas DHCP au sens protocolaire. Il gère l’attribution d’IP via son IPAM interne (IP Address Management) sur les réseaux bridge :
# Créer un conteneur et voir son IPdocker run --rm alpine ip addr
# Voir la configuration du réseau bridge (dont l'IPAM)docker network inspect bridgeLes conteneurs reçoivent souvent une IP dans la plage 172.17.0.0/16 par défaut, mais cette plage est configurable (daemon.json ou création de réseau custom).
Kubernetes
Section intitulée « Kubernetes »Dans la plupart des clusters Kubernetes, les pods reçoivent leur IP du CNI (Container Network Interface) via son propre IPAM, pas de DHCP. Le principe reste similaire : attribution automatique depuis un pool configuré.
# Voir l'IP d'un podkubectl get pod mon-pod -o wideTravaux pratiques
Section intitulée « Travaux pratiques »TP 1 : Observer votre configuration DHCP
Section intitulée « TP 1 : Observer votre configuration DHCP »-
Affichez votre configuration actuelle
Fenêtre de terminal ip addr showip route showcat /etc/resolv.confNotez votre IP, masque, passerelle et DNS.
-
Vérifiez le bail DHCP
Fenêtre de terminal # Chercher le fichier de bailfind /var/lib -name "*lease*" 2>/dev/nullcat /var/lib/dhcp/dhclient.*.leasesQuelle est la durée du bail ?
-
Identifiez votre serveur DHCP
Dans le fichier de bail, cherchez
dhcp-server-identifier.
TP 2 : Simuler un renouvellement DHCP
Section intitulée « TP 2 : Simuler un renouvellement DHCP »-
Lancez tcpdump pour observer
Fenêtre de terminal sudo tcpdump -i eth0 port 67 or port 68 -n -
Dans un autre terminal, forcez un renouvellement
Fenêtre de terminal sudo dhclient -r eth0 && sudo dhclient -v eth0 -
Observez les 4 étapes DORA
Vous devriez voir :
- DHCP Discover (votre machine)
- DHCP Offer (le serveur)
- DHCP Request (votre machine)
- DHCP ACK (le serveur)
TP 3 : Simuler une panne DHCP
Section intitulée « TP 3 : Simuler une panne DHCP »-
Libérez votre IP
Fenêtre de terminal sudo dhclient -r eth0 -
Vérifiez que vous n’avez plus d’IP
Fenêtre de terminal ip addr show eth0L’interface devrait n’avoir qu’une adresse IPv6 link-local.
-
Attendez quelques secondes
Sans intervention, la machine peut passer en APIPA ou rester sans IP.
-
Récupérez une IP
Fenêtre de terminal sudo dhclient eth0
À retenir
Section intitulée « À retenir »- DHCP automatise la configuration réseau (IP, masque, gateway, DNS)
- DORA : Discover → Offer → Request → Acknowledge (4 étapes UDP)
- 169.254.x.x = APIPA = pas de serveur DHCP trouvé
- Bail : l’IP est louée pour une durée limitée (souvent 24h)
dhclient -v eth0: force un renouvellement et montre le processus- Réservation DHCP : IP fixe sans config manuelle sur la machine
- VMs/conteneurs : DHCP géré par l’hyperviseur ou l’orchestrateur
Testez vos connaissances
Section intitulée « Testez vos connaissances »Contrôle de connaissances
Validez vos connaissances avec ce quiz interactif
Informations
- Le chronomètre démarre au clic sur Démarrer
- Questions à choix multiples, vrai/faux et réponses courtes
- Vous pouvez naviguer entre les questions
- Les résultats détaillés sont affichés à la fin
Lance le quiz et démarre le chronomètre
Vérification
(0/0)Profil de compétences
Quoi faire maintenant
Ressources pour progresser
Des indices pour retenter votre chance ?
Nouveau quiz complet avec des questions aléatoires
Retravailler uniquement les questions ratées
Retour à la liste des certifications