Résumé : Le protocole DHCP (Dynamic Host Configuration Protocol) est un protocole essentiel pour la gestion des réseaux modernes, en particulier dans les environnements segmentés. Cet article technique approfondi traite de la mise en œuvre de la configuration DHCP pour plusieurs VLAN en utilisant l’architecture « router-on-a-stick » sur les équipements Cisco. Nous explorerons les concepts du trunking 802.1Q, les mécanismes de relais DHCP, l’analyse du flux de paquets et fournirons des commandes CLI complètes pour la configuration et le dépannage. Ce guide est conçu pour les administrateurs réseau souhaitant optimiser la gestion des adresses IP dans une infrastructure multi-VLAN de manière efficace et sécurisée.
Dans les réseaux d’entreprise de moyenne à grande taille, la segmentation par VLAN (Réseau Local Virtuel) est une norme pour améliorer la sécurité, les performances et la gestion du trafic. Cependant, chaque VLAN nécessite un bloc d’adresses IP unique (sous-réseau). Gérer manuellement les adresses IP dans chaque sous-réseau est une tâche inefficace et sujette aux erreurs. C’est là que le rôle de la configuration DHCP pour plusieurs VLAN devient une solution stratégique.
Le DHCP fonctionne au niveau de la couche application en utilisant les ports UDP 67 (serveur) et 68 (client). Dans un scénario multi-VLAN, les diffusions DHCP d’un client dans un VLAN ne sont pas transmises aux autres VLAN par défaut. Par conséquent, un intermédiaire—généralement un routeur ou un commutateur de couche 3—est nécessaire pour agir en tant qu’Agent de Relais DHCP. Le routeur transmet ces messages de diffusion DHCP au serveur DHCP spécifié, qui peut se trouver sur un sous-réseau différent ou être intégré au routeur lui-même.


Le flux de communication dans une configuration DHCP pour plusieurs VLAN suit le processus DORA (Découverte, Offre, Requête, Accusé de réception), modifié pour un environnement avec trunk :
- Découverte DHCP (Diffusion) : Un client dans le VLAN 10 envoie un message DHCPDISCOVER en diffusion de couche 2.
- Étiquetage VLAN : Le commutateur ajoute une étiquette 802.1Q (ID de VLAN 10) à la trame Ethernet avant de l’envoyer sur le port trunk.
- Transport par Trunk : La trame étiquetée est transférée via la liaison trunk vers le routeur.
- Traitement par Sous-interface : Le routeur, en fonction de l’ID de VLAN dans l’étiquette, reçoit et traite la trame sur la sous-interface appropriée (ex : GigabitEthernet0/0.10).
- Offre DHCP (Unicast) : Le routeur, agissant comme serveur DHCP, répond avec un DHCPOFFER contenant une adresse IP du pool 192.168.10.0/24.
- Attribution d’Adresse : Le client reçoit finalement un paquet DHCPACK contenant l’adresse IP, le masque de sous-réseau, la passerelle par défaut (192.168.10.1) et les informations DNS.
Analyse de l’Encapsulation et du Flux de Paquets
Une compréhension approfondie de l’encapsulation est cruciale pour le dépannage. Voici les couches de protocole impliquées dans une configuration DHCP pour plusieurs VLAN :
| Couche OSI | Composant Clé | Fonction dans le DHCP Multi-VLAN |
| Liaison de Données (L2) | En-tête 802.1Q | Contient l’information d’ID de VLAN (12 bits) dans une étiquette de 4 octets insérée entre l’adresse MAC source et l’EtherType. |
| Réseau (L3) | En-tête IP / Adresse Helper | Convertit les paquets de diffusion DHCP en unicast pour qu’ils puissent être routés entre sous-réseaux si le serveur DHCP se trouve sur un autre réseau. |
| Transport (L4) | Ports UDP 67/68 | Ports standard pour la communication entre le serveur (67) et le client (68). |
| Application (L7) | Options DHCP (Champ 55) | Transporte des paramètres de configuration supplémentaires comme l’adresse DNS, le nom de domaine, la durée de bail et l’adresse du serveur TFTP (pour la VoIP). |
Mise en œuvre de la Configuration du Commutateur
La configuration du commutateur implique la création de VLAN et la définition des ports en mode accès ou trunk. Un port trunk transporte le trafic de plusieurs VLAN avec des étiquettes 802.1Q.
! Étape 1 : Créer les VLAN dans la base de données du commutateur
Switch# configure terminal
Switch(config)# vlan 10
Switch(config-vlan)# name Ingenierie
Switch(config-vlan)# exit
Switch(config)# vlan 20
Switch(config-vlan)# name Marketing
Switch(config-vlan)# exit
Switch(config)# vlan 30
Switch(config-vlan)# name Operations
Switch(config-vlan)# exit
! Étape 2 : Configurer les Ports d'Accès (Client)
Switch(config)# interface fastEthernet 0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
Switch(config-if)# description PC-Ingenierie
Switch(config-if)# exit
Switch(config)# interface fastEthernet 0/2
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 20
Switch(config-if)# description PC-Marketing
Switch(config-if)# exit
! Étape 3 : Configurer le Port Trunk vers le Routeur
Switch(config)# interface gigabitEthernet 0/1
Switch(config-if)# switchport trunk encapsulation dot1q ! Important sur certaines plateformes
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk native vlan 999 ! Changer le VLAN natif (par défaut 1) pour la sécurité
Switch(config-if)# description TRUNK-vers-Routeur-G0/0
Switch(config-if)# end
! Vérification : Vérifier l'état des VLAN et du Trunk
Switch# show vlan brief
Switch# show interfaces trunk
Switch# show interfaces gigabitEthernet 0/1 switchportConfiguration du Routeur en tant que Serveur DHCP Central
Le routeur est configuré avec une sous-interface pour chaque VLAN. Chaque sous-interface obtient une adresse IP qui sert de passerelle par défaut pour ce VLAN et exécute le service DHCP.
! Étape 1 : Créer des Sous-interfaces avec Encapsulation 802.1Q
Router# configure terminal
Router(config)# interface gigabitEthernet 0/0
Router(config-if)# no ip address ! Supprimer l'adresse IP de l'interface physique
Router(config-if)# no shutdown
Router(config-if)# exit
! Sous-interface pour le VLAN 10
Router(config)# interface gigabitEthernet 0/0.10
Router(config-subif)# description Serveur-DHCP-pour-VLAN10-Ingenierie
Router(config-subif)# encapsulation dot1Q 10 ! Doit correspondre à l'ID de VLAN sur le commutateur
Router(config-subif)# ip address 192.168.10.1 255.255.255.0
! Si utilisation d'un serveur DHCP externe, utiliser : ip helper-address <ip-serveur-dhcp>
Router(config-subif)# exit
! Sous-interfaces pour les VLAN 20 et 30 (configuration similaire)
Router(config)# interface gigabitEthernet 0/0.20
Router(config-subif)# encapsulation dot1Q 20
Router(config-subif)# ip address 192.168.20.1 255.255.255.0
Router(config-subif)# exit
Router(config)# interface gigabitEthernet 0/0.30
Router(config-subif)# encapsulation dot1Q 30
Router(config-subif)# ip address 192.168.30.1 255.255.255.0
Router(config-subif)# exit
! Étape 2 : Configurer les Pools DHCP pour Chaque VLAN
Router(config)# ip dhcp pool VLAN10_POOL
Router(dhcp-config)# network 192.168.10.0 255.255.255.0
Router(dhcp-config)# default-router 192.168.10.1
Router(dhcp-config)# dns-server 8.8.8.8 1.1.1.1 ! DNS primaire et secondaire
Router(dhcp-config)# domain-name entreprise.local
Router(dhcp-config)# lease 8 ! Durée du bail de 8 jours
Router(dhcp-config)# option 150 ip 192.168.10.100 ! Exemple pour serveur TFTP (VoIP)
Router(dhcp-config)# exit
! Exclure les plages d'adresses qui ne doivent pas être distribuées (pour périphériques statiques)
Router(config)# ip dhcp excluded-address 192.168.10.1 192.168.10.10
Router(config)# ip dhcp excluded-address 192.168.10.250 192.168.10.254
! Répéter le même processus pour les pools des VLAN 20 et 30
Router(config)# ip dhcp pool VLAN20_POOL
Router(dhcp-config)# network 192.168.20.0 255.255.255.0
Router(dhcp-config)# default-router 192.168.20.1
... (et ainsi de suite)
! Étape 3 : Activer le Routage Inter-VLAN (si nécessaire)
Router(config)# ip routing ! S'assurer que le routage IPv4 est activé globalementDépannage et Vérification Approfondis
Après la configuration, une vérification multi-niveaux est fortement recommandée pour assurer le succès de la configuration DHCP pour plusieurs VLAN.
! 1. Vérifier l'État des Interfaces et VLAN sur le Routeur
Router# show ip interface brief | include 0/0. ! Vérifier l'état des sous-interfaces
Router# show vlans ! Cartographie détaillée VLAN vers sous-interface
! 2. Vérifier les Baux et les Statistiques DHCP
Router# show ip dhcp binding ! Lister toutes les adresses attribuées avec l'adresse MAC du client
Router# show ip dhcp pool ! Vérifier l'utilisation de chaque pool (utilisé/libre)
Router# show ip dhcp server statistics ! Statistiques des paquets et des erreurs
! 3. Débogage en Temps Réel (À utiliser avec prudence en production)
Router# debug ip dhcp server packet ! Voir l'échange de paquets DHCP (DORA)
Router# debug ip dhcp server events ! Voir les événements comme la création/renouvellement de baux
! 4. Vérification Côté Client et Connectivité
! Sur le client PC, utiliser les commandes spécifiques au système d'exploitation :
! Windows : ipconfig /all
! Linux : dhclient -v ou journalctl -u systemd-networkd
! Ensuite, tester la connectivité vers la passerelle et entre VLAN (si le routage est autorisé) :
! ping 192.168.10.1
! ping 192.168.20.50Bonnes Pratiques de Sécurité et Optimisation
- Activer DHCP Snooping : Fonction de sécurité du commutateur pour prévenir les attaques de serveurs DHCP non autorisés.
Switch(config)# ip dhcp snooping
Switch(config)# ip dhcp snooping vlan 10,20,30
Switch(config)# interface gigabitEthernet 0/1
Switch(config-if)# ip dhcp snooping trust ! Marquer le port trunk vers le routeur comme de confiance - Définir une Durée de Bail Stratégique : Les VLAN d’utilisateurs permanents (PC) peuvent avoir des baux plus longs (7-8 jours), tandis que les VLAN invités devraient être courts (1-8 heures).
- Utiliser l’Adresse Helper pour les Serveurs DHCP Externes : Pour une meilleure évolutivité, rediriger les requêtes vers un serveur DHCP dédié (comme ISC DHCPd ou Microsoft Server).
Router(config-subif)# ip helper-address 10.0.0.100 - Surveillance et Journalisation : Activer syslog pour enregistrer les événements DHCP comme les conflits d’adresses ou les pools presque épuisés.


La mise en œuvre de la configuration DHCP pour plusieurs VLAN avec le modèle router-on-a-stick convient aux réseaux avec un nombre modéré de VLAN (jusqu’à 50-100 VLAN, selon la plateforme routeur). Pour des environnements plus vastes et complexes, envisagez une architecture basée sur un Commutateur de Couche 3 comme passerelle et relais DHCP, ou utilisez un appareil serveur DHCP dédié pour des performances et une fiabilité maximales.
En comprenant les principes, la configuration et le dépannage décrits ci-dessus, vous pouvez concevoir et gérer la distribution d’adresses IP de manière évolutive, sécurisée et efficace dans un environnement réseau multi-VLAN. Pour plus d’informations sur les normes et la configuration avancée, veuillez consulter la documentation officielle de Cisco sur le DHCP et les spécifications IEEE 802.1Q.
