与VDE桥接的KVM无线局域网主机无法通讯

我有基于64位ArchLinux(3.3.8内核)家庭服务器。 它播放mythtv后端/文件/ VoIP服务器。 这也是我的gw /防火墙到互联网(2 nic,iptables fw)。 fw设置为“全部拒绝”( -P INPUT DROP-P FORWARD DROP

我也在这台机器上安装了kvm。 KVMnetworking通过vde的tap0桥接到eth0(我的LAN面向phy接口)。

networking子网是192.168.1.0

 kvm(.190)<-->vde(tap0)<->bridge(name=lan0; ip=.254)<->nic0(phy dev) 

kvm的作品,我可以在kvm客人(.190)和主机(.254)之间进行双向通信 – 但不能与我的LAN主机进行通信! 问题似乎与我的防火墙中的-P FORWARD DROP规则相关,因为不执行此规则允许所有networking正常工作。 我有问题了解为什么-P FORWARD DROP导致问题。 从L3的angular度来看,kvmnetworking接口在LAN nic之后(它被连接到LAN nic),所以在L3级别上它应该工作。 它看起来像-P FORWARD DROP阻止来自其他LAN主机的stream量。 为什么这个?

thx提前

它看起来像添加-I FORWARD -m physdev –physdev-is-bridged -j ACCEPT解决了问题。 从iptables的手册页我读:“– physdev-is-bridged匹配,如果数据包被桥接,因此不被路由,这只在FORWARD和POSTROUTING链有用。 ”我想知道什么是安全隐含启用这个。 我的服务器有:

  • nic0:高速局域网段
  • wan0:hw nic为WAN
  • lan0:桥
  • tap0:vde界面

nic0&tap0通过lan0桥接桥接。 我可以假设-I FORWARD -m physdev -physdev-is-bridged -j ACCEPT允许L2遍历仅用于来自nic0和tap0的eth帧,并且从wan0的int帧到其他intfs的eth帧被阻塞(它们仅限于wan0 ip堆栈区)