NICが2本刺さっていた場合、ネットワークのプロパティからデフォルトゲートウェイをネットワークインターフェースごとに設定することができるが、なぜ2つ以上指定してはいけないのか(警告がでるのか)分かった気がするのでメモ
きっかけ
PowerShellからデフォルトゲートウェイを設定したいニーズがあり、
New-NetRoute -DestinationPrefix 192.168.10.0/24 -NextHop 192.168.10.1
というPowerShellを書きながら、なぜここでNextHopがでてくるのか気になった。
ルーティングテーブルの設定をしている
画像の「デフォルトゲートウェイ(D)」にIPアドレスを入力後
route print
でルーティングテーブルを確認すると、たしかにネットワーク宛先0.0.0.0 ネットマスク0.0.0.0 に対応するゲートウェイには入力した「192.168.10.1」が反映されていた。
デフォルトルートに対するルーティング
Wikipedia曰く、「ルーティングテーブルに設定されていないIPアドレス宛ての全てのパケットは、デフォルトルート経由で送信される。」ちなみに、「デフォルトルートが指し示すデバイスはデフォルトゲートウェイ」と呼ばれるらしい。
まとめ
なるほど、ルーティングテーブルにネットワーク宛先が無いと最終的になんでも解釈してくれるIPアドレス0.0.0.0(デフォルトルート)に宛先が行く。そして、ネクストホップであるゲートウェイ(多くの場合ルーターのIP)に渡されていい感じにしてくれるのか。
そのデフォルトルートが2通り存在するとどっちのルーターを見に行くか分からなくなるからデフォルトゲートウェイは基本的に2種類指定してはいけない。
最後に
まとめながら色んなサイト検索してたら、こんなサイト見つけた。
まとめたことが大体書いてある。。。