在 Linux 下配置网桥透明模式防火墙,您可以使用 iptables
或者 nftables
来实现。下面是一个基本的示例,假设您已经有一个网桥 br0
,并且想要在网桥上应用透明防火墙规则。
-
安装必要的工具:
sudo apt update sudo apt install bridge-utils iptables
-
设置网桥:
sudo brctl addbr br0 sudo brctl addif br0 eth0 # 将网卡 eth0 加入网桥 sudo brctl addif br0 eth1 # 将网卡 eth1 加入网桥 sudo ifconfig br0 up
-
配置 iptables 规则:
sudo iptables -t nat -A PREROUTING -i eth0 -j TEE --gateway 0.0.0.0 sudo iptables -t nat -A POSTROUTING -o eth0 -j TEE --gateway 0.0.0.0 sudo iptables -t nat -A PREROUTING -i eth1 -j TEE --gateway 0.0.0.0 sudo iptables -t nat -A POSTROUTING -o eth1 -j TEE --gateway 0.0.0.0# 允许内部流量访问外部,假设内网 IP 地址范围为 192.168.1.0/24 sudo iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT sudo iptables -A FORWARD -d 192.168.1.0/24 -j ACCEPT# 阻止外部流量访问内部 sudo iptables -A FORWARD -s ! 192.168.1.0/24 -j DROP sudo iptables -A FORWARD -d ! 192.168.1.0/24 -j DROP# 其他规则根据需求添加
-
保存规则:
sudo iptables-save > /etc/iptables/rules.v4
-
启用 IP 转发(如果需要):
sudo sysctl -w net.ipv4.ip_forward=1
-
测试配置:
使用您的网络应用程序或工具测试配置,确保流量按照您的预期进行。
请注意,这只是一个基本的配置示例,实际配置可能会根据您的网络环境和需求有所不同。在配置防火墙时,请确保遵循最佳实践和安全建议。