PowerShell コマンドレットを使用して静的ルートを追加する方法
Windows マシンについてあまり知られていない事実の 1 つは、Windows マシンがプライマリ ルーターの機能を実行するように構成できることです。
Windows オペレーティング システムには、ルーティングの決定を可能にするルーティング テーブルが組み込まれています。 IT 予算が乏しい小規模オフィスがある場合、または高度なセキュリティを必要としない一時的なネットワーク用のプライマリ ルーターが必要な場合を考えてください。その場合、ハードウェア ルーターを購入するよりも、既存の Windows PC またはサーバーにルーティング機能を追加することでコストを節約できます。その後は、基本的なセキュリティに注意し、使用しているサーバーのディスク領域、メモリ、CPU 時間などのシステム リソースが不足していないことを確認するだけで済みます。
ルーティングという用語は、あるデバイスからパケットを取得し、それをネットワーク経由で別のネットワーク上の別のデバイスに送信することを表すために使用されます。まず、宛先ホストの論理ネットワーク アドレスを使用して、ルーティングされたネットワーク経由でパケットを取得します。次に、ホストのハードウェア アドレス (MAC アドレス) を使用して、パケットを正しい宛先ホストに配信します。
ルーティング デバイスは、隣接するルーティング デバイスまたはネットワーク管理者からリモート ネットワークについて学習します。次に、ルーティング デバイスは、リモート ネットワークの検索を記述したルーティング テーブル (インターネットワークのマップ) を構築します。ネットワークが直接接続されている場合、ルーターまたはルーティング デバイスはネットワークにアクセスする方法をすでに知っています。ネットワークがルーターに直接関係していない場合、ルーターは次の 2 つの方法のいずれかを使用してリモート ネットワークにアクセスする方法を学習する必要があります。
- 動的ルーティング: ルーティング情報が動的または自動的に構成または入力されます。
- 静的ルーティング: ルーティング情報は手動で設定または入力されます
この記事では、PowerShell コマンドレットを使用して Windows マシンに静的ルートを追加し、静的ルーティングを実装する方法を説明します。
静的ルートを追加する理由
Windows PC に組み込まれているルーターも含め、ほとんどのルーターは、何らかの形式の動的ルーティングを使用します。ただし、静的ルーティングが使用される場合もあります。この場合、ネットワーク管理者は、すべての変更を手動で更新し、ルーティング デバイスに静的ルートを追加する責任があります。静的ルートの実装が必要となる場合がいくつかあります。
- セキュリティ上の考慮事項により、特定のルートをデフォルト ゲートウェイ デバイスに追加することはできず、特定の機能を実行するには別のルーティング デバイスが必要になります。その場合、必要なルーティング機能を実行するようにローカル Windows コンピューターを構成できます。
- ネットワーク上に複数のサブネットまたは VLAN を設定しており、トラフィックを特定のサブネットに送信する必要があります。静的ルートは、このような種類の環境をテストする場合に特に役立ちます。
- ネットワーク上に 2 つのインターネット ルーター (プライマリとセカンダリ) があり、ソーシャル メディアおよびオーディオ/ビデオ ストリーミング サービス トラフィック (Facebook、Instagram、Twitter、YouTube、Netflix、Spotify など) の送信にセカンダリ ルーターを使用したいと考えています。そして他のすべてのトラフィックを送信するためのプライマリルーター。
- あなたは現在 Windows PC をネットワークのルーターとして使用しており、ルーティング テーブルとネットワーク内外のトラフィック フローをより適切に制御したいと考えています。
ルーティングテーブルとは何ですか?
ネットワーク デバイスがネットワーク上の別のデバイスにデータを送信する必要がある場合は、まずデータの送信先を認識する必要があります。ネットワーク デバイスが宛先デバイスに直接接続できない場合は、ルートに沿って他のデバイスを経由して宛先デバイスに送信する必要があります。各デバイスは、さまざまなデータ パケットをどの方法で配信するかを追跡する必要があり、そのためにルーティング テーブルと呼ばれるものを使用します。
ルーティング テーブルは、荷物配送における配布マップに似ています。これは、地図のようにパスを追跡するデータベースであり、これらを使用して、トラフィックを転送する方法や、トラフィックがルーティング デバイス(物理ルーターか PC か)からいつ離れるかを決定します。したがって、既存のルーティング テーブルを変更する前に確認することが重要です。ルーティング テーブルを表示するには、次の手順に従います。
- Windows の検索バーに「powershell」と入力して、PowerShell アプリを見つけます。
- アプリを右クリックし、「管理者として実行」をクリックします。
- PowerShell コマンド プロンプトが開いたら、コマンド「route print」を入力してルーティング テーブルを表示します。
上のスクリーンショットからわかるように、IPv4 ルーティング テーブルは次のフィールドで構成されています。
- ネットワーク宛先 : このフィールドには、ルーターが接続されているすべてのネットワーク セグメントがリストされます。
- ネットマスク : [ネットマスク] 列には、セグメントに接続されているネットワーク インターフェイスのサブネット マスクではなく、セグメント自体のサブネット マスクが表示されます。これにより、ルーターは宛先ネットワークのアドレス クラスを決定できるようになります。
- ゲートウェイ : ルーターは、パケットをどの宛先ネットワークに送信する必要があるかを決定すると、ゲートウェイのリストを調べて、宛先ネットワークに到達するためにパケットを転送する必要がある IP アドレスをルーターに伝えます。
- インターフェース : [インターフェイス] 列は、どの NIC が適切な宛先ネットワークに接続されているかをルーターに伝えます。
- メトリック : パケットが送信されるパスのルーティング メトリック。ルートは、メトリックが最も低いゲートウェイの方向に進みます。
永続的なルート : 永続的なルートは、再起動後に Windows オペレーティング システムからルートが削除されないように保存するのに役立ちます。これは、一時的なものでシステムの再起動後に消去される非永続的 (アクティブな) ルートとは対照的です。
0.0.0.0 | 0.0.0.0 | 192.168.44.37 | 192.168.43.57 | 10 |
127.0.0.0 | 255.0.0.0 | 127.0.0.1 | 127.0.0.1 | 1 |
192.168.0.0 | 255.255.255.0 | 192.168.0.100 | 192.168.0.100 | 25 |
192.168.0.100 | 255,255,255,255 | 127.0.0.1 | 127.0.0.1 | 25 |
Windows ルーティング テーブルに静的ルートを追加するにはどうすればよいですか?
Windows ベースのルーティング デバイスのルーティング テーブルに静的ルートを追加するための構文は次のとおりです。
ルート [/f] [/p] [
静的ルートの追加構文の重要なパラメーターは次のとおりです。
- -f ルート (ネットマスクが 255.255.255.255 のルート) とループバック ネットワーク ルートをホストしていないすべてのエントリのルーティング テーブルをクリアします。
- -p add コマンドとともに使用すると、指定されたルートがレジストリに追加され、TCP/IP プロトコルが開始されるたびに IP ルーティング テーブルを初期化するために使用されます。
- 指示 実行するコマンドを指定します。有効なコマンドは次のとおりです: (追加、変更、削除、印刷)
- 行き先 ルートのネットワーク宛先を指定します。
- マスク ネットマスク ネットワーク宛先に関連付けられたネットマスク(サブネットマスク)を指定します
- ゲートウェイ ネットワーク宛先とサブネット マスクによって定義された一連のアドレスに到達できる、転送または次のホップの IP アドレスを指定します。
- メトリック ルートの整数コスト メトリック (1 ~ 9999 の範囲) を指定します。これは、ルーティング テーブル内の複数のルートの中から、転送されるパケットの宛先アドレスに最もよく一致するルートを選択するときに使用されます。メトリックが最も低いルートが選択されます。
- インターフェイスの場合 宛先に到達可能なインターフェイスのインデックスを指定します。
ここで、上記の構文を使用した PowerShell での実際的な例を示すために、以下の手順に従って、サブネット マスク 255.255.0.0 とホップ アドレス 10.23.0.1 を持つ宛先 10.51.0.0 への静的ルートを入力します。
- Windows の検索バーに「powershell」と入力して、PowerShell アプリを見つけます。
- アプリを右クリックし、「管理者として実行」をクリックします。
- PowerShell コマンド プロンプトが開いたら、次のコマンドを入力して静的ルートを追加します。
ルート追加 10.51.0.0 マスク 255.255.0.0 10.23.0.1
永続的な静的ルート: 前述したように、このルートは Windows が再起動されるまでルーティング テーブルにのみ残ります。それが起こると、ルーティング テーブルの内容は消去されます。したがって、エントリを永続化したい場合は、上記のコマンドに -p を追加する必要があります。たとえば、サブネット マスク 255.255.0.0 とネクスト ホップ アドレス 10.23.0.1 を持つ永続ルートを宛先 10.51.0.0 に追加するには、次のコマンドを入力します。
ルート /p 追加 10.51.0.0 マスク 255.255.0.0 10.23.0.1
メトリックを含む静的ルート: サブネット マスク 255.255.0.0、ネクスト ホップ アドレス 10.23.0.1、コスト メトリック 65 を持つ宛先 10.51.0.0 へのルートを追加するには、次のコマンドを入力します。
ルート追加 10.51.0.0 マスク 255.255.0.0 10.23.0.1 メトリック 65
インターフェイスを使用した静的ルート: インターフェイス リスト番号は、route print コマンドを使用してルーティング テーブルを表示するときに、IPv4 ルート テーブルの直前に表示されます (下の図 2.0 を参照)。インデックス番号 1 (0x1) はループバック用で、残りは他の既存のネットワーク インターフェイスに割り当てられます。たとえば、サブネット マスク 255.255.0.0、ホップ アドレス 10.23.0.1、インターフェイス インデックス 0x7 を使用して、宛先 10.51.0.0 へのルートを追加するには、次のコマンドを入力します。
ルート追加 10.51.0.0 マスク 255.255.0.0 10.23.0.1 if 0x7
結論
この記事では、PowerShell を使用して静的ルートとその他の重要なパラメーターをルーティング テーブルに追加する方法について説明しました。エントリの内容を確認したい場合は、route print コマンドを使用してルーティング テーブルを表示すると、すべてのスタティック ルート エントリが表示されます。この簡単なチュートリアルが、静的ルートの概念と Windows オペレーティング システムでの静的ルートの実装方法をよりよく理解するのに役立つことを願っています。繰り返しになりますが、これらのコマンドを実行するときは、管理者として PowerShell を実行することを忘れないでください。さらにヘルプが必要な場合は、コマンド「route/?」を入力してください。さらに多くの構文例を参照するには、