Назад | Перейти на главную страницу

Можно ли использовать ebtables для фильтрации трафика по MAC-адресам на простом интерфейсе Ethernet, без моста?

У меня есть Linux-машина (моя рабочая станция). Оттуда я могу пинговать другие локальные машины, скажем 192.168.1.22. Допустим, я хочу запретить связь с 192.168.1.22 по его MAC-адресу. Я пробую простое правило:

ebtables -I INPUT -s 00:24:1d:c9:0a:27 -j DROP

Но все же я могу пинговать этот хост. Ограничивается ли ebtables фильтрацией трафика только на интерфейсах моста?

Да, ebtables работает только с фреймами, проходящими через интерфейсы моста. Однако вы можете сделать хорошее нарушение многоуровневости и использовать параметр -m mac --mac-source iptables.

Когда я делаю что-нибудь сложное с netfilter, я держу эту диаграмму под рукой: http://jengelh.medozas.de/images/nf-packet-flow.png

Тор, то, что ты предлагаешь, правильно и работает. Я только что проверил это.

Вам может потребоваться обновить маршруты, заменив мостовые интерфейсы самим интерфейсом моста, чтобы убедиться, что вы не обходите мост.

ip route del 192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.1
ip route add 192.168.1.0/24 dev br0  proto kernel  scope link  src 192.168.1.1