Суть задачи такая. Есть две локальные сети между которыми стоит брэндмауэр. На брэндмауэре настроен bridging для двух сетевых карт eth0 - 1 сеть, eth1 - вторая сеть. Во второй сети (и соответственно в первой т.к. диапазоны адресов одинаковые) используется DHCP.Нужно фильтровать трафик идущий через брэндмауэр с помощью правил iptables. Экспериментально выяснилось что при использовании бриджинга устройств eth0, eth1 как бы и нет, есть одно устройство br0 и через него идет весь трафик, причем ключи --in-inteface и --out-interface роли играть не будут.
Т.к. DHCP, то фильтровать можно только по MAC-адресам в первой сети, любой трафик из второй сети должен идти беспепятственно.
Собственно первое что на ум пришло это:
iptables -P FORWARD DROP
iptables -A -m mac --mac-source XX:XX:XX:XX:XX:XX -j ACCEPT
Т.е. запретить весь форвард-трафик и пользователям первой сети явно выдавать разрешение. Но фишка в том чтобы, как-то разрешить весь трафик из второй сети, ведь критерия --mac-destination нет и интерфейс только один br0 для которого направление трафика значения не имеет.
Подскажите как быть?!