我的路由器有两个网桥,br0 和 br1。我正在共享 wifi 访问权限,访客子网为 192.168.2.x。家庭子网为 192.168.1.x。
我希望所有来自来宾网络的发往端口 80 的流量都转发到家庭网络上的代理端口。这就是仅有的我想要通过网桥传输流量。如何使用路由器上的 iptables 进行设置?
答案1
假设 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