このシナリオとそれがすべて正常に機能しているのですが、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/zones
#ZONE TYPE OPTIONS IN OUT
# OPTIONS OPTIONS
fw firewall
inet ipv4
road ipv4
/ etc/shorewall/interfaces
#ZONE INTERFACE BROADCAST OPTIONS
inet br0 detect routeback
road tun+ detect routeback
/ etc/shorewall/policy
#SOURCE DEST POLICY LOG LIMIT: CONNLIMIT:
# LEVEL BURST MASK
$FW all ACCEPT
inet $FW DROP info
road all DROP
inet road DROP
/ etc/shorewall/tunnels
#TYPE ZONE GATEWAY GATEWAY
# ZONE
openvpnserver:1194 inet 0.0.0.0/0
問題は、ショアウォールが実行されていても、ブリッジの背後にある仮想マシンにpingまたは接続できることです。
ブリッジのメンバーであるインターフェイスをファイアウォールで保護するのではなく、ブリッジインターフェイス自体のみを使用する必要があります。ブリッジはレイヤー2ドメインですが、iptablesはレイヤー3ファイアウォールであるため、ホストがレイヤー3でパケットをルーティングしている場合にのみ機能します。
あなたの場合、br0
とtun+
はeth0
のメンバーであるため、Shorewallはvnet+
とbr0
についてのみ知っている必要があります。 VMとインターネット間のトラフィックを監視する場合は、VMをLANにブリッジしないように構成を変更する必要があります(つまり、eth0
からbr0
を取り出します)。