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

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

domU が dom0 とはまったく異なる IP (同じネットワーク範囲ではない) を持つセットアップで 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 がネットワークに正常に接続できるようにするには、どのように設定すればよいでしょうか?

答え1

91.121.xxはインターネット経由でゲートウェイ188.165.X.254にルーティングされると仮定します。

ゲートウェイは、91.121.xxから188.165.XYのVMホストへのルートを必要とします。

つまり、91.121.xx に到達しようとするすべてのトラフィックは、Xen サーバーに到達することになります。

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

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

ホスト上で2つのことが起こる必要がある

1) 91.121.xxネットワークのインターフェースが必要 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

これで、サーバーは eth0 に到着した 91.121.xx 宛のパケットを 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

91.121.x.xdomU から dom0 にping し、dom0 から domU に ping することで、ブリッジ全体ですべてが正しく動作しているかどうかをテストできます91.121.x.254。次に、domu から dom0 外部インターフェイスに ping します。188.165.X.Y

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

関連情報