DHCP Snooping Configuration

Course Contents
1. DHCP Snooping Configuration
Ce guide de configuration du DHCP Snooping explique comment sécuriser un commutateur Cisco contre les serveurs DHCP malveillants, à l’aide d’une topologie simple et pratique.
Nous utiliserons une topologie simple : un routeur (R1) comme serveur DHCP et un PC connecté par un commutateur.

Activer DHCP Snooping
Tout d’abord, nous devons activer la fonctionnalité au niveau global:
SW1#(config)# ip dhcp snooping
Définir le VLAN à protéger
Ensuite, nous spécifions le VLAN dans lequel DHCP Snooping doit fonctionner.
Par défaut, nous utiliserons le VLAN 1.
SW1#(config)# ip dhcp snooping vlan 1
Cela indique au commutateur d’inspecter et de filtrer le trafic DHCP uniquement sur ce VLAN.
Définir l’interface de confiance
Par défaut, toutes les interfaces sont non fiables, ce qui signifie que le commutateur bloque les réponses DHCP (comme Offer et ACK) provenant de ces ports.
Vous devez faire confiance à l’interface qui se connecte au serveur DHCP légitime :

SW1(config)# interface gigabitEthernet0/0
SW1(config-if)# ip dhcp snooping trust
Cela permet aux messages DHCP du serveur d’atteindre les clients. Toutes les autres interfaces restent non fiables afin de bloquer les serveurs DHCP malhonnêtes.
Désactivation de l’option 82
Les commutateurs Cisco ajoutent par défaut l’option 82 aux messages DHCP.
Dans les réseaux simples (sans agents de relais), cela peut entraîner le rejet des demandes par le serveur DHCP.
Désactivez-la pour éviter les problèmes :
SW1(config)# no ip dhcp snooping information option
Ce sujet sera expliqué plus en détail ultérieurement.
Vérifier la configuration
Pour valider votre configuration DHCP Snooping, exécutez la commande suivante :
SW1#show ip dhcp snooping Switch DHCP snooping is enabled Switch DHCP gleaning is disabled DHCP snooping is configured on following VLANs: 1 DHCP snooping is operational on following VLANs: 1 DHCP snooping is configured on the following L3 Interfaces: Insertion of option 82 is disabled circuit-id default format: vlan-mod-port remote-id: 50f6.1504.7a00 (MAC) Option 82 on untrusted port is not allowed Verification of hwaddr field is enabled Verification of giaddr field is enabled DHCP snooping trust/rate is configured on the following Interfaces: Interface Trusted Allow option Rate limit (pps) ----------------------- ------- ------------ ---------------- GigabitEthernet0/0 yes yes unlimited Custom circuit-ids:
Cette sortie confirme que votre configuration dhcp snooping est active, que les ports de confiance sont correctement définis et que l’option 82 est désactivée.
Visualiser la Binding Table
Le commutateur suit dynamiquement les clients légitimes :
SW1#show ip dhcp snooping binding
MacAddress IpAddress Lease(sec) Type VLAN Interface
------------------ --------------- ---------- ------------- ---- --------------------
00:50:79:66:68:7B 192.168.10.10 86390 dhcp-snooping 1 GigabitEthernet0/1
Total number of bindings: 1
Ce que cela nous apprend :
- L’adresse MAC et l’adresse IP du client sont enregistrées.
- L’interface et le VLAN correspondent à notre configuration
- La durée du bail indique que l’IP est toujours valide.
Cette table permet au commutateur de suivre les clients DHCP légitimes et de bloquer le trafic provenant de sources non autorisées.
2. Rate Limiting
Après avoir terminé la configuration de dhcp snooping, il est essentiel de protéger le commutateur contre un trafic DHCP excessif qui pourrait conduire à des attaques par inondation.
Une attaque d’inondation qu’est-ce que c’est ?
Un attaquant pourrait inonder le commutateur de faux messages DHCP Discover. Cela surcharge l’unité centrale du commutateur et peut provoquer :
- Le commutateur ne traite plus correctement le DHCP
- les contrôles de sécurité tels que le DHCP Snooping échouent
- Les interfaces deviennent instables

Pour éviter cela, nous avons fixé une limite au nombre de paquets DHCP autorisés par seconde.
Configurer le Rate Limiting
Voici comment appliquer une limite de 10 paquets par seconde sur une interface orientée client.
SW1(config)# interface g0/1 SW1(config-if)# ip dhcp snooping limit rate 10
Si l’interface reçoit plus de 10 paquets DHCP par seconde, elle passe automatiquement à l’état err-disabled.
Exemple : L’interface dépasse la limite
Si une interface reçoit des messages DHCP dépassant la limite configurée, le commutateur génère des journaux indiquant que l’interface est maintenant configurée sur err-disabled (shutdown).

Lorsque la limite est dépassée, le commutateur enregistre des messages tels que :
SW1# *Jan 22 22:08:52.275: %DHCP_SNOOPING-4-DHCP_SNOOPING_ERRDISABLE_WARNING: DHCP Snooping received 11 DHCP packets on interface Gi0/1 *Jan 22 22:08:52.275: %DHCP_SNOOPING-4-DHCP_SNOOPING_RATE_LIMIT_EXCEEDED: The interface Gi0/1 is receiving more than the threshold set *Jan 22 22:08:52.275: %PM-4-ERR_DISABLE: dhcp-rate-limit error detected on Gi0/1, putting Gi0/1 in err-disable state *Jan 22 22:08:53.278: %LINEPROTO-5-UPDOWN: Line protocol on Interface Gi0/1, changed state to down *Jan 22 22:08:54.277: %LINK-3-UPDOWN: Interface GigabitEthernet0/1, changed state to down
L’interface est maintenant dans l’état err-disabled et ne peut pas traiter le trafic.
3. Re-Enable Interface
Lorsqu’une interface entre dans l’état err-disabled en raison de la limitation du débit DHCP, elle cesse de transmettre tout trafic. Il s’agit d’un mécanisme de sécurité, mais il peut perturber la connectivité.
Récupération manuelle
Pour rétablir manuellement l’interface, procédez comme suit :
SW1(config)#interface g0/1 SW1(config-if)#shutdown SW1(config-if)#no shutdown
Cette opération permet d’éteindre l’interface et de la rallumer, en supprimant l’état d’erreur. C’est efficace, mais imaginez que vous fassiez cela sur plusieurs interfaces pendant une attaque, ce n’est pas extensible.
Récupération automatique avec Error Disabled Recovery
Les commutateurs Cisco offrent une fonction appelée Error Disabled Recovery, qui permet au commutateur de réactiver automatiquement les interfaces après un délai d’attente.
Étape 1 : Vérifier les paramètres de récupération actuels
Cette commande permet de vérifier si la récupération liée au DHCP est activée :
SW1# show errdisable recovery
ErrDisable Reason Timer Status
----------------- --------------
arp-inspection Disabled
bpduguard Disabled
channel-misconfig (STP) Disabled
dhcp-rate-limit Disabled
dtp-flap Disabled
gbic-invalid Disabled
inline-power Disabled
l2ptguard Disabled
link-flap Disabled
// OUTPUT OMMITED FOR CLARITY
Timer interval: 300 seconds
Interfaces that will be enabled at the next timeout:
Comme vous le voyez ci-dessus, la liste des causes (comme bpduguard, dhcp-rate-limit, etc.) avec leur recovery status et le timer.
Notre cause dhcp-rate-limit est désactivé.
Étape 2 : Activer la récupération pour le DHCP Rate Limit
Pour l’activer :
SW1(config)#errdisable recovery cause dhcp-rate-limit
Vous pouvez également régler la durée d’attente avant la réactivation de l’interface (la valeur par défaut est de 300 secondes) :
SW1(config)#errdisable recovery interval 60
Cette option fixe le délai d’attente à 60 secondes.
Étape 3 : Vérifier les nouveaux paramètres
Une fois la configuration effectuée, confirmez avec :
SW1#show errdisable recovery ErrDisable Reason Timer Status ----------------- -------------- arp-inspection Disabled bpduguard Disabled channel-misconfig (STP) Disabled dhcp-rate-limit Enabled dtp-flap Disabled gbic-invalid Disabled inline-power Disabled l2ptguard Disabled link-flap Disabled // OUTPUT OMMITED FOR CLARITY Interface Errdisable reason Time left(sec) --------- ----------------- -------------- unicast-flood Disabled vmps Disabled psp Disabled dual-active-recovery Disabled evc-lite input mapping fa Disabled Recovery command: "clear Disabled Timer interval: 60 seconds Interfaces that will be enabled at the next timeout: Interface Errdisable reason Time left(sec) --------- ----------------- -------------- Gi0/1 dhcp-rate-limit 45
Si une interface a été arrêtée en raison d’une limitation de débit, elle apparaît désormais dans la liste des interfaces dont le rétablissement est programmé :
Cela signifie que l’interface GigabitEthernet0/1 sera rétablie dans 45 secondes.
La récupération en action
À l’expiration du délai, le commutateur tente de réactiver le port. Voici ce que cela donne dans les journaux :
*Jan 22 22:16:52.290: %PM-4-ERR_RECOVER: Attempting to recover from dhcp-rate-limit err-disable state on Gi0/1
*Jan 22 22:16:54.323: %LINK-3-UPDOWN: Interface GigabitEthernet0/1, changed state to up
*Jan 22 22:16:55.324: %LINEPROTO-5-UPDOWN: Line protocol on Interface Gi0/1, changed state to up
À ce stade, l’interface est à nouveau pleinement fonctionnelle sans nécessiter d’intervention manuelle.
4. DHCP Snooping Option 82 (Information Option)
Lorsque DHCP Snooping est activé, un commutateur Cisco insère automatiquement un champ spécial dans les messages DHCP, appelé Option 82.
Cette option inclut des détails tels que le numéro du VLAN et le port du commutateur où le client est connecté. Dans les réseaux plus avancés, un agent de relais DHCP ajoute généralement l’option 82 pour aider le serveur à déterminer l’origine de la demande.
Mais dans un réseau simple comme le nôtre, ce comportement peut poser des problèmes.
Quel est le problème ?
Le commutateur n’agit pas comme un véritable agent de relais, mais il ajoute toujours l’option 82 aux requêtes DHCP sortantes.
Voici ce qui se passe :
- Le client envoie un message DHCP DISCOVER.
- Le commutateur insère l’option 82 dans le message.
- Le serveur DHCP le voit et rejette la demande, pensant qu’elle n’est pas valide.

Comme indiqué ci-dessus, le serveur indique :
>« Vous avez l’option 82, mais vous n’êtes pas un relais DHCP. Je ne souhaite pas recevoir votre demande ! »
Cela empêche le client d’obtenir une adresse IP.
Comment résoudre ce problème : désactiver l’option 82
Pour résoudre ce problème, nous désactivons l’option 82 sur le commutateur :
SW1(config)#no ip dhcp snooping information option
Après avoir exécuté cette commande, le commutateur arrête de modifier les messages DHCP.

Le serveur considère la demande du client comme valide et répond normalement.
5. Conclusion
Prenons un moment pour revoir tout ce que vous avez appris.
Une configuration DHCP Snooping robuste protège votre réseau contre les serveurs malveillants, empêche les attaques par famine DHCP et améliore la sécurité de la couche 2.
En comprenant son fonctionnement et comment le configurer correctement, vous pouvez éviter de nombreux problèmes potentiels dans un réseau commuté.
Pour sécuriser correctement votre environnement de commutation, assurez-vous que votre configuration de surveillance DHCP inclut toutes les étapes suivantes.
Fonctionnalité | Ce qu’il fait | Pourquoi c’est important |
---|---|---|
Activer DHCP Snooping | Active la fonctionnalité globalement sur le commutateur | Protège le réseau contre les réponses DHCP non autorisées |
Définir les VLAN | Applique DHCP Snooping uniquement aux VLAN spécifiés | Limite la protection aux parties pertinentes du réseau |
Définir des interfaces de confiance | Marque les interfaces connectées à des serveurs DHCP valides comme étant fiables | Permet aux messages DHCP légitimes de passer |
Désactiver l’option 82 | Empêche le commutateur d’ajouter l’option 82 aux messages DHCP | Assure la compatibilité avec les serveurs DHCP de base |
Rate Limiting | Contrôle le nombre de paquets DHCP par seconde et par port | Empêche les attaques DoS et la surcharge du processeur du commutateur |
Récupération automatique (Errdisable) | Réactive automatiquement les ports après une violation de limite de débit | Évite l’intervention manuelle et maintient la disponibilité |
Binding Table | Suivi des adresses MAC, IP, VLAN et interface des clients DHCP | Valide le trafic et bloque les paquets falsifiés |
En combinant ces éléments, vous renforcez la sécurité de votre infrastructure de couche 2. DHCP Snooping filtre les sources non fiables et fournit la base de fonctionnalités telles que l’inspection ARP dynamique et la protection de la source IP.
Si vous souhaitez explorer des comportements avancés ou des détails spécifiques au matériel, vous pouvez vous référer au guide officiel de Cisco : Configuration de DHCP Snooping