XEN4.1でDebianwheezyを使用しています。 xenbr0とxenbr1の2つのネットワークブリッジがあります。
xenbr0はreal-eth0-nicにリンクされているため、domUは外の世界と通信できます。これは正常に機能しました。
xenbr1は、domUとdom0の間の通信用の内部ネットワークブリッジとして意図されていました。
問題はxenbr1であり、理由はわかりません。 domU間でPingできるため、domUはxenbr1に正常に接続されています。したがって、ブリッジは何らかの形で機能していますが、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はdomU-2にpingを実行でき、その逆も可能です。
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に接続されていることがわかります。
Host(eth1)に追加のインターフェースがある場合は、次のようにするだけです。
brctl addif xenbr1 eth1
これは、IPネットワークが適切に構成されていれば機能するはずです。