Я создал точку беспроводного доступа (NAT), используя ноутбук с Ubuntu Server (18.04). Я использовал dnsmasq (для dhcp и dns) и hostapd (для создания самой точки доступа). Все работает нормально, но я не могу заблокировать доступ к адресам 192.168.1.0/24 (WAN, который фактически подключен к другой локальной сети) для всех клиентов, подключенных к точке доступа. Цель состоит в том, чтобы пользователи не общались с устройствами, подключенными к моему основному маршрутизатору (не к точке доступа).

У меня есть следующие правила:

sudo iptables -t nat -A POSTROUTING -o enp3s0 -j MASQUERADE
sudo iptables -A FORWARD -i enp3s0 -o wlp4s0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlp4s0 -o enp3s0 -j ACCEPT

В попытке достичь своей цели я попробовал следующие правила (в одиночку и в сочетании):

sudo iptables -A INPUT -i wlp4s0 -s 10.10.1.0/24 -d 192.168.1.0/24 -j DROP
sudo iptables -A INPUT -i wlp4s0 -s 192.168.1.0/24 -d 10.10.1.0/24 -j DROP
sudo iptables -A OUTPUT -o wlp4s0 -s 10.10.1.0/24 -d 192.168.1.0/24 -j DROP
sudo iptables -A OUTPUT -o wlp4s0 -s 192.168.1.0/24 -d 10.10.1.0/24 -j DROP
sudo iptables -A INPUT -i enp3s0 -s 10.10.1.0/24 -d 192.168.1.0/24 -j DROP
sudo iptables -A INPUT -i enp3s0 -s 192.168.1.0/24 -d 10.10.1.0/24 -j DROP
sudo iptables -A OUTPUT -o enp3s0 -s 10.10.1.0/24 -d 192.168.1.0/24 -j DROP
sudo iptables -A OUTPUT -o enp3s0 -s 192.168.1.0/24 -d 10.10.1.0/24 -j DROP

wlp4s0 (10.10.1.0/24) - это локальная сеть. enp3s0 - это WAN.

Однако, похоже, это не имеет никакого эффекта.

1 ответ1

0

Только что обнаружил, что цепочки INPUT и OUTPUT предназначены для локальных вещей. Это имеет гораздо больше смысла. В соответствии с man-страницей iptables цепочка FORWARD «предназначена для изменения пакетов, маршрутизируемых через коробку», и это именно то, что мне нужно.

Вот что у меня работает: sudo iptables -A FORWARD -i wlp4s0 -o enp3s0 -d 192.168.1.0/24 -j DROP

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .