サイトアイコン puti se blog

複数NICがあるサーバーでデフォルトゲートウェイが設定されていないNIC側にアクセス出来ない。スタティックルート設定で通信する方法

複数NICがあるサーバーの場合、
クライアントから片方のNICのIPアドレスにはアクセス接続出来るのに、もう一つのNICのIPアドレスにはアクセス接続できなかったりします。
一般的に、デフォルトゲートウェイが設定されていない側のIPアドレスに接続出来なくなります。
まあ、当然と言えば当然なのですが、、、
どうしてもネットワークでアクセスしたい!そんな場合にはスタティックルートを設定します。

 

複数NICがあるサーバーでデフォルトゲートウェイが設定されていないNIC側にアクセス出来ない

今回の環境・前提条件:

サーバー:

クライアント(ノートパソコン)

青いLANケーブルのネットワークは、例えば192.168.1.0/24のネットワークで、
オレンジ色のLANケーブルのネットワークは例えば192.168.100.0/24のネットワークです。
サーバーもクライアントもともに、デフォルトゲートウェイは青いネットワーク側のインターフェイスで設定してあります。
ここで、クライアントからオレンジ側のサーバーインターフェイス(192.168.100.1)にpingをしても応答が帰ってこないのです。

 

インターフェイスがPingが応答無い理由。それはルートテーブルにある

なぜならば、

は届くのですが、帰りの

という現象が起きてしまうから通信が出来ないのです。

サーバー上で「route print」コマンドを実行し、上記のようにルーティングテーブルを確認してみると、
「192.168.1.0」へのネットワーク宛先には、インターフェイス「192.168.1.1」からしか応答できないという設定になっています。
このため、「192.168.1.0」のネットワーク宛先には、「192.168.100.1」のインターフェイスは応答できないんです。

 

サーバー側にスタティックルート設定で通信出来るようにする方法

今回の環境の場合、サーバーにスタティックルートを追加し、通信出来るようにすることが出来ます。
ポイントは

という点です。

インターフェイスの番号は、「route print」で確認します。

複数あるインターフェイスがどっちのIPアドレスがどっちのインターフェイスかわからない場合は、「ipconfig /all」コマンドで確認できます。

次に、以下のコマンドで192.168.100.1側のインターフェイスにもルートを追加します。

route –4 add 192.168.1.0 mask 255.255.255.0 192.168.100.254 IF 12


ミソは、「IF」オプションでインターフェイス番号を指定していることです。
これにより、「192.168.1.0」ネットワーク宛先に対する「192.168.100.1」インターフェイスのルーティングが出来ました!
これでクライアント(ノートパソコン)からオレンジ側のIPアドレスにpingをすると応答が帰ってくるようになります。

ちなみに、
今回のroute追加コマンドはサーバー側のWindowsを再起動すると設定が無くなってしまいます。
永続的にルーティングを追加する設定は「-p」オプションの指定になりますが、詳しくはrouteコマンドのヘルプをご確認ください

route –?

モバイルバージョンを終了