Windowsでスタティックルートを追加。

最近妙にWindowsの開発環境やらなんやらにスタティックルートを追加する機会が多いので、覚えちゃったけど、またすぐ忘れるのかもなーと思いつつめも。

> route -p add [宛先ネットワークアドレス] mask [マスク] [ゲートウェイ]
  • [-p]オプションでOSを再起動しても設定内容が残るようにする。
  • [宛先ネットワークアドレス] ネットワークアドレス 192.168.0.0とか
  • [マスク] 宛先ネットワークアドレスのマスク 255.255.255.0とか
  • [ゲートウェイ] 宛先ネットワークに一致するパケットの送信先ルータ等

宛先が1台とか決まってるときは下のように設定。

> route -p add 192.168.150.15 mask 255.255.255.255 192.168.0.1

[ネットワークアドレス]部分に宛先のIPアドレスを入れ、[マスク]部分には255.255.255.255とする。下の論理演算の結果を見て[ゲートウェイ]のルータへ転送するかどうか判断することになる。

    11000000.10101000.10010110.00001111 < 送信先IP
and)11111111.11111111.11111111.11111111 < マスク
   -------------------------------------
    11000000.10101000.10010110.00001111 < 結果が設定した[宛先ネットワークアドレス]と同じ場合、ゲートウェイのルータへ転送

マスクがすべて1なので、送信先IPと[宛先ネットワークアドレス]はすべてのビットが同じでないと一致することはない。

次に、

> route -p add 192.168.150.0 mask 255.255.255.0 192.168.0.1

という、ルーティングを設定されているとき、192.168.150.120へデータを送ると以下のような判断がされることになる。こっちが普通かな。

    
    11000000.10101000.10010110.01111000 < 送信先IP
and)11111111.11111111.11111111.00000000 < マスク(設定したやつ)
   -------------------------------------
    11000000.10101000.10010110.00000000 < 結果が設定した[宛先ネットワークアドレス]と同じ場合、ゲートウェイのルータへ転送