Блокируйте трафик Linux-моста (только в одну сторону), используя iptables или ebtables
Я использую роутер openwrt. У него есть мост br-lan и wlan0, wlan1 подключены к этому мосту. eth0 действует как интерфейс WAN. Когда пакет приходит из wlan0 или wlan1, он идет от моста, получает NAT и выходит через eth0 в Интернет, а ответ приходит от eth0, снова получает NAT и переходит в br-lan, а затем выходит через wlan0 или wlan1 в зависимости от того, где исходный пакет пришел.
wlan0/wlan1 -> br-lan -> NAT -> eth0 -> интернет
интернет -> unNAT -> br-lan -> wlan0 / wlan1
Теперь у меня есть приложение, прослушивающее интерфейс br-lan через необработанный сокет, и я хочу выполнить некоторую обработку пакетов, идущих от br-lan к wlan0/wlan1. Таким образом, я хочу остановить / заблокировать все пакеты от br-lan до wlan0 / wlan1, так как я сам переадресую его на wlan0 / wlan1 в моем приложении. Как мне это сделать, используя iptables или ebtables?
Я пробовал некоторые правила, как показано ниже, но он не работает, и весь трафик проходит нормально -
ebtables -I FORWARD -i br-lan -o wlan1 -j DROP
ebtables -I OUTPUT -o br-lan -j DROP
iptables -I FORWARD -i br-lan -o wlan1 -j DROP
iptables -I OUTPUT -o br-lan -j DROP
1 ответ
Поэтому я взглянул на эту страницу, и почти все, что они делали с отбрасыванием пакетов, включали цепочки. Так что мне интересно, если вы попытались сделать цепочку в первую очередь? НАПРИМЕР
iptables -N zone_wan_block
iptables -I FORWARD -i br-lan -o wlan1 -j zone_wan_block
iptables -A zone_wan_block -j DROP
(Я бы прокомментировал это вместо этого, так как я сам неопытен в этом (и у меня нет времени, чтобы проверить это), но мне не хватает представителя...)
Кроме того, используя выход, если это необходимо.
Надеюсь, это поможет, но опять же, я неопытный. Хорошего дня!