Windowsでスタティックルートを追加。
最近妙にWindowsの開発環境やらなんやらにスタティックルートを追加する機会が多いので、覚えちゃったけど、またすぐ忘れるのかもなーと思いつつめも。
> route -p add [宛先ネットワークアドレス] mask [マスク] [ゲートウェイ]
- [-p]オプションでOSを再起動しても設定内容が残るようにする。
- [宛先ネットワークアドレス] ネットワークアドレス 192.168.0.0とか
- [マスク] 宛先ネットワークアドレスのマスク 255.255.255.0とか
- [ゲートウェイ] 宛先ネットワークに一致するパケットの送信先ルータ等
宛先が1台とか決まってるときは下のように設定。
- サーバのIP:192.168.0.10
- デフォルトゲートウェイ:192.168.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 < 結果が設定した[宛先ネットワークアドレス]と同じ場合、ゲートウェイのルータへ転送