Дано: распределенная сеть на Huawei S2326 и S2352, на коммутаторах занесены статические записи об ip и мас компьютеров на портах (user-bind static ip-address x.x.x.x mac-address xxxx-xxxx-xxxx interface Ethernet0/0/1), так как ip получаются автоматически — приходится делать dhcp enable (иначе пользователи не могут получить адрес). Так же добавлены правила в ACL:
rule 45 deny udp source-port eq bootps
rule 50 deny udp destination-port eq bootpc
запрещающие отправку пакетов dhcpack от роутеров, благополучно подключаемых кривыми руками пользователей голой задницей LAN-портом в сеть.
Однако проблема — с включенной опцией dhcp enable эти правила игнорируются, а с выключенной — пользователь не может достучаться до dhcp-сервера с адресом 0.0.0.0 (user-bind static не позволяет)
Теперь вопрос: как можно заблокировать вражеские dhcp, не отключая статических записей ip/mac на портах? Никак не могу понять, почему же опция dhcp enable позволяет пропускать пакеты dhcp как от клиента, так и от сервера на этом порту. Даже при наличии явного запрета в acl.
На D-Link`ах это решалось с помощью static mac, max learning address 1 и acl с похожим правилом на абонентских портах, в huawei записи static mac и mac-address learning disable не мешает слать пакеты с другим mac-source.
Помимо acl, для пакетов dhcp не является помехой и user-bind — роутеры в LAN-порты смотрят статическими адресами 192.168.х.1 и другими мас-адресами, отличными от записанных в user-bind.