1. Configuración de DHCP Snooping
Esta guía de configuración de DHCP Snooping explica cómo proteger un switch Cisco contra servidores DHCP no autorizados, utilizando una topología sencilla y práctica.
Utilizaremos una topología sencilla: un router (R1) como servidor DHCP y un PC conectado a través de un switch.
Figure 1 – DHCP Snooping Configuration Topology
Activar DHCP Snooping
En primer lugar, debemos activar la función de forma global:
SW1#(config)# ip dhcp snooping
Definir VLAN a proteger
A continuación, especificamos la VLAN en la que debe funcionar DHCP Snooping.
Por defecto, utilizaremos la VLAN 1.
SW1#(config)# ip dhcp snooping vlan 1
Esto indica al switch que inspeccione y filtre el tráfico DHCP sólo en esta VLAN.
Establecer interfaz de confianza
Por defecto, todas las interfaces no son de confianza, lo que significa que el switch bloquea las respuestas DHCP (como Offer y ACK) de esos puertos.
Debe confiar en la interfaz que se conecta al servidor DHCP legítimo:
Figure 2 – Setting a Trusted Interface for DHCP Snooping
SW1(config)# interface gigabitEthernet0/0
SW1(config-if)# ip dhcp snooping trust
Esto permite que los mensajes DHCP del servidor lleguen a los clientes. El resto de interfaces no son de confianza para bloquear servidores DHCP fraudulentos.
Desactivación de la opción 82
Cisco switches add Option 82
to DHCP messages by default.
In simple networks (without relay agents), this may cause the DHCP server to reject requests.
Desactívalo para evitar problemas:
SW1(config)# no ip dhcp snooping information option
Este tema se explicará con más detalle más adelante.
Verificar la configuración
Para validar la configuración de DHCP Snooping, ejecute el siguiente comando:
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:
Esta salida confirma que la configuración de dhcp snooping está activa, que los puertos de confianza están correctamente definidos y que la opción 82 está desactivada.
Ver la Binding Table
El conmutador realiza un seguimiento dinámico de los clientes legítimos:
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
Lo que esto nos dice:
Se registran la dirección MAC y la dirección IP del cliente
La interfaz y la VLAN coinciden con nuestra configuración
El tiempo de arrendamiento muestra que la IP sigue siendo válida
Esta tabla permite al switch rastrear clientes DHCP legítimos y bloquear el tráfico de fuentes no autorizadas.
2. Rate Limiting
Después de completar la configuración de dhcp snooping, es esencial proteger el switch de un tráfico DHCP excesivo que podría conducir a ataques de inundación.
¿Una inundación ataca?
Un atacante podría inundar el switch con mensajes DHCP Discover falsos. Esto sobrecarga la CPU del switch y puede causar:
El interruptor para dejar de procesar DHCP correctamente
Fallan las comprobaciones de seguridad como DHCP Snooping
Las interfaces se vuelven inestables
Figure 3 – DHCP Snooping Rate Limiting to Prevent Flood Attacks
Para evitarlo, establecemos un límite de velocidad en el número de paquetes DHCP permitidos por segundo.
Configurar la limitación de velocidad
A continuación se explica cómo aplicar un límite de 10 paquetes por segundo en una interfaz orientada al cliente.
SW1(config)# interface g0/1
SW1(config-if)# ip dhcp snooping limit rate 10
Si la interfaz recibe más de 10 paquetes DHCP por segundo, pasará automáticamente al estado deshabilitado por error.
Ejemplo: La interfaz supera el límite
Si una interfaz recibe mensajes DHCP que superan el límite configurado, el conmutador genera registros que indican que la interfaz está ahora en err-disabled (apagado).
Figure 4 – DHCP Rate Limit Exceeded: Interface Set to Err-Disabled
Cuando se supera el límite, el conmutador registra mensajes como:
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
La interfaz se encuentra ahora en el estado err-disabled y no puede procesar tráfico.
3. Volver a habilitar la interfaz
Cuando una interfaz entra en el estado err-disabled debido a la limitación de velocidad DHCP, deja de reenviar tráfico. Se trata de un mecanismo de seguridad, pero puede interrumpir la conectividad.
Recuperación manual
Para restablecer manualmente la interfaz, siga estos pasos:
SW1(config)#interface g0/1
SW1(config-if)#shutdown
SW1(config-if)#no shutdown
Esto apaga la interfaz y la vuelve a encender, borrando el estado de error. Es efectivo, pero imagina hacer esto en múltiples interfaces durante un ataque, no es escalable.
Recuperación automática con error Recuperación desactivada
Los conmutadores Cisco ofrecen una función denominada Recuperación de errores deshabilitados, que permite al conmutador volver a habilitar automáticamente las interfaces después de un tiempo de espera.
Paso 1: Comprobar la configuración actual de recuperación
Utilice este comando para ver si la recuperación relacionada con DHCP está activada:
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:
As you see above the list of causes (like bpduguard,
dhcp-rate-limit
, etc.) with their recovery status and timer.
Nuestra causa dhcp-rate-limit está desactivada.
Paso 2: Activar la recuperación para el límite de velocidad DHCP
Para activarlo:
SW1(config)#errdisable recovery cause dhcp-rate-limit
También puede ajustar el tiempo que el conmutador espera antes de reactivar la interfaz (el valor predeterminado es 300 segundos):
SW1(config)#errdisable recovery interval 60
Esto establece el tiempo de espera en 60 segundos.
Paso 3: Verificar la nueva configuración
Una vez configurado, confirme con:
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 una interfaz se cerró debido a la limitación de velocidad, ahora aparecerá en la lista de interfaces programadas para su recuperación:
Esto significa que la interfaz GigabitEthernet0/1 volverá a funcionar en 45 segundos.
Recuperación en acción
Cuando expira el temporizador, el switch intenta volver a habilitar el puerto. Esto es lo que se ve en los registros:
*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
En este punto, la interfaz vuelve a ser totalmente funcional sin necesidad de intervención manual.
4. DHCP Snooping Opción 82 (Opción de información)
When DHCP Snooping is enabled, a Cisco switch automatically inserts a special field into DHCP messages called Option 82
.
Esta opción incluye detalles como el número de VLAN y el puerto del switch al que está conectado el cliente. En redes más avanzadas, un agente de retransmisión DHCP suele añadir la Opción 82 para ayudar al servidor a rastrear el origen de la solicitud.
Pero en una red sencilla como la nuestra, este comportamiento puede causar problemas.
¿Cuál es el problema?
El switch no está actuando como un verdadero agente de retransmisión, pero sigue añadiendo la Opción 82 a las peticiones DHCP salientes.
Esto es lo que ocurre:
El cliente envía un DHCP DISCOVER.
El conmutador inserta la opción 82 en el mensaje.
El servidor DHCP lo ve y rechaza la solicitud, pensando que no es válida.
Figure 5 – DHCP Option 82 Issue with Non-Relay Switch
Como se muestra arriba, el servidor dice:
>"¡Tienes la Opción 82, pero no eres un DHCP Relay no quiero tu petición!".
Esto evita que el cliente obtenga una dirección IP.
Cómo solucionarlo: Desactivar la Opción 82
Para solucionarlo, desactivamos la opción 82 en el conmutador:
SW1(config)#no ip dhcp snooping information option
Después de ejecutar este comando, el switch deja de modificar los mensajes DHCP.
Figure 6 – Disabling Option 82 to Allow Valid DHCP Requests
El servidor considera válida la solicitud del cliente y responde con normalidad.
5. Conclusión
Dediquemos un momento a repasar todo lo que has aprendido.
Una buena configuración de DHCP Snooping protege su red de servidores falsos, previene ataques de DHCP y mejora la seguridad de Capa 2.
Entender cómo funciona y cómo configurarlo correctamente puede evitar muchos problemas potenciales en una red conmutada.
Para asegurar adecuadamente su entorno de conmutación, asegúrese de que su configuración de dhcp snooping incluye todos los pasos siguientes.
Característica | Qué hace | Por qué es importante |
---|---|---|
Activar DHCP Snooping | Activa la función globalmente en el conmutador | Protege la red de respuestas DHCP no autorizadas |
Definir VLAN | Aplica DHCP Snooping sólo a las VLAN especificadas | Limita la protección a las partes pertinentes de la red |
Establecer interfaces de confianza | Marca las interfaces conectadas a servidores DHCP válidos como de confianza | Permite el paso de mensajes DHCP legítimos |
Desactivar opción 82 | Evita que el switch añada la Opción 82 a los mensajes DHCP | Garantiza la compatibilidad con los servidores DHCP básicos |
Rate Limiting | Controla el número de paquetes DHCP por segundo y por puerto | Evita los ataques DoS y la sobrecarga de la CPU del conmutador |
Recuperación automática (Errdisable) | Vuelve a habilitar los puertos automáticamente tras una violación del límite de velocidad | Evita la intervención manual y mantiene el tiempo de actividad |
Binding Table | Rastrea MAC, IP, VLAN e interfaz de clientes DHCP | Valida el tráfico y bloquea los paquetes falsos |
Table 1 – Summary of DHCP Snooping Configuration Features
Combinando estos elementos, reforzará la seguridad de su infraestructura de Capa 2. DHCP Snooping filtra las fuentes no fiables y proporciona la base para funciones como la inspección ARP dinámica y la protección de origen IP.
Si desea explorar comportamientos avanzados o detalles específicos del hardware, puede consultar la guía oficial de Cisco: Configuración de DHCP Snooping