Windows Serverのルーティング設定を追加・永続化する方法をまとめました。
この記事ではWindows Server 2022で実際にコマンドでルーティング設定を追加と削除を行った作業証跡を掲載しています。
一時的にルーティング設定を追加する
Windowsサーバーへ静的ルート(static route)を設定するには下記コマンドをコマンドプロンプトで実行します。
route add [宛先IPアドレス] mask [サブネットマスク] [デフォルトゲートウェイ]
例えば、デフォルトゲートウェイが172.16.20.254で、172.16.10.1/24の宛先への静的ルートを追加するには以下のコマンドを実行します。この場合、宛先のサブネットマスクはプレフィックス長が24であることから255.255.255.0となります。
route add 172.16.10.1 mask 255.255.255.0 172.16.20.254
永続的にルーティング設定を追加する
ルーティングを永続的に設定するには、上記のコマンドにオプションで-pを追記します。
route add -p [宛先IPアドレス] mask [サブネットマスク] [デフォルトゲートウェイ]
設定したルーティング設定を削除する
誤ってルーティングを設定してしまった場合など、ルーティング設定を削除するには以下のコマンドを実行します。
route delete [宛先IPアドレス] mask [サブネットマスク] [デフォルトゲートウェイ]
上記コマンドは一時的なルーティング設定の追加、永続的なルーティング設定の追加どちらの設定の削除にも対応しています。
ホストアドレスとネットワークアドレスのサブネットマスク(maskオプションについて)

route add -pコマンド(永続的にルーティングを追加するコマンド)で追加するIPアドレスには、ホストアドレスとネットワークアドレス、どちらも指定することができます。maskの後ろに指定するサブネットマスクは、プレフィックス長と対応します。
| サブネットマスク | プレフィックス長 |
| 255.0.0.0 | /8 |
| 255.128.0.0 | /9 |
| 255.192.0.0 | /10 |
| 255.224.0.0 | /11 |
| 255.240.0.0 | /12 |
| 255.248.0.0 | /13 |
| 255.252.0.0 | /14 |
| 255.254.0.0 | /15 |
| 255.255.0.0 | /16 |
| 255.255.128.0 | /17 |
| 255.255.192.0 | /18 |
| 255.255.224.0 | /19 |
| 255.255.240.0 | /20 |
| 255.255.248.0 | /21 |
| 255.255.252.0 | /22 |
| 255.255.254.0 | /23 |
| 255.255.255.0 | /24 |
| 255.255.255.128 | /25 |
| 255.255.255.192 | /26 |
| 255.255.255.224 | /27 |
| 255.255.255.240 | /28 |
| 255.255.255.248 | /29 |
| 255.255.255.252 | /30 |
| 255.255.255.254 | /31 |
| 255.255.255.255 | /32 |
ホストアドレスは、一意のIPアドレス、つまり、サーバー1台(OS1つ)分の一つのIPアドレスを指定してルーティングを追加するケースです。このとき、プレフィックス長は32となり、サブネットマスクは255.255.255.255となります。そのため、コマンドのmaskの後ろのサブネットマスクは255.255.255.255を入力します。
以下のコマンドはホストアドレス192.168.10.10/32へのルーティングを追加する例です。
route add -p route add 192.168.10.10 mask 255.255.255.255 192.168.20.254
ネットワークアドレスは、複数のホストアドレスの集合体となるネットワークのIPアドレスです。以下の例では、ホスト部の第4オクテットが「0」になっていて、ネットワーク部が192.168.10、プレフィックス長は24(サブネットマスクは255.255.255.0)で2の8剰(256)から2(192.168.10.0はネットワークアドレス、192.168.10.255はブロードキャストアドレスなのでホストアドレスとして割り当てられず、その二つを差し引く)を引いた254個のIPアドレス(ホストアドレス)に関するIPアドレスです。
以下のコマンドはネットワークアドレス192.168.10.0/24へのルーティングを追加する例です。
route add -p route add 192.168.10.0 mask 255.255.255.0 192.168.20.254
実際に一時的にルーティング設定を追加してみる
ルーティングをWindows Server 2022で一時的に追加してみます。まずはコマンドプロンプトを立ち上げて以下のようにコマンドを実行します。
C:\Users\Administrator>route add 192.168.242.136 mask 255.255.255.255 192.168.242.2
OK!
正しくルーティングが追加されるとOK!と出力されます。
以下のいずれかのコマンドで追加されたルーティングを確認します。
route print
netstat -nr
今回はroute printコマンドで確認してみます。
C:\Users\Administrator>route print
(中略)
===========================================================================
固定ルート:
なし
(以下略)
一時的に追加しただけだと、route printコマンドの出力結果の「固定ルート」にルーティング設定が表示されませんでした。後述の永続的に設定した場合はルーティング設定が確認できます。
ルーティング設定を追加しそびれたのかな、と思い2度一時的なルーティングを追加するコマンドを実行していますが、確かにこの状態でroute printコマンドを実行しても「固定ルート:」には「なし」と表示されました。
C:\Users\Administrator>route add 192.168.242.136 mask 255.255.255.255 192.168.242.2
OK!
C:\Users\Administrator>route add 192.168.242.136 mask 255.255.255.255 192.168.242.2
ルートを追加できませんでした: オブジェクトは既に存在します。
実際に永続的にルーティング設定を追加してみる
いったん一時的なルーティング設定を後述のroute deleteコマンドで削除してから、今度は永続的にルーティング設定を追加してみます。
C:\Users\Administrator>route add -p 192.168.242.136 mask 255.255.255.255 192.168.242.2
OK!
以下のコマンドを実行してルーティング設定を確認します。
C:\Users\Administrator>route print
(中略)
===========================================================================
固定ルート:
ネットワーク アドレス ネットマスク ゲートウェイ アドレス メトリック
192.168.242.136 255.255.255.255 192.168.242.2 1
===========================================================================
(以下略)
route add -pコマンドで設定した永続的なルーティング設定が表示されました。
実際に追加したルーティング設定を削除してみる
追加したルーティングの設定を削除してみます。
C:\Users\Administrator>route delete 192.168.242.136 mask 255.255.255.255 192.168.242.2
OK!
OK!と結果が出力されました。
追加したルーティングを確認する
static routeが正しく設定されているかは下記のいずれかのコマンドで確認することができます。
route print
netstat -nr
routeコマンドの参考資料:https://learn.microsoft.com/ja-jp/windows-server/administration/windows-commands/route_ws2008
netstatコマンドの参考資料:https://learn.microsoft.com/ja-jp/windows-server/administration/windows-commands/netstat
