我正在使用Debian wheezy和XEN 4.1.我有两个网桥xenbr0和xenbr1.
xenbr0与真正的eth0-nic相关联,因此domU可以与外部世界交流,这很好.
xenbr1旨在作为domU和dom0之间通信的内部网桥.
问题是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 show:
bridge name bridge id STP enabled interfaces xenbr0 8000.mac no eth0 vif1.0 vif2.0 xenbr1 8000.mac no vif1.1 vif2.1
网络连接:
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
如果正确配置了IP网络,这应该可以工作.