dom0中的网桥无法ping通domU

我正在用XEN 4.1使用Debian wheezy。 我有两个网xenbr0和xenbr1。

xenbr0与真正的eth0-nic联系在一起,所以domU可以和外界沟通,这很好。

xenbr1被用作domU和dom0之间通信的内部networking桥梁。

问题是xenbr1,我不知道为什么。 domU与xenbr1成功连接,因为我可以在domU之间Ping。 所以这座桥在某种程度上是工作的,但是没有任何来自dom0的xenbr1的交通是可能的。

/ etc / network / interfaces中的我的xenbr1设置:

auto xenbr1 iface xenbr1 inet static pre-up brctl addbr $IFACE up ip link set $IFACE up post-down brctl delbr $IFACE down ip link set $IFACE down address 10.0.0.1 netmask 255.255.255.0 hwaddress ether MAC 

brctl显示:

 bridge name bridge id STP enabled interfaces xenbr0 8000.mac no eth0 vif1.0 vif2.0 xenbr1 8000.mac no vif1.1 vif2.1 

networking连接:

  dom0 xenbr1 - 10.0.0.1 / \ / \ domU-1 domU-2 vif1.1 - 10.0.0.2 vif2.1 - 10.0.0.3 

domU-1可以ping domU-2,反之亦然。
dom0无法达到任何domU,domU无法达到dom0。 所以,我认为dom0中有些东西被封锁了。

我的第一个想法是,我可能有一个iptables的问题,但似乎xen创造了必要的规则:

 -P INPUT ACCEPT -P FORWARD ACCEPT -P OUTPUT ACCEPT -A FORWARD -m physdev --physdev-out vif2.1 --physdev-is-bridged -j ACCEPT -A FORWARD -m physdev --physdev-in vif2.1 --physdev-is-bridged -j ACCEPT -A FORWARD -m physdev --physdev-out vif2.0 --physdev-is-bridged -j ACCEPT -A FORWARD -m physdev --physdev-in vif2.0 --physdev-is-bridged -j ACCEPT -A FORWARD -m physdev --physdev-out vif1.1 --physdev-is-bridged -j ACCEPT -A FORWARD -m physdev --physdev-in vif1.1 --physdev-is-bridged -j ACCEPT -A FORWARD -m physdev --physdev-out vif1.0 --physdev-is-bridged -j ACCEPT -A FORWARD -m physdev --physdev-in vif1.0 --physdev-is-bridged -j ACCEPT 

我希望任何人都可以帮助我,或者有一个开始在哪里看。

您需要将dom0连接到xenbr1网桥。 把网桥想象成以太网交换机,你需要“插入”dom0才能工作。 你会注意到dom0通过eth0连接到了xenbr0。

如果你在主机(eth1)上有一个额外的接口,你可以简单地做:

 brctl addif xenbr1 eth1 

这应该工作,只要IPnetworkingconfiguration正确。