web-dev-qa-db-ja.com

domUで複数の異なるIP範囲を許可するようにXenを構成するにはどうすればよいですか?

DomUのIPがdom0とは完全に異なる(同じネットワーク範囲内ではない)セットアップでXenを実行しようとしています。 この回答 すべてが同じ/ 24の範囲内で機能しましたが、完全に無関係なIPでは機能しませんでした。

dom0の/ etc/network/interfaces:

# The primary interface.
# The configuration is done in the bridge.
auto eth0

# The bridge for Xen to use.
auto xenbr0
iface eth0 inet static
        bridge_ports eth0
        address 188.165.X.Y
        netmask 255.255.255.0
        network 188.165.X.0
        broadcast 188.165.X.255
        gateway 188.165.X.254

dom0のブリッジ(brctl show):

bridge name     bridge id               STP enabled     interfaces
eth0            8000.00259022aab2       no              peth0
                                                        vif1.0

domUの/ etc/network/interfaces:

# The primary network interface
auto eth0
iface eth0 inet static
    address 91.121.A.B
    gateway 188.165.X.254
    netmask 255.255.255.0

DomUの構成でもさまざまなネットマスクを試しました。 domUが正常にネットワークに接続できるように設定するにはどうすればよいですか?

3
Simon

91.121.x.xがインターネットを介してゲートウェイ188.165.X.254のゲートウェイにルーティングされていると仮定します。

次に、ゲートウェイは、91.121.x.xがVMホスト(188.165.X.Y)に移動するためのルートを必要とします。

これは、91.121.x.xに到達しようとするトラフィックがXenサーバーに到達することを意味します。

前の質問では、すべてのインターフェイスが同じネットワーク上にあったため、すべてをメインインターフェイスにブリッジできました。これはレイヤー2接続です。

ただし、この場合、ゲストはホストとは異なるネットワーク上にあります。レイヤー3-ルーテッド-接続が必要です。

ホストで2つのことが起こる必要があります

1)91.121.x.xネットワークのインターフェースが必要です。2)ルーターになる必要があります。

(1)については、以前と同様のネットワークセットアップがありますが、物理インターフェイスはブリッジから外されています。仮想マシンが接続するためのブリッジインターフェイスを作成しますが、eth0インターフェイスとは別の独自のアドレスを指定します。

auto lo br0 eth0

iface lo inet loopback

iface br0 inet static
        bridge_ports none
        address 91.121.x.1
        netmask 255.255.255.0

iface eth0 inet static
       address 188.165.X.Y
       netmask 255.255.255.0
       network 188.165.X.0
       broadcast 188.165.X.255
       gateway 188.165.X.254

これが発生すると、サーバーには2つのインターフェイスがあり、ルーターとして機能できます。これはデフォルトでオフになっています。 /etc/sysctl.confを変更し、次の行のコメントが解除されていることを確認します。

 net.ipv4.ip_forward=1

これはコマンドラインで次のように一時的に有効にできますが、再起動後も存続するには上記の変更が必要です。

 sysctl -w net.ipv4.ip_forward=1

これで、サーバーは、91.121.x.x宛てのeth0に到着したパケットをbr0インターフェイスからルーティングします。したがって、VMをこのインターフェイスにブリッジする必要があります。これは通常どおりですが、完全を期すためにここに配置するだけです。

.cfg内:

 vif = ['bridge=br0, mac=00:16:3E:12:16:19']

DomUインターフェイスファイル:

auto eth0
iface eth0 inet static
    address 91.121.A.B
    gateway 91.121.x.x (this is the dom0 br0 interface address)
    netmask 255.255.255.0

DomUからpingdom0にping91.121.x.xを実行し、dom0からping domUにping91.121.x.254を実行することで、ブリッジ全体ですべてが正しく機能していることをテストできます。次に、domuからインターフェースの外部でdom0にpingを実行します。188.165.X.Y

最初のpingはブリッジが機能していることを証明し、2番目のpingはルーティングが機能していることを証明します。

2
Paul