Защита плоскости управления маршрутизатора: настройка CoPP на Cisco IOS
- Процессор маршрутизатора загружен на 100% из-за сетевого сканирования или целенаправленной DoS-атаки.
- Падение сессий динамической маршрутизации (BGP/OSPF flapping) из-за потери keepalive-пакетов.
- Потеря SSH/Telnet/SNMP доступа к устройству во время инцидентов перегрузки сети.
- Очередь
Control Plane input queueпереполнена дропами.
1. Концепция Control Plane Policing (CoPP)
CoPP использует модульный интерфейс QoS CLI (MQC) для фильтрации и жесткого ограничения скорости (Policing) трафика, адресованного непосредственно процессору маршрутизатора (Control Plane), защищая его от DoS-атак и исчерпания очередей.
2. Классификация служебного трафика (Class-Maps)
# 1. Критический трафик маршрутизации
ip access-list extended ACL_COPP_ROUTING
permit ospf any any
permit bgp any any
permit bgp any eq bgp any
permit tcp any any eq bgp
# 2. Трафик управления (SSH, SNMP, NTP)
ip access-list extended ACL_COPP_MANAGEMENT
permit tcp 192.168.100.0 0.0.0.255 any eq 22
permit udp 192.168.100.0 0.0.0.255 any eq snmp
permit udp any any eq ntp
# 3. Служебный ICMP трафик
ip access-list extended ACL_COPP_ICMP
permit icmp any any echo
permit icmp any any echo-reply
permit icmp any any ttl-exceeded
permit icmp any any unreachable
# Привязка ACL к Class-Map
class-map match-all CM_COPP_ROUTING
match access-group name ACL_COPP_ROUTING
class-map match-all CM_COPP_MANAGEMENT
match access-group name ACL_COPP_MANAGEMENT
class-map match-all CM_COPP_ICMP
match access-group name ACL_COPP_ICMP3. Определение политик ограничения скорости (Policy-Map)
policy-map PM_COPP_PROTECTION
class CM_COPP_ROUTING
police 10000000 1250000 conform-action transmit exceed-action transmit
class CM_COPP_MANAGEMENT
police 2000000 250000 conform-action transmit exceed-action drop
class CM_COPP_ICMP
police 500000 62500 conform-action transmit exceed-action drop
class class-default
police 250000 31250 conform-action transmit exceed-action drop4. Применение политики к Control Plane
control-plane
service-policy input PM_COPP_PROTECTION5. Верификация и анализ отброшенных пакетов
show policy-map control-plane
show policy-map control-plane input class CM_COPP_ICMP Частые вопросы (FAQ)
Что произойдет, если в политике CoPP ошибочно заблокировать протокол OSPF/BGP?
Маршрутизатор перестанет получать Hello и Keepalive пакеты от соседей, что приведет к разрыву всех смежностей и полному отключению маршрутизации через данное устройство.
В чем разница между conform-action, exceed-action и violate-action?
Conform-action применяется к пакетам в пределах установленной полосы (CIR), exceed-action — к пакетам, превышающим полосу в пределах всплеска (burst), а violate-action — к пакетам, превышающим максимальный всплеск (PIR).
Можно ли применять CoPP на уровне конкретного физического интерфейса?
Нет. CoPP применяется глобально в специальном контексте конфигурации control-plane и фильтрует суммарный поток трафика со всех интерфейсов, направленный на CPU.
Зачем выделять отдельный лимит для ICMP-трафика в CoPP?
Неограниченный поток ICMP запросов (ping sweep или flood) может полностью забить очередь процессора, оставив его без ресурсов для обработки BGP/OSPF и LACP пакетов.