Изоляция клиента в Ubuntu с помощью hostapd

Изоляция клиента в Ubuntu с помощью hostapd

Мы создали точку доступа Wi-Fi или беспроводную точку доступа, используя hostapdUbuntu. Как мы можем изолировать клиентов 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

Основы этой цепочки событий таковы:

  1. если он находится в подсети и общается со шлюзом, примите его
  2. Если он находится в подсети и общается с сервером, примите его.
  3. Правило 2 повторяется до тех пор, пока не закончатся приемлемые серверы.
  4. Если он находится в подсети и общается с чем-то еще в этой подсети, отключите его.

решение2

В настоящее время iptablesправила не оказывают никакого влияния на пакеты, пересылаемые напрямую интерфейсом Wi-Fi, согласноэтот.

Хорошие новости в том, что Hostapd 2.9 имеет опцию, ap_isolateкоторая делает именно то, что вы описали. Вы можете прочитать об этомздесь.

После установки этого флага все пакеты от устройств в сети точки доступа будут отбрасываться точкой доступа.

Связанный контент