Ich verwende Debian Wheezy mit XEN 4.1. Ich habe zwei Netzwerkbrücken, xenbr0 und xenbr1.
xenbr0 ist mit real-eth0-nic verknüpft, sodass die domUs mit der Außenwelt kommunizieren können, was gut funktioniert hat.
xenbr1 war als interne Netzwerkbrücke für die Kommunikation zwischen DomUs und Dom0 gedacht.
Das Problem ist xenbr1 und ich weiß nicht, warum. Die DomUs sind erfolgreich mit dem xenbr1 verbunden, da ich zwischen den DomUs einen Ping durchführen kann. Die Brücke funktioniert also irgendwie, aber es ist kein Verkehr zu oder von Dom0s xenbr1 möglich.
Mein xenbr1-Setup in /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 anzeigen:
bridge name bridge id STP enabled interfaces
xenbr0 8000.mac no eth0
vif1.0
vif2.0
xenbr1 8000.mac no vif1.1
vif2.1
Netzwerkverbindungen:
dom0
xenbr1 - 10.0.0.1
/ \
/ \
domU-1 domU-2
vif1.1 - 10.0.0.2 vif2.1 - 10.0.0.3
domU-1 kann domU-2 anpingen und umgekehrt.
dom0 kann kein domU erreichen und die domUs können dom0 nicht erreichen.Ich glaube, in Dom0 ist etwas blockiert.
Mein erster Gedanke war, dass ich vielleicht ein Problem mit iptables habe, aber es scheint, dass Xen die notwendigen Regeln erstellt hat:
-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
Ich hoffe, dass mir jemand helfen kann oder einen Anfang hat, wo ich suchen muss.
Antwort1
Ich glaube, das liegt daran, dass Sie tatsächlich eine andere Schnittstelle als eine Brücke auf dem Lonux dom0 benötigen, damit der Datenverkehr dom0 tatsächlich erreichen kann. Die Brücke ist nur eine Brücke und bietet keine Schnittstelle zu dom0. Sie können versuchen, eine Dummy-Schnittstelle in dom0 einzurichten und diese der Brücke hinzuzufügen, oder vielleicht eine Tap-Schnittstelle. Ich bin nicht sicher, ob das der Fall ist, aber es ist auf jeden Fall einen Versuch wert.