0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【ネットワーク】Windowsホストのルーティング設定

Last updated at Posted at 2021-07-07

普段使いではゲートウェイはインターネットにつながるデフォルトゲートウェイぐらいしか意識しないが、IaaS のクラウド環境なんか触っていると、VPNとか他業者クラウド接続とかインターネット以外にも隣接するネットワークのGWがあるとかないとか。知らんけど。

だからこんな状況もあったりするかもしれない。

image.png

こういうとき、ホストPCくん自体にルーティングを設定する必要がある。

(一つのネットワークに複数のGWがある状態は要は通信の出入口が増えるわけだからセキュリティ的に危ないかも。一般的にはファイアウォールとかそのほかルータおいて一つのネットワークに区切って、そのルータより先でルーティングさせるのがいいらしいので個々の話はあくまで一例として)

例えば、以下の構成だったとする。
image.png
(パケットトレーサーでPCのルーティング設定する方法わからなかったのでルータで代用している。通信の挙動はほぼ同じはず。心の目を濁してPCと思い込んでください。。。)

だいたいの家庭ではデフォルトゲートウェイにインターネットに出る通信が割り当てられているはず。上の例で10.0.0.0/24のNWをインターネットだと見立てたとき、192.168.0.1のPC(誰が何と言おうとPCです)から発信されるパケットで192.168.0.0/24のNW以外の宛先が出てきたら、インターネットがあるゲートウェイ:192.168.0.254にパケットを送り込む。

ゲートウェイが一つならこれでもいい。
でも二つ以上になると、そうもいかない。

例えば172.168.0.1pingを打つとこうなる。

image.png

Destination host unreachable(宛先ホストに到達できません)と出て、パケットが到達していない様子。

これはホストPCくんが172.16.0.1/24がどこにあるか知らないから起きてしまう。
ホストPCくんが知っている宛先の範囲は、デフォルトだと線とスイッチがつながっている範囲、つまり192.168.0.0/24のNWの範囲のみ。図だと緑の領域。

これを解決するために、ホストPCにルーティングを設定してあげる。

(Windowsサーバー触ったことないから勘で書いているとこもあるので注意(ぇ))

Windowsのルーティング設定

【参考】
■Windowsでルーティングテーブルを操作する
https://www.atmarkit.co.jp/ait/articles/0301/11/news003.html

まずはどんなルーティングテーブルを保持しているのかをroute print表示する。

C:> route print
===========================================================================
Interface List
(見ないので省略)
===========================================================================
IPv4 ルート テーブル
===========================================================================
アクティブ ルート:
ネットワーク宛先        ネットマスク          ゲートウェイ       インターフェイ ス  メトリック
          0.0.0.0          0.0.0.0       192.168.0.254       192.168.0.1     35
        127.0.0.0        255.0.0.0            リンク上         127.0.0.1    331
        127.0.0.1  255.255.255.255            リンク上         127.0.0.1    331
  127.255.255.255  255.255.255.255            リンク上         127.0.0.1    331
        224.0.0.0        240.0.0.0            リンク上         127.0.0.1    331
        224.0.0.0        240.0.0.0            リンク上        192.16.0.1    291
  255.255.255.255  255.255.255.255            リンク上         127.0.0.1    331
  255.255.255.255  255.255.255.255            リンク上        192.16.0.1    291
===========================================================================

だいたいこんなもんが出るかなと。
ネットワーク宛先0.0.0.0、ネットマスク0.0.0.0、ゲートウェイ192.168.0.254がいわゆるデフォルトゲートウェイ。

0.0.0.0/0ですべてのアドレスを表す。

現状、デフォルトルート以外のルーティング情報がないので、実現したいルーティングを追加していく。

172.16.0.1pingを飛ばしたら、一旦192.168.0.253/24へのゲートウェイに向ってほしい。そこまでいけばこの例ではその先は直結なので、それだけでpingが通るはず。

windowsのスタティックルート追加のコマンド。

C:> route add 172.16.0.0 mask 255.255.255.0 192.168.0.253

上記は172.16.0.0/24のNW向けのパケットが来たら、192.168.0.253へ向かわせる、というルート。172.16.0.1/24172.16.0.0/24のNWに含まれるのでこれでOK。
(ホストルートを追加するにはroute add 172.16.0.1 mask 255.255.255.255 192.168.0.253かな。試してはない)

またroute printでテーブルを確認する。

C: > route print
===========================================================================
Interface List
(見ないので省略)
===========================================================================
IPv4 ルート テーブル
===========================================================================
アクティブ ルート:
ネットワーク宛先        ネットマスク          ゲートウェイ       インターフェイ ス  メトリック
          0.0.0.0          0.0.0.0       192.168.0.254       192.168.0.1     35
        127.0.0.0        255.0.0.0            リンク上         127.0.0.1    331
       172.16.0.0    255.255.255.0       192.168.0.253       192.168.0.1     35
        127.0.0.1  255.255.255.255            リンク上         127.0.0.1    331
  127.255.255.255  255.255.255.255            リンク上         127.0.0.1    331
        224.0.0.0        240.0.0.0            リンク上         127.0.0.1    331
        224.0.0.0        240.0.0.0            リンク上        192.16.0.1    291
  255.255.255.255  255.255.255.255            リンク上         127.0.0.1    331
  255.255.255.255  255.255.255.255            リンク上        192.16.0.1    291
===========================================================================

172.16.0.0 255.255.255.0 192.168.0.253
ルーティングが追加されている。

これで172.16.0.1tracertをかけてみる。
(画像は都合上routerから。PCくんと思って)

image.png

無事に、デフォルトルート以外の他のNWとつながることができた。

あんまり役に立たないかもだけど、突然見かけても面食らわないための予防接種と思って。

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?