web-dev-qa-db-ja.com

dom0のネットワークブリッジはdomUにpingできません

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

誰かが私を助けてくれるか、どこを見ればいいか始めてくれることを願っています。

4
Spocky

Dom0をxenbr1ブリッジに接続する必要があります。ブリッジをイーサネットスイッチと考えてください。機能するには、dom0をブリッジに「プラグイン」する必要があります。 dom0がeth0を介してxenbr0に接続されていることがわかります。

Host(eth1)に追加のインターフェースがある場合は、次のようにするだけです。

brctl addif xenbr1 eth1

これは、IPネットワークが適切に構成されていれば機能するはずです。

1
melsayed