В связи с усовершенствованием системы фильтрации клиентов было принято решение использовать функционал ACL
Данная функция работает корректно, но в связи с непонятными особенностями обработки пакетов в логике коммутатора, ACL работает только с выключенной функцией IP Source Guard
Отказ от IP Source Guard в нашем случае был невозможен, и по этому все наблюдения и тесты по данной проблеме были сообщены производителю, на что последовал ответ что это не баг, а специфика работы.
Производитель описал нестандартное решение данного вопроса, заключалось оно в обработке ACL через Policy Map/Class Map в функционале QoS, данное решение в итоге было взято на вооружение так как работало корректно.
Теперь о багах.
Прошивка v1.3.7.1 - все работает корректно
Прошивка v1.3.7.3 - Полезли глюки. Коммутатор теряет управление по telnet, web и snmp после выполнения команды установки POLICY MAP на порт
$set 10.0.0.4 ES3528MO-MIB::diffServPortPolicyMapIndex.1 i 2
Дальнейшее тестирование не имело смысла, первая же найденная ошибка была критическая и приводила к полному зависанию
Производитель подтвердил баг. Сообщил что будут исправления.
Прошивка v1.3.7.4 - Все та же проблема с Policy Map
Производитель как и обещал исправил проблему зависания при выполнении команды установки POLICY MAP на порт
Но дальнейшее тестирование заставило столкнутся с более серьезной проблемой, при обновлении большинства коммутаторов новой прошивкой(1.3.7.4) начал сильно глючить Service Policy, при попытке установки определенной Policy Map в Service Policy по snmp, просто ничего не происходит.
При попытке изменить значение Policy Map в Service Policy, а так же включение или отключение самой Service Policy на порту через Web интерфейс появляется ошибка "Failed to disabled service Policy"
Через telnet получаю тот же результат.
Vty-0(config)#interface ethernet 1/14
Vty-0(config-if)#service-policy input test_policy
Failed to set service policy to unit 1 port 14 ingress
Vty-0(config-if)#
Правила ACL при любых манипуляциях не обрабатываются.
Откат на старую версию прошивки 1.3.7.1 полностью убирает проблему
О проблеме снова было отписано в форум Монблана.
На что последовал ответ что в ихней тестовой лаборатории таких проблем не наблюдается. Попросили прислать конфиг коммутатора и порядок действий, при которых наблюдается описанная проблема
Рабочий конфиг был выслан.
В поддержке сообщили что на нашем конфиге проблема выявилась быстрее, баг был подтвержден.
Далее был отправлен запрос производителю. Производитель якобы тоже подтвердил баг.
Прошивка v1.3.7.5 - луч надежды который так же не оправдал себя.
Баг продолжает существовать, но уже в видоизмененном виде
Наверно производитель что-то пытался сделать, но не проверил все до конца.
При попытке изменить значение Policy Map в Service Policy, а так же включение или отключение самой Service Policy на порту через Web интерфейс появляется ошибка "Failed to disabled service Policy"
При попытке установки определенной Policy Map в Service Policy по snmp, изменения применяются через раз.
Через telnet так же как и по snmp изменения фиксируются, сообщение "Failed to set service policy" уже не появляется.
Основная проблема продолжает существовать, правила ACL не функционируют через Policy Map/Class Map, любые политики никак не влияют на фильтрацию трафика.
Было замечено что трафик или не фильтруется вообще, или срабатывает полная блокировка исходя из правил ACL, любые действующие изменение в QoS не дают результатов, разблокировать можно только полным удалением ACL с конфига и перезагрузкой устройства.
Сама функция ACL в данной прошивке, вроде бы работает корректно, если применять акцес листы через родной ACL/Port Binding. Но как уже было описано выше этот функционал не работает с включенным IP Source Guard
Вкладываю копию нашего рабочего конфига на Ёжик es3528_52m