задача:
при помощи ACL на коммутаторах доступа разрешить прохождение только нужного трафика от абонента, все остальное запретить. Сейчас она успешно решается на коммутаторах DES-3526, и более менее успешно на DES-3028. На днях получили партию DES-3200-28 на которых тоже присутствует весь необходимый функционал для решения данной задачи - но он
не работает .
Пример.
Разрешить прохождение пакетов с ether type ARP (0x0806).
Все остальное запретить.
Вариант1. Без PCF.
Код:
create access_profile ethernet ethernet_type profile_id 10
config access_profile profile_id 10 add access_id 1 ethernet ethernet_type 0x0806 port 1 permi counter enable
create access_profile ethernet source_mac 00-00-00-00-00-00 profile_id 255
config access_profile profile_id 255 add access_id 1 ethernet source_mac 00-00-00-00-00-00 port 1 deny
При этом все работает. ARP ходит. Счетчик полностью соответсвует количеству ARP пакетов.
Вариант2. C PCF. Код:
create access_profile packet_content_mask offset1 l2 0 0xFFFF profile_id 10
config access_profile profile_id 10 add access_id 1 packet_content offset1 0x0806 port 1 permit counter enable
create access_profile ethernet source_mac 00-00-00-00-00-00 profile_id 255
config access_profile profile_id 255 add access_id 1 ethernet source_mac 00-00-00-00-00-00 port 1 deny
То есть все аналогично. Говорим свичу смотреть первые 2 байта L2 части пакета, в которых должно быть 0806. Свич исправно смотрит, наращивает счетчик точно в соответсвии с отправленными ARP запросами, НО ARP пакеты не пропускает.
Могу расписать и остальные правила, но поверьте они точно также не работают при наличии последнего запрещающего профайла.
Коммутаторы DES-3200-28, Firmware 1.21.B006.