Мы создали точку доступа Wi-Fi или беспроводную точку доступа, используя hostapd
Ubuntu. Как мы можем изолировать клиентов Wi-Fi таким же образом, как "Изоляция клиентов" делает в некоторых точках доступа? Есть ли способ объединить это iptables
с hostapd
применением некоторых правил брандмауэра между клиентами Wi-Fi?
решение1
Создайте правило iptables для ввода и вывода, которое позволяет диапазону адресов источника взаимодействовать с маршрутизатором/шлюзом по умолчанию, а также дополнительные правила для любых серверов или других ресурсов в этой подсети.
Создайте окончательное правило, которое отбрасывает пакеты между диапазоном исходных адресов и диапазоном исходных адресов.
iptables -A INPUT -i $WIFI -o $WIFI -s 192.168.1.0/24 -d 192.168.1.1 -j ACCEPT
iptables -A INPUT -i $WIFI -o $WIFI -s 192.168.1.0/24 -d $SOMESERVERIP -j ACCEPT
iptables -A INPUT -i $WIFI -o $WIFI -s 192.168.1.0/24 -d $SOMEOTHERSERVERIP -j ACCEPT
iptables -A INPUT -i $WIFI -o $WIFI -s 192.168.1.0/24 -d 192.168.1.0/24 -j DROP
Основы этой цепочки событий таковы:
- если он находится в подсети и общается со шлюзом, примите его
- Если он находится в подсети и общается с сервером, примите его.
- Правило 2 повторяется до тех пор, пока не закончатся приемлемые серверы.
- Если он находится в подсети и общается с чем-то еще в этой подсети, отключите его.
решение2
В настоящее время iptables
правила не оказывают никакого влияния на пакеты, пересылаемые напрямую интерфейсом Wi-Fi, согласноэтот.
Хорошие новости в том, что Hostapd 2.9 имеет опцию, ap_isolate
которая делает именно то, что вы описали. Вы можете прочитать об этомздесь.
После установки этого флага все пакеты от устройств в сети точки доступа будут отбрасываться точкой доступа.