Static Routing Table (Windows10)
LANポートが2個口あるPCを、2つのネットワークに所属させる方法メモ
ネットワーク構成
───┬──────192.168.1.0/24
│
クライアントPC(Windows10) [NICとして仮にIF1とIF2を持っているものとする]
│
───┴──────192.168.2.0/24
この場合は、ルーティングテーブルに静的ルーティングを設定すれば良い。
まず、
route PRINT
で、現在のルーティングテーブルを確認する。
"インターフェイス一覧"で、ネットワーク接続しているNICのインターフェイス番号を確認する。
(以下、このインターフェイス番号をIF1,IF2だったとして表記する)
おそらく、"固定ルート:"で示される静的ルーティングには、この様に表示されている筈。
※メトリックとは、そのNICにおける優先順位と思えば良い。環境によって異なり、数字が小さいほど優先される。
最初のネットワークアドレスは、"宛先"を示す。0.0.0.0は、全ての宛先という意味になる。
固定ルート:
ネットワーク アドレス ネットマスク ゲートウェイ アドレス メトリック
0.0.0.0 0.0.0.0 192.168.1.1 11
ここに、以下のコマンドでルートを追加する。
※"宛先"をIPアドレスで指定しなければいけないことに注意。
route -p ADD 192.168.2.0 mask 255.255.255.0 192.168.2.1 IF IF2
-p : Permanentの意味。これを付けないと再起動で設定が消える為、永続オプションを付与する。
192.168.2.0 : 宛先のネットワークアドレス
255.255.255.0 : ネットワークのマスクアドレス(指定しなくても24bitだそうだが)
192.168.2.1 : 接続ネットワークのゲートウェイを指定(ネクストホップアドレス)
IF2 : パケット送出のインターフェイスを定義。NICが2枚刺さっているので設定必須
正しく設定できれば、route PRINTで以下の様になっている筈。
固定ルート:
ネットワーク アドレス ネットマスク ゲートウェイ アドレス メトリック
192.168.2.0 255.255.255.0 192.168.2.1 12
0.0.0.0 0.0.0.0 192.168.1.1 11
ここで、"アクティブルート"を確認する。
設定直後は表示されていないかもしれないが、PCを再起動する等した場合、以下のようになっていないだろうか。
ネットワーク宛先 ネットマスク ゲートウェイ インターフェイス メトリック
0.0.0.0 0.0.0.0 192.168.2.1 192.168.2.2 37
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.2 37
ここで表示されているインターフェイスは、クライアントPCのNICに割り振られたIPアドレスとなるが、
着目すべきはメトリックである。
IF1を通常の通信ポートとして活用し、IF2を特定用途の通信に活用する場合は、メトリック値としては
IF1のメトリック値 < IF2のメトリック値 になっていなければならない。
そうでない場合、例えば同じ値の時などは、PCを起動した時に順番が入れ替わり、正しく通信できない事になってしまう。
しかし、アクティブルートは、現在の状態を表しているに過ぎず、ここを設定変更する事はできない。
そこで、以下のようにデフォルトの静的ルーティングを追加する。
固定ルートでは、IF1が通常通信ポートとなる為、こちらのメトリック値を小さくしてしまうと、
IF2へ行くはずのパケットまで、IF1に行ってしまう。
この場合は、IF1のメトリック値 > IF2のメトリック にすべきである。
route -p ADD 0.0.0.0 mask 0.0.0.0 192.168.1.1 metric 11
route -p CHANGE 192.168.2.0 mask 255.255.255.0 metric 1
これで、固定ルートに以下のように表示されれば成功。IF2が特定通信用として使われる筈だ。
固定ルート:
ネットワーク アドレス ネットマスク ゲートウェイ アドレス メトリック
192.168.2.0 255.255.255.0 192.168.2.1 1
0.0.0.0 0.0.0.0 192.168.1.1 11