CoPP - Configuración
Control Plane Policing (CoPP) protege el plano de control del dispositivo (la CPU) limitando la tasa del tráfico dirigido a él, para evitar que un exceso de tráfico (ataques DoS, tormentas) lo sature. Se configura con la estructura MQC. La validación está en CoPP - Verificación y el diagnóstico en CoPP - Troubleshooting.
Prerrequisitos
- Tener claro qué tráfico va al plano de control (protocolos de enrutamiento, gestión SSH/SNMP, ICMP, etc.) y qué tasa es razonable para cada tipo.
Conceptos previos (estructura MQC)
Se trabaja con la estructura MQC (Modular QoS CLI), en este orden:
- Configurar ACLs: identifican cada tipo de tráfico del plano de control.
- Class-Map: agrupa el tráfico (referenciando las ACLs).
- Policy-Map: define qué hacer con cada clase (limitar/descartar).
- Service-Policy: aplica el policy-map al plano de control (
control-plane).
La idea es la del diagrama de tu diapositiva: un Policy-Map con varias clases, cada una con su límite (por ejemplo 8000 bps - Drop para una clase y 10000 bps - Drop para otra).
Comandos de configuración
1. ACLs (clasificación)
Router(config)# access-list número-ACL permit protocolo origen destino
2. Class-Map
Router(config)# class-map NOMBRE-CLASE
Router(config-cmap)# match access-group número-ACL
3. Policy-Map (acción: police)
Router(config)# policy-map NOMBRE-POLICY
Router(config-pmap)# class NOMBRE-CLASE
Router(config-pmap-c)# police tasa-bps conform-action transmit exceed-action drop
4. Service-Policy en el plano de control
Router(config)# control-plane
Router(config-cp)# service-policy input NOMBRE-POLICY
Dos ejemplos completos de configuración
Ejemplo 1 — Limitar ICMP hacia la CPU
Diseño: R1 limita el tráfico ICMP dirigido al equipo a 8000 bps para protegerse de floods de ping.
R1# configure terminal
! ACL que identifica ICMP
R1(config)# access-list 120 permit icmp any any
! Clase
R1(config)# class-map CLASE-ICMP
R1(config-cmap)# match access-group 120
R1(config-cmap)# exit
! Política con límite y descarte del exceso
R1(config)# policy-map COPP
R1(config-pmap)# class CLASE-ICMP
R1(config-pmap-c)# police 8000 conform-action transmit exceed-action drop
R1(config-pmap-c)# exit
R1(config-pmap)# exit
! Aplicar al plano de control
R1(config)# control-plane
R1(config-cp)# service-policy input COPP
R1(config-cp)# end
R1# copy running-config startup-config
Ejemplo 2 — Varias clases con distintos límites
Diseño (como el diagrama de tu diapositiva): una clase con 8000 bps y otra con 10000 bps, cada una con su ACL.
R1# configure terminal
! ACLs
R1(config)# access-list 121 permit icmp any any
R1(config)# access-list 122 permit udp any any eq snmp
! Clases
R1(config)# class-map CLASE-1
R1(config-cmap)# match access-group 121
R1(config-cmap)# exit
R1(config)# class-map CLASE-2
R1(config-cmap)# match access-group 122
R1(config-cmap)# exit
! Política con límites por clase
R1(config)# policy-map COPP
R1(config-pmap)# class CLASE-1
R1(config-pmap-c)# police 8000 conform-action transmit exceed-action drop
R1(config-pmap-c)# exit
R1(config-pmap)# class CLASE-2
R1(config-pmap-c)# police 10000 conform-action transmit exceed-action drop
R1(config-pmap-c)# exit
R1(config-pmap)# exit
R1(config)# control-plane
R1(config-cp)# service-policy input COPP
R1(config-cp)# end
R1# write memory
Verificación rápida (comprobar que quedó bien)
La validación detallada está en CoPP - Verificación.
! Política aplicada al plano de control y sus contadores
R1# show policy-map control-plane
Qué deberías ver:
- Cada clase con su límite (police) y los contadores de paquetes
conformed(dentro del límite) yexceeded(descartados).
El concepto (MQC, ACLs+class-map+policy-map+service-policy, límites con drop) es de tu diapositiva. Los detalles de
police/control-planeson estándar de Cisco. Si quieres que ajuste algo, dime.