我设置了一个br0
“附加”到两个接口的桥:
eth0
,我的物理接口已连接到真实的局域网,vnet0
,KVM虚拟接口(连接到Windows VM)。
我在前向链中有一条防火墙规则:
iptables -A FORWARD -j REJECT
现在,唯一有效的ping是从VM到主机。
该br0
接口拥有我的主机的IP地址。eth0
而vnet0
没有“拥有”任何IP,从主机点。Windows VM具有静态IP配置。
如果将我的iptables
规则更改为ACCEPT
(甚至使用更具限制性的iptables -A FORWARD -o br0 -j ACCEPT
),一切都将正常工作!(即,我可以从VM ping任何LAN计算机,反之亦然)。
所有IP转发内核选项均被禁用(如net.ipv4.ip_forward = 0
)。
那么,netfilter防火墙如何阻止甚至没有启用的功能?
此外,VM-LAN流量仅应包含eth0
和vnet0
。但是,似乎允许-o br0
“作品” 进行正向流量(尽管我并未非常仔细地检查)。
看看我对这个U&L的答问:使用网桥时的设置
—
slm
什么是输出
—
斯特凡Chazelas
sysctl -a | grep bridge-nf
@StéphaneChazelas–
—
Totor
net.bridge.bridge-nf-call-arptables = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-filter-vlan-tagged = 0
net.bridge.bridge-nf-filter-pppoe-tagged = 0