Я использую Debian wheezy с XEN 4.1. У меня есть два сетевых моста xenbr0 и xenbr1.
xenbr0 связан с реальным eth0-nic, так что домены могут общаться с внешним миром, который работал нормально.
xenbr1 был задуман как внутренний сетевой мост для связи между domU и dom0.
Проблема в xenbr1, и я не знаю почему. DOMU успешно подключены к xenbr1, потому что я могу Ping между DOMU. Таким образом, мост как-то работает, но трафик к xenbr1 или от dom0 невозможен.
Моя настройка xenbr1 в /etc /network /interfaces:
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 может пинговать 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
Я надеюсь, что кто-нибудь может мне помочь или есть начало, где искать.