要在 Linux 下配置网桥透明模式防火墙,您可以使用 iptables
来实现。下面是一个基本的示例,假设您已经有一个网桥 br0
,并且想要在网桥上应用透明防火墙规则。请注意,透明模式防火墙配置可能会因网络环境和需求而有所不同,以下示例仅供参考。
-
安装必要的工具:
确保系统中安装了
iptables
工具包:sudo apt update sudo apt install iptables
-
配置网桥:
假设已经有一个名为
br0
的网桥。如果还没有,请先创建一个网桥,并将物理接口(如eth0
)添加到网桥中。 -
配置
iptables
规则:使用以下命令设置
iptables
规则,实现透明模式防火墙功能:sudo iptables -t nat -A PREROUTING -i br0 -j TEE --gateway 0.0.0.0 sudo iptables -t nat -A POSTROUTING -o br0 -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 # 其他规则根据需求添加
这些规则将数据包从输入网桥接口
br0
复制到输出网桥接口br0
,并根据需求允许或阻止特定的数据包流动。请根据您的网络环境和需求进行适当的调整。 -
保存规则:
保存
iptables
规则以防止重启后丢失:sudo iptables-save > /etc/iptables/rules.v4
-
启用 IP 转发(如果需要):
如果要启用 IP 转发功能,请确保已经在系统中启用了 IP 转发:
sudo sysctl -w net.ipv4.ip_forward=1
以上步骤中使用的 iptables
命令适用于版本 1.8.7,但具体规则可能会根据您的需求和环境而有所不同。在配置防火墙规则时,请确保遵循最佳实践和安全建议。