Для защиты маршрутизатора на уровне Control-Plane предусмотрено 2 механизма защиты:

  1. Блокировка сервисного трафика с помощью конфигурации Control-Plane.
  2. Ограничение полосы пропускания для сервисного трафика с помощью Punt Shapers.

CONTROL-PLANE

С помощью Control-Plane можно полностью заблокировать доступ к маршрутизатору на определённых интерфейсах или для определённого хоста или подсети.

По умолчанию блок Control Plane отсутствует в конфигурации маршрутизатора, а все подключения разрешены.

Для того чтобы создать блок, необходимо воспользоваться командой:

0/ME5200:R5(config)# control-plane [inband\out-of-band]

Конфигурация Control-Plane разбита на 2 логических блока inband и out-of-band:

  1. inband — отвечает за работу Control-Plane в GRT и VRF.
  2. out-of-band — отвечает за работу Control-Plane на интерфейсах управления (mgmt).

Затем необходимо выбрать интерфейсы, на которые будет распространяться правила.

Для inband можно указать cледующие правила: bundle-ether, fortygigabitethernet, gigabitethernet, hundredgigabitethernet, tengigabitethernet, twentyfivegigabitethernet, а также сабинтерфейсы или «all» для того, чтобы правила распространялись на все интерфейсы.

Например:

0/ME5200:R5(config)# control-plane inband interface all
0/ME5200:R5(config)# control-plane out-of-band interface mgmt all

По умолчанию для каждого правила Control-Plane действием по умолчанию является «Запретить остальные соединения».

Добавим разрешающее правило командой «allow [protocol]». Для выбора доступны: ftp, hhtp, icmp, icmpv6, netconf, ntp, snmp, ssh, telnet, tftp, tcp/udp + port , а так же «any» для того, чтобы разрешить все протоколы.

0/ME5200:R5(config)# control-plane inband interface all allow icmp

Для того чтобы разрешить протокол для всех хостов, необходимо добавить команду «any». Для того чтобы разрешить протокол для определённых хостов, необходимо указать «peer» – address A.B.C.D , A.B.C.D/N или address-range A.B.C.D-A.B.C.D.

Пример OOB-правила:

control-plane out-of-band interface mgmt all   <--- Правило для всех интерфейсов управления.
  allow icmp    <--- Разрешим ICMP-Echo для хостов 192.168.0.254 и 192.168.1.254
    peer-list example
      icmp echo
      exit
      peer example_peer
        source
          address 192.168.16.25
        exit
	  peer example_peer2
        source
          address 192.168.16.25
        exit
      exit
    exit
  exit
  allow snmp
    peer-list example
      peer example_peer
        source
          address-range 192.168.0.128-192.168.0.254    <---Разрешим SNMP диапазону адресов 192.168.0.128-192.168.0.254
        exit
      exit
    exit
  exit
  allow ssh   <---Разрешим SSH для подсети 192.168.0.0/24
    peer-list example
      peer example_peer
        source
          address 192.168.0.0/24
        exit
      exit
    exit
  exit
  allow telnet   <---Разрешим Telnet для подсети 192.168.1.0/24
    peer-list example
      peer example_peer
        source
          address 192.168.1.0/24
        exit
      exit
    exit
  exit
  policy drop    <--- Пакеты попавшие под запрещающее правило будут отброшены
exit

Начиная с версии ПО 3.9.7, поддержана фильтрация ICMPv4/v6 без указания типа пакета, т. е. icmp all.

Для inband-интерфейсов создадим следующее правило:

Пример inband-правила:

control-plane inband interface all
  allow all
    peer-list example
      peer example_peer
        source
          address 172.20.20.0/24
        exit
    exit
  exit
  allow icmp
    peer-list example
      icmp echo
      exit
      peer example_peer
        source
          address 10.0.0.0/8
        exit
    exit
  exit
exit
control-plane inband interface tengigabitethernet 0/0/1
  allow all
    peer-list example
      peer example_peer
        source
          address 172.16.0.0/16
        exit
    exit
  exit
exit
control-plane inband interface tengigabitethernet 0/0/2
  allow all
    peer-list example
      peer example_peer
        source
          address 172.16.0.0/16
        exit
    exit
  exit
exit
control-plane inband interface tengigabitethernet 0/0/3
  allow all
    peer-list example
      peer example_peer
        source
          address 172.16.0.0/16
        exit
    exit
  exit
exit
control-plane inband interface tengigabitethernet 0/0/4
  allow all
    peer-list example
      peer example_peer
        source
          address 172.16.0.0/16
        exit
    exit
  exit
exit

Несмотря на то, что в Control-Plane есть возможность ограничивать работу определённых TCP/UPD-портов, ограничить работу некоторых протоколов не получится.

Например, подобное правило не сможет ограничить протокол для конфигурированных BGP neighbors:

control-plane inband interface all
  allow tcp 179     <----- Порт протокола BGP
    peer-list example
      peer example_peer
        source
          address 10.0.0.0/8
        exit
    exit
  exit
exit

В том числе, начиная с ПО 3.9.1, с помощью Control-Plane можно ограничить работу следующих протоколов:

OSPF
IGMP
PIM
VRRP
RSVP
LDP
BFD

PUNT SHAPERS

С помощью Punt Shaper можно ограничить полосу пропускания для определённого вида сервисного трафика.

Control-Plane, в отличие от punt shapers, предварительно сконфигурирован и изначально имеет оптимальную конфигурацию для большинства сценариев использования.

Посмотреть текущее состояние и конфигурацию Punt-Shapers можно с помощью команды show system punt shapers

0/ME5200:R5# show system punt shapers 
Wed Jan 24 07:24:50 2024
Location 0/0
 
  Type              Default (kbps)  Configured (kbps)  Hardware (kbps)  Current load (kbps)  Current load (pps)  
  ----------------- --------------- ------------------ ---------------- -------------------- ------------------- 
  arp-ndp           20000           20000              20001            0.000                0                   
  bfd               10000           10000              10001            0.000                0                   
  dhcp              50000           50000              50001            0.000                0                   
  ip-connected      20000           20000              20001            0.000                0                   
  ip-frag           10000           10000              10001            0.000                0                   
  ip-local          200000          200000             200001           0.000                0                   
  ip-mcast          20000           20000              20001            0.000                0                   
  ip-mcast-proto    50000           50000              50001            0.000                0                   
  ip-options        1000            1000               1001             0.000                0                   
  ip-ttl            1000            1000               1001             0.000                0                   
  isis              50000           50000              50001            0.000                0                   
  lacp              1000            1000               1001             0.000                0                   
  lldp              1000            1000               1001             0.000                0                   
  mac-learning      50000           50000              50001            0.000                0                   
  mpls-oam          5000            5000               5001             0.000                0                   
  netflow           200000          200000             200001           0.000                0                   
  ospf              50000           50000              50001            13.872               17                   
  other             1000            1000               1001             0.000                0                   
  pim               20000           20000              20001            0.000                0                   
  rip               50000           50000              50001            0.000                0                   
  stp               5000            5000               5001             0.000                0                   
  udld              10000           10000              10001            0.000                0                   
  vrrp              20000           20000              20001            0.000                0                   
  ----------------  --------------  -----------------  ---------------  -------------------  ------------------  
  common            1000000         1000000            1012500          0.000                0                   

Изменить конфигурацию Punt-Shaper можно в блоке system punt rate-limit с помощью команды flow

Для примера запретим работу multicast и ospf, ограничив их полосу пропускания до 0:

0/ME5200:R5(config)# system punt rate-limit
0/ME5200:R5(config-rate-limit)# flow ip-mcast rate 0
0/ME5200:R5(config-rate-limit)# flow ip-mcast-proto rate 0
0/ME5200:R5(config-rate-limit)# flow ospf rate 0


0/ME5200:R5(config-rate-limit)# do show system punt shapers 
Thu Jan 25 04:31:17 2024
Location 0/0
 
  Type              Default (kbps)  Configured (kbps)  Hardware (kbps)  Current load (kbps)  Current load (pps)  
  ----------------- --------------- ------------------ ---------------- -------------------- ------------------- 
  arp-ndp           20000           20000              20000            0.000                0                   
  bfd               10000           10000              10000            0.000                0                   
  dhcp              50000           50000              50000            0.000                0                   
  ip-connected      20000           20000              20000            0.000                0                   
  ip-frag           10000           10000              10000            0.000                0                   
  ip-local          200000          200000             200000           0.000                0                   
  ip-mcast          20000           0                  0                0.000                0                   
  ip-mcast-proto    50000           0                  0                0.000                0                   
  ip-options        1000            1000               1002             0.000                0                   
  ip-ttl            1000            1000               1002             0.000                0                   
  isis              50000           50000              50000            0.000                0                   
  lacp              1000            1000               1002             0.000                0                   
  lldp              1000            1000               1002             0.000                0                   
  mac-learning      50000           50000              50000            0.000                0                   
  mpls-oam          5000            5000               5000             0.000                0                   
  netflow           200000          200000             200000           0.000                0                   
  ospf              50000           0                  0                0.000                0                   
  other             1000            1000               1002             0.000                0                   
  pim               20000           20000              20000            0.000                0                   
  rip               50000           50000              50000            0.000                0                   
  stp               5000            5000               5000             0.000                0                   
  udld              10000           10000              10000            0.000                0                   
  vrrp              20000           20000              20000            0.000                0                   
  ----------------  --------------  -----------------  ---------------  -------------------  ------------------  
  common            1000000         1000000            1012500          0.000                0                   

Таким образом, можно ограничить работу тех протоколов, которые не позволяет ограничить Control-Plane.

Есть возможность расширить список протоколов с помощью добавления в конфигурацию маршрутизатора команду hw-module enable extended-punt и перезагрузки маршрутизатора.

0/ME5200:R5(config)# do show system punt shapers 
Thu Jan 25 04:47:44 2024
Location 0/0
 
  Type              Default (kbps)  Configured (kbps)  Hardware (kbps)  Current load (kbps)  Current load (pps)  
  ----------------- --------------- ------------------ ---------------- -------------------- ------------------- 
  arp-ndp           20000           20000              20000            0.000                0                   
  bfd               10000           10000              10000            16.848               26                  
  dhcp              50000           50000              50000            0.000                0                   
  igmp              20000           20000              20000            0.000                0                   
  ip-connected      20000           20000              20000            0.000                0                   
  ip-frag           10000           10000              10000            0.000                0                   
  ip-local          200000          200000             200000           0.000                0                   
  ip-mcast          20000           0                  0                0.000                0                   
  ip-mcast-proto    50000           0                  0                0.000                0                   
  ip-options        1000            1000               1002             0.000                0                   
  ip-ttl            1000            1000               1002             0.000                0                   
  isis              50000           50000              50000            0.000                0                   
  lacp              1000            1000               1002             0.000                0                   
  ldp               10000           10000              10000            0.000                0                   
  lldp              1000            1000               1002             0.000                0                   
  mac-learning      50000           50000              50000            0.000                0                   
  mpls-oam          5000            5000               5000             0.000                0                   
  netflow           200000          200000             200000           0.000                0                   
  ospf              50000           0                  0                0.000                0                   
  other             1000            1000               1002             0.000                0                   
  pim               20000           20000              20000            0.000                0                   
  rip               50000           50000              50000            0.000                0                   
  stp               5000            5000               5000             0.000                0                   
  udld              10000           10000              10000            0.000                0                   
  vrrp              20000           20000              20000            0.000                0                   
  ----------------  --------------  -----------------  ---------------  -------------------  ------------------  
  common            1000000         1000000            1012500          16.848               26