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