olegl писал(а):
Потратил сегодня еще пару часов на тестирование. Все заработало!, но выявлен однозначный баг, если в момент настройки ip_mac binding клиент уже подключен к какому то порту коммутатора, то его MAC на этом порту потом никогда не блокируется даже после перезагрузки (на других портах пожалуйста, даже если клиент подключен к подчиненному коммутатору), лечиться выключением порта удалением пары внесением пары заново и повторным включением порта, если нужны развернуты подробности могу вечером опубликовать.
судя по всему, это подпадает вот под этот ответ от разработчиков, который я уже публиковал в этом же кейсе ранее:
"For non-IP packet (ie, L2 packet or IPX packet), those packet will be forwarded by switch. The IP-MAC binding feature is designed for IP protocol.
However, once that PC issue any ARP packet and the IP-MAC doesn't match that specified list, that MAC will be placed in fdb table with "blockbyAddrBind" state, and that MAC will be blocked, including L2, IPX, etc. packet with that MAC."
Т.е., на основе моих тестов, ПК, который подключен к свичу ДО настройки IP-MAC Binding просто уже занес в свою таблицу arp запись для того хоста, который он, к примеру, пингует. Именно поэтому его не блокирует свич. Как только таблицу arp на ПК очистите - неправильный ip сразу блокируется, т.е. как раз то, о чем писалось выше:
"However, once that PC issue any ARP packet and the IP-MAC doesn't match that specified list, that MAC will be placed in fdb table with "blockbyAddrBind" state, and that MAC will be blocked"
tester в своем посте (еще раз прошу прощения, снес случайно) писал об этом: если на ПК задать static arp запись для destination хоста? то даже с неправильным ip этот ПК будет продложать взаимодействовать с destination хостом и свич не блокирует его по IP-MAC Binding.
Если у кого-то есть мысли или дополнения - с удовольствием выслушаю.
Можно ли этот механизм усовершенстовать - это уже следующий вопрос, будем запрашивать разработчиков.