Что такое connection-rate? Это типа ограничений, которые действуют на колличество коннектов и в соответствии с настройками. В коммутаторах HP Procurve 3500yl это достаточно хорошо реализовано.
1) Простой режим.
Для начала нужно определиться с уровнем чувствительности. Он бывает 4-ох видов:
switch(config)# connection-rate-filter sensitivity <low | medium | high | aggressive>
Ниже описывается каждый из них.
Уровень чувствительности обнаружения | Частота запросов на соединение (сек) | Количество новых адресов получателей | Период блокирования (сек) |
---|---|---|---|
Low | < 0.1 | 54 | <30 |
Medium | < 1.0 | 37 | 30-60 |
High | < 1.0 | 22 | 60-90 |
Aggressive | < 1.0 | 15 | 90-120 |
Примечание:
Чувствительность устанавливается глобально на весь коммутатор, а режим реагирования на превышение установленного уровня чувствительности может устанавливаться разным на разные порты.
Выбираем, например, medium:
sun(config)# connection-rate-filter sensitivity medium
Теперь выбираем режим контроля. Он бывает 3-ох видов:
– block : уведомить и заблокировать хост до ручной разблокировки
– notify-only: только уведомить
– throttle: уведомить и заблокировать на период блокировки
Настроим порты 1-3 только для уведомления, порты 7-9 для блокировки и порты 15-16 для временной блокировки:
sun(config)#filter connection-rate 1-3 notify-only
sun(config)#filter connection-rate 7-9 block
sun(config)#filter connection-rate 15-16 throttle
Что бы посмотреть статус connection-rate-filter выполним команду
sun(config)# show connection-rate-filter
Connection Rate Filter Configuration
Global Status: Enabled
Sensitivity: Low
Port | Filter Mode
------------+------------------
1 | NOTIFY-ONLY
2 | NOTIFY-ONLY
3 | NOTIFY-ONLY
7 | BLOCK
8 | BLOCK
9 | BLOCK
15 | THROTTLE
16 | THROTTLE
А что бы посмотреть список заблокированных хостов, выполним такую команду:
sun(config)# show connection-rate-filter all
VLAN ID | Source IP Address | Filter Mode
-------------+-------------------+------------
10 | 13.28.234.175 | THROTTLE
10 | 13.28.234.179 | THROTTLE
15 | 13.28.234.180 | BLOCK
При этом в логах будут такие строки:
Src IP xxx.xxx.xxx.xxx blocked
Если же выставлено просто уведомление, то будут такие:
Src IP 10.1.0.18 high connection rate, port 3
Что бы разблокировать, используем команду
sun(config)# connection-rate-filter unblock
all Resets all previously blocked by the connection rate filter
host Match packets from the specified IP address.
IP-ADDR/MASK-LENGTH Match packets from the specified subnet.
2) Режим ACL.
Если вам нужно добавить исключения по IP или настроить только выбранные IP/VLAN то вышеописанный способ не подойдёт. Для этого нужно использовать connection-rate-filter на основе списков ACL, которые можно назначить, например, на VLAN или порт.
Формат списков таков:
ip access-list connection-rate-filter < crf-list-name >
< filter | ignore > ip < any | host < ip-addr > | ip-addr < mask >>
< filter | ignore > < udp | tcp > < source > < options >
vlan < vid > ip access-group < crf-list-name > connection-rate-filter
Поскольку возможностей здесь очень много и описывать каждую нет смысла, приведу пример, из которого будет ясно, как применять acl:
sun(config)#ip access-list connection-rate-filter 17-server
sun(config-crf-nacl)#ignore ip host 15.45.50.17
sun(config-crf-nacl)#exit
sun(config)#vlan 15
sun(vlan-15)#ip access-group 17-server connection-rate-filter
Этим мы добавили исключение для хоста 15.45.50.17