Bridge 和 OpenVPN 与 shorewall

Bridge 和 OpenVPN 与 shorewall

我有这种情况并且一切运行正常,但我想配置我的 Shorewall,但我做不到。

我的接口是:

br0 (bridge of eth0)
tun0 (OpenVPN)
vnet* (each one of bridged interfaces with public IP's)


Public Main IP: 188.165.X.Y
OpenVPN IP's: 172.28.0.x
Bridge: public ip's

因此,我对 shorewall 进行了以下配置:

/etc/shorewall/区域

#ZONE   TYPE        OPTIONS     IN          OUT
#                               OPTIONS     OPTIONS
fw      firewall
inet    ipv4
road    ipv4

/etc/shorewall/接口

#ZONE   INTERFACE   BROADCAST       OPTIONS
inet    br0         detect          routeback
road    tun+        detect          routeback

/etc/shorewall/策略

#SOURCE DEST    POLICY      LOG LIMIT:      CONNLIMIT:
#               LEVEL   BURST       MASK
$FW  all     ACCEPT
inet    $FW  DROP       info
road    all     DROP
inet    road    DROP

/etc/shorewall/隧道

#TYPE           ZONE        GATEWAY     GATEWAY
#                                       ZONE
openvpnserver:1194          inet      0.0.0.0/0

问题是,即使 Shorewall 正在运行,我也能 ping 或连接到网桥后面的虚拟机

答案1

您不应该对作为网桥成员的接口设置防火墙,而应该只对网桥接口本身设置防火墙。网桥是第 2 层域,而 iptables 是第 3 层防火墙,因此它仅在主机在第 3 层路由数据包时才有效。

就您而言,Shorewall 应该只知道br0tun+,因为eth0vnet+是 的成员br0。如果您想监管虚拟机和互联网之间的流量,那么您必须更改配置以不将虚拟机桥接到 LAN(即 取消eth0br0

相关内容