У моего роутера есть два моста, br0 и br1. У меня общий доступ к Wi-Fi, и гостевая подсеть будет 192.168.2.x. Домашняя подсеть будет 192.168.1.x.

Я хочу, чтобы весь трафик, предназначенный для порта 80 из гостевой сети, направлялся на прокси-порт на коробке в домашней сети. Это единственный трафик, который я хочу пересечь мосты. Как мне настроить это с iptables на маршрутизаторе?

1 ответ1

0

Предполагая, что br0 - домашняя сеть, а br1 - гостевая:

iptables -t nat -A PREROUTING -i br1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100 # ip of the proxy box

Чтобы настроить перенаправление, затем

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

(проверьте, если он еще не существует), чтобы разрешить уже установленные соединения, это упрощает правила,

iptables -A FORWARD -m state --state NEW -i br1 -o br0 -p tcp --dport 80 -d 192.168.1.100 -j ACCEPT

Разрешить подключения от гостевой сети к прокси-серверу (это обрабатывается после DNAT)

iptables -A FORWARD -i br1 -o br0 -j DROP

Запретите весь другой трафик между мостами.

Возможно, ваше устройство уже настроено в качестве маршрутизатора, но если нет, возможно, вам также потребуется включить переадресацию:

echo 1 >/proc/sys/net/ipv4/ip_forward

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