私は XEN 4.1 を搭載した Debian wheezy を使用しています。ネットワーク ブリッジ 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 表示:
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
誰かが私を助けてくれたり、どこを調べればよいか教えてくれることを願っています。
答え1
これは、トラフィックが実際に dom0 に到達するためには、Lonux dom0 のブリッジ以外のインターフェイスが実際に必要だからだと思います。ブリッジは単なるブリッジであり、dom0 へのインターフェイスを提供しません。dom0 にダミー インターフェイスを設定して、それをブリッジに追加してみるか、タップ インターフェイスを追加してみてください。これが何なのかはわかりませんが、試してみる価値は間違いなくあります。