クライアント IP アドレスのシミュレーションによるルーティング問題の解決策

マルチホーム クライアントにレスポンスを送信するようにサーバーを設定するために、いくつかの方法があります。異なるネットワーク構成に対して 2 つの方法があります。

同じサブネット上のサーバーとエージェント

エージェントとサーバーの間にルーターが存在しない場合、サーバーのルーティング テーブルにエントリを追加する必要があります。生成されたクライアントの IP アドレスが同じ 2 つの数 (192.200. など) で始まっている場合、ルーティング テーブルに 1 つだけエントリを追加する必要があります (route add 192.200.0.0 mask 255.255.0.0<your normal IP address>)。サーバーは、192.200. で始まるすべてのアドレスの適切なルータとしてクライアントをみなします。

以下の例では、サーバー 1 は、エージェント 1 からのパケットを受信し、192168.20.50 から 192.200.2.1 へ返信しようとします。サーバーの設定を修正していない場合は (エージェント 1 がマルチホームであることはサーバーは知らないことを意味します)、サーバー 1 はパケットをデフォルト ゲートウェイに送信します。これは、ルーティング テーブルの一致するエントリが唯一であるためです。

ネットワークの宛先 ネットマスク ゲートウェイ インターフェース メトリック
0.0.0.0 0.0.0.0 192.168.20.18 192.168.20.126 1

サーバー 1 で、route add 192.200.0.0 mask 255.255.0.0 192.168.20.21 を実行すると、新しいエントリが追加されます。エントリは、次のようになります。

ネットワークの宛先 ネットマスク ゲートウェイ インターフェース メトリック
192.0.0.0 255.255.0.0 192.168.20.21 192.168.20.50 1

このエントリは、デフォルト ゲートウェイのエントリよりも優先順位が高いため、サーバー 1 は、192.200.x.x の宛先アドレス タイプを持つすべてのパケットをエージェント 1 に送信します (これが正しいゲートウェイであると信じられている)。

サーバーとエージェント間にルーターまたはロード バランサーが存在

サーバーとエージェント間にルーターまたはロード バランサーが存在します。そのような場合、ルーターのルーティング テーブルを変更する必要があります。エージェント 1 がサーバー 1 にパケットを送信する場合は (192.200.2.1 から 192168.10.50)、エージェント 1 は正しく構成されています。つまり、次のようなルーティング テーブルのエントリがあります。

ネットワークの宛先 ネットマスク ゲートウェイ インターフェース メトリック
192.168.1.0 255.255.0. 192.168.20.70 192.168.20.21 1

エージェント 1 はルーターにパケットを送信すると、ルーターは代わりにサーバー 1 にパケットを転送します。今度は、サーバー 1 がエージェント 1 のリクエストにレスポンスを送信する必要があります (192.168.10.50 から 192.200.2.1)。ルーティング テーブルのデフォルト エントリであるルーターにサーバー 1 はパケットを送信します。しかし、ここで問題が発生します。ルーターには、エージェント 1 の新しい I アドレスの情報が無いため、デフォルト ルート (以下を参照) を使用してゲートウェイにパケットを送信します。

ネットワークの宛先 ネットマスク ゲートウェイ インターフェース メトリック
0.0.0.0 0.0.0.0 192.168.20.18 192.168.20.70 1

ルーターで、route add 192.200.0.0 mask 255.255.0.0 192.168.20.21 を実行すると、新しいエントリが追加され、次のようになります。

ネットワークの宛先 ネットマスク ゲートウェイ インターフェース メトリック
192.200.0.0 255.255.0.0 192.168.20.21 192.168.20.70 1
このエントリは、デフォルト ゲートウェイのエントリよりも優先順位が高いため、ルーターは、192.200.x.x の宛先アドレス タイプを持つすべてのパケットをエージェント 1 に送信します (それが正しいゲートウェイであると信じられている)。
注: サブネットのデフォルト ゲートウェイをサーバーからのすべてのパケットをマルチホーム エージェントに転送するように設定できます。しかし、パケットを受信したのと同じインターフェイスを通してパケットを送信することをルーターが余儀なくされた場合、ルーターはサーバーがもともと間違ったルーティングの決定を行ってパケットを送信したとみなすという問題が発生する可能性があります。そして、ルーターは ICMP リダイレクト エラーを生成します。これは、またネットワークとサーバー上の負荷を高めます。