本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「New-NetRoute」コマンドレットを解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載は、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、ネットワークの経路を設定する「New-NetRoute」コマンドレットです。
今日のIP通信環境下において、複数のサブネットでネットワークを構成することはごくごく当たり前のことであり、Microsoft Azureをはじめとするパブリッククラウドの仮想ネットワークにおいても、複数の仮想ネットワークを使用してネットワークを構成することが多くなってきました。
1つのネットワーク(サブネット)に接続可能なノード数はネットワークのサブネット長によって決定され、サブネット長が24bit(サブネットマスクでは255.255.255.0)であれば、同一ネットワークに接続可能なノード数は254となります。
サブネットが異なるネットワーク間で通信する場合は、ネットワーク同士を接続する「ルーター」と呼ばれるネットワーク機器もしくは機能が必要で、通信先のコンピュータが異なるネットワークに接続されている場合には、通信の経路として適切なルーターを指定する必要があります。
このネットワーク経路を指定するコマンドレットが「New-NetRoute」コマンドレットです。New-NetRouteコマンドレットは、従来コマンドプロンプトで使用していた「route」コマンドの「add」オプション付き実行と同等のものとなります。
オプション | 意味 |
---|---|
-DestinationPrefix | 経路を設定する対象のネットワークアドレスをCIDR(Classless Inter-Domain Routing)形式で指定する。必須 |
-AddressFamily | 経路を設定するプロトコル(IPv4/IPv6)を指定する。省略可能 |
-NextHop | 経路を設定するネットワークへルーティング可能なルーターのアドレスを指定する。必須 |
-InterfaceIndex | 経路を設定するネットワークアダプターを番号で指定する。省略可能 |
-PolicyStore | 経路設定の格納先(ActiveStore/PersistentStore)を指定する。省略可能で、省略時は両方のストアに格納 |
ネットワーク上に2つ以上のルーターがあり、ネットワークごとに使用する経路(指定するルーター)を変える場合は、New-NetRouteコマンドレットを使用して経路を設定します(画面1)。なお、New-NetRouteコマンドレットは管理者権限での実行が必要となります。
New-NetRoute -DestinationPrefix "10.200.1.0/24" -InterfaceIndex 4 -NextHop 192.168.1.200
画面1では、「10.200.1.0/24」への経路として「192.168.1.200」を指定しています。また、ネットワークアダプターが複数接続されている場合を想定し、ネットワークアダプター番号を指定しています。
なお、設定された経路を確認する場合は、「Get-NetRoute」コマンドレットを使用します。New-NetRouteコマンドレットで設定された経路情報は、routeコマンドでオプションを指定せずに実行した場合と違い、OSを再起動しても消えることはありません。「route add -p」コマンドと同等の動きとなります。
恒常的な経路設定ではなく、一時的な経路を設定したい場合もあります。その場合は、「-PolicyStore」オプションで「ActiveStore」を指定してNew-NetRouteコマンドレットを実行します(画面2)。
New-NetRoute -DestinationPrefix "10.200.2.0/24" -InterfaceIndex 4 -NextHop 192.168.1.200 -PolicyStore ActiveStore
なお、ActiveStoreにのみ設定された経路情報は、OSの再起動と同時に消去されます。
不特定多数のネットワークへのルーティングを処理するルーターを「デフォルトゲートウェイ」、ルーターのIPアドレスを「ゲートウェイアドレス」と呼びますが、この経路はIPアドレス設定の一環として設定するのが一般的です。
GUIでも設定可能ですが、PowerShellの場合は本連載第34回で紹介した「New-NetIPAddress」コマンドレットを利用し、「-DefaultGateway」オプションでルーターのIPアドレスを指定します。
デフォルトゲートウェイはIPアドレスと同時に設定するだけでなく、当然のことながらNew-NetRouteコマンドレットでも指定可能です(画面3)。
New-NetRoute -DestinationPrefix "0.0.0.0/0" -InterfaceIndex 4 -NextHop 192.168.1.250
コマンドレットそのものは特定の経路を指定する場合と全く同じ使い方をしますが、宛先のネットワークを「0.0.0.0/0」と表現して設定することでデフォルトゲートウェイを設定することができます。
New-NetRouteコマンドレットを実行する前後で、Get-NetIPConfigurationコマンドレットを使用してデフォルトゲートウェイの状況を確認していますが、New-NetRouteコマンドレット実行前には空欄だった「IPv4Defaultgateway」が、実行後は「192.168.1.250」が設定されていることが分かります。
Microsoft MVP for Cloud and Datacenter Management(2012-2023)。現業の傍ら、コミュニティーイベントでの登壇や著作にてMicrosoftテクノロジーに関する技術情報の発信、共有を続けている。ネットワークやハードウェアといった物理層に近いところが大好きな、昔ながらのインフラ屋さん。得意技はケーブル整線。近著は『詳解! Windows Server仮想ネットワーク』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.