Linux 子网隔离

Linux 子网隔离

我的系统上有以下配置

                   | br0 (lan0 to lanX + WiFi Home SSID) 
ethX(internet) -     
                   | br1 (WiFi Guest SSID). 

我需要让两座桥都访问互联网(通过 ethX 进行网络地址转换)但彼此隔离。

我希望默认情况下不会启用桥接接口之间的路由,但事实似乎并非如此,我可以从我的访客网络 ping 到家庭网络。

我认为我可以使用 iptable 来阻止从 br0 到 br1 的流量,但我希望找到一个更优雅的解决方案,使之仅允许路由到上游接口,而无需为添加到系统的每个子网配置特殊规则。

有可用的吗?我也可以使用 iptables,但我希望可以设置一个积极的规则,即,路由到 ethX 允许其余的被阻止。

谢谢,伊利亚。

答案1

最好的方法是先放弃所有内容,然后允许在所需的接口组合上转发,例如:

iptables -F FORWARD
iptables -P FORWARD DROP
iptables -A FORWARD -i br0 -o br1 -s 192.168.1.0/24 -j ACCEPT

.. 等等。上面的设置允许您的受信任网络br0到达不受信任的网络br1,但反过来不行。您添加到系统中的任何接口都将无法转发,除非您专门将它们添加到上面的列表中。如果您希望br0能够在任何地方转发,请按如下方式操作:

iptables -A FORWARD -i br0 -j ACCEPT

所有网络仍应能够通过 NAT 接口出去ethX

相关内容