2.1. Общие сведения о self-defined ACL
В Self-defined ACL пользователь имеет возможность настроить окно (window) для сопоставления полей пакета. Окно задает смещение относительно начала заголовка одного из уровней: L2, L3 или L4. Далее пользователь создает непосредственно ACL, который определят какие значение в окне нужно проверить и какое действие при этом выполнить.
Данный коммутатор поддерживает конфигурацию 12 окон, каждое из которых может задавать значение смещения от 0 до 178, где шаг 2 байта. То есть 0 - смещение 0 байт, а 1 - смещение 2 байта. Для конфигурации правил Standard self-defined ACL должны быть настроены окна смещений до конфигурации списка правил. Правила окон глобальны и могут быть использованы в любом self-defined ACL. Окно, которое не сконфигурировано, недоступно для добавления в ACL. Когда окно добавлено в ACL, оно не может быть изменено до удаления из ACL. Для IPv6 поддерживаются только окна с номерами 1 по 6. Наибольшее смещение I3start включает в себя заголовок L2, а наибольшее смещение I4start включает в себя заголовок L2 и L3 в любом self-defined ACL.
2.2. Конфигурация self-defined ACL
Задать окно смещения;
Настроить правила для ACL;
Назначить ACL на интерфейс;
Задать окно смещения;
Команда | Описание |
---|---|
userdefined-access-list standard offset [window1 {l3start | l4start} <offset>] [window2 { l3start | l4start } <offset>] [window3 { l3start | l4start } <offset>] [window4 { l3start | l4start } <offset>] [window5 { l3start | l4start } <offset>] [window6 { l3start | l4start } <offset>] [window7 { l3start | l4start } <offset>] [window8 { l3start | l4start } <offset>] [window9 { l3start | l4start } <offset>] [window10 { l3start | l4start } <offset>] [window11 { l3start | l4start } <offset>] [window12 { l3start | l4start } <offset>] no userdefined-access-list standard offset [window1] [window2] [window3] [window4] [window5] [window6] [window7] [window8] [window9] [window10] [window11] [window12] ! В режиме глобальной конфигурации | Создать окна смещения для правила self-defined ACL. Если окно уже существует, оно может быть изменено. Если окно смещения не задано, правило создано не будет. Удалить созданные окна смещения |
2. Настроить правила для ACL;
Команда | Описание |
---|---|
userdefined-access-list standard <1200-1299> {permit|deny} {window1| window2|window3|window4|window5| window6|window7|window8|window9| window10|window11|window12} no userdefined-access-list standard <1200-1299> {permit|deny} {window1| window2|window3|window4|window5| window6|window7|window8|window9| window10|window11|window12} ! В режиме глобальной конфигурации | Создать правило для standard self-defined ACL. Если ACL не был создан ранее, он будет создан при создании правила. Удалить правило ACL |
3. Назначить ACL на интерфейс;
Команда | Описание |
---|---|
[no] userdefined access-group <acl-name> in [traffic-statistic] ! В режиме конфигурации интерфейса | Применить ACL <acl-name> на входящее направление трафика на интерфейсе. С включенной опцией traffic-statistic коммутатор будет подсчитывать совпадения этой access-group Удалить ACL <acl-name> с интерфейса |
2.3. Примеры настройки self-defined ACL
Сценарий 1: порт 1/0/10 относится к сегменту 10.0.0.0/24, протокол FTP не разрешен пользователю.
Конфигурация будет выглядеть следующим образом:
Switch(config)# userdefined-access-list standard offset window1 l3start 4 window2 l4start 1 window3 l3start 3 Switch(config)#userdefined-access-list standard 1300 deny window1 0006 00FF window2 0015 FFFF window3 0A000000 FFFFFF00 Switch(config)#firewall enable Switch(config)#interface ethernet1/10 Switch(config-if-ethernet1/10)#userdefined access-group 1300 in Switch(config-if-ethernet1/10)#exit Switch(config)#exit
Проверка результата применения конфигурации:
Switch#show access-lists userdefined-access-list standard 1300(used 1 time(s)) 1 rule(s) rule ID 1: window1 6 ff window2 15 ffff window3 a000000 ffffff00 Switch#show access-group interface ethernet 1/10 interface name:Ethernet1/10 Userdefined Ingress access-list used is 1300,traffic-statistics Disable.