ブリッジングを使用した Xen VM 上の複数の IP

ブリッジングを使用した Xen VM 上の複数の IP

私は XEN (Ubuntu 14.04 で実行) を使い始めたばかりですが、これまで特に問題はありませんでした。ブリッジを使用してネットワークを設定しましたが、これまで多くの異なるマシンでうまく機能していました。通常はどこかで答えを見つけることができますが、今回は見つからず、助けを求めています。

多数の IP で設定しようとしているクライアント VM (DomU) があり、非常に困っています。設定は次のとおりです。

ホスト マシンには 2 つの NIC があり、1 つはプライベート (10.10.10.x) xenbr0 に使用され、もう 1 つはパブリック IPS (xyz* など) xenbr1 用にブリッジされています。

/etc/networking/interfaces以下はホストからの私のファイルです:

iface eth0 inet manual
auto xenbr0
iface xenbr0 inet static
    bridge_ports eth0
    address 10.10.10.112
    netmask 255.255.255.0
    network 10.10.10.0
    broadcast 10.10.10.255
    gateway 10.10.10.1

auto eth1
iface eth1 inet manual
auto xenbr1
iface xenbr1 inet manual
       bridge_ports eth1
       bridge_maxwait 1

クライアント VM では、2 つのブリッジ NIC も使用します/etc/networking/interfaces

auto eth0
iface eth0 inet  static
    address x.y.z.170
    netmask 255.255.255.240
    broadcast x.y.z.175
    gateway x.y.z.161

auto eth1
iface eth1 inet static
    address 10.10.10.155
    netmask 255.255.255.0
    broadcast 10.10.10.255
auto eth0:1                    
iface eth0:1 inet static       
        address x.y.z.162      
        netmask 255.255.255.240
        broadcast x.y.z.175    
auto eth0:2                    
iface eth0:2 inet static       
        address x.y.z.163      
        netmask 255.255.255.240
        broadcast x.y.z.175    
auto eth0:3                    
iface eth0:3 inet static       
        address x.y.z.164      
        netmask 255.255.255.240
        broadcast x.y.z.175    
etc…. up to 8 alaises.    

私の xen 設定ファイルには次の内容があります: vif = [ 'bridge=xenbr0', 'bridge=xenbr1' ]

すべてがセットアップされ、動作したら、VM からローカル IP を削除する予定です。

私はこれをベアメタルマシンから VM マシンに移動しようとしているので、エイリアスを使用しています。最終的には IPS の過剰使用に対処しますが、さまざまな理由でまだそれができません。とにかく、VM を起動すると、arping -U -I eth1 x.y.z.162各 IP アドレスに対して などを実行しない限り、いくつかの IP のみが ping 可能です。その後、少なくとも応答しているように見えますが、ルーティングは実際には正しく機能していません。ssh して http 経由で IP を参照することはできますが、仮想サイトが正しく機能していません (つまり、1 つのサイトのみに送信され、他のサイトは無視されます)。bind を再起動しても、他のいくつかのサービスが正しく応答しません。ルーティングが正しく設定されていないかのようで、IP は応答しますが、応答しているのは実際には要求された IP ではなく、別の IP
です。ただし、これは一部の追加 IPS にのみ発生します。再起動すると、arp コマンドで修正されたルーティングが失われます。その後、Bind と VM 上の他のいくつかのサービスが機能しなくなります。arp コマンドを実行すると、再び機能します。
arping は単なる応急処置で、本当の問題を解決していないと思います。まったく同じシステムがベアメタル マシンで動作するため、問題はスイッチの設定や移行しようとしている OS ではなく、XEN ネットワークの設定にあるとほぼ確信しています。

問題をさらに切り分けるために、VMs/etc/networking/interfacesファイルに以下に示す、より新しい (廃止されていない IP エイリアシングではない) セットアップを使用して、複数の IP を持つクリーンな Ubuntu 14.04 ゲストをセットアップしました。

 auto eth0
allow-hotplug eth0
iface eth0 inet static
      address x.y.z.110
      netmask 255.255.255.240
      broadcast x.y.z.175
      gateway x.y.z.161
iface eth0 inet static
      address x.y.z 162
      netmask 255.255.255.240
      broadcast x.y.z.175
iface eth0 inet static
      address x.y.z 163
      netmask 255.255.255.240
      broadcast x.y.z.175
   and on with the other IPS

すべて同じ結果です。何が足りないのでしょうか? ご助力いただければ幸いです。

答え1

私は自分の問題が何であったかを把握したので、同様の問題に遭遇した人のためにここに投稿します。

私の Xen 構成では MAC アドレスを入力していませんでした。つまり、次のとおりです。

vif = [ 'bridge=xenbr0', 'bridge=xenbr1' ]

次のようなものが必要になったとき:

vif = [ 'bridge=xenbr0', 'mac=00:11:5e:5n:2c:1c,bridge=xenbr1' ]

MAC アドレスのルーティングはすぐに期限切れにならなかったので、各 IP に対してこの ARP コマンドを実行するとルーティングが修正されました。 arping -U -I eth1 x.y.z.162

VM が起動するたびに新しい MAC アドレスが割り当てられ、VM の起動時にルーティング テーブルの一部のみが更新されたと推測します。

MAC アドレスが変更されなくなったので、すべて正常です。

答え2

DomU のインターフェース設定を交換してみてください。Dom0 の設定に応じて、DomU のプライベート IP には eth0 を使用し、パブリック IP には eth1 を使用する必要があります。

関連情報