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