我正在用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正确。