Windows Server 2003 または Windows 2000 Server を実行しているコンピューターで一時的なポートの範囲を予約する

この記事では、コンピューター上の一時的なポートの範囲を予約する方法について説明します。

適用対象: Windows 10 - すべてのエディション、Windows Server 2012 R2
元の KB 番号: 812873

概要

場合によっては、ランダム ポートを要求するプログラムまたはプロセスに、予約範囲内のポートが割り当てられないように、ポートの範囲を予約する必要がある場合があります。 ポートの範囲を予約する場合は、予約範囲内のポートを特に要求するプログラムまたはプロセスのみがポートを使用できます。

詳細

重要

このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 レジストリを変更する際には十分に注意してください。 保護を強化するため、レジストリを変更する前にレジストリをバックアップします。 こうしておけば、問題が発生した場合にレジストリを復元できます。 レジストリのバックアップ方法および復元方法の詳細を参照するには、以下のサポート技術情報番号をクリックしてください。
322756 Windows でレジストリをバックアップおよび復元する方法
予約範囲内のポートを特に要求するプログラムまたはプロセスのみがポートを使用できるように、ポートの範囲を予約するには、次の手順に従います。

Windows Server 2003 または Windows XP Professional

  1. レジストリ エディター (Regedit.exe) を起動します。

  2. 次のレジストリ サブキーを見つけてクリックします。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

  3. [ 編集 ] メニューの [ 新規] をポイントし、[ 複数文字列値] をクリックします。

  4. 新しい値を右クリックし、[ 名前の変更] をクリックし、「ReservedPorts」と入力し、Enter キーを押します。

  5. [ReservedPorts] の値をダブルクリックし、予約するポートの範囲を入力し、[OK] をクリック します

    注:

    次の形式でポートの範囲を入力する必要があります: xxxx-yyyy
    1 つのポートを指定するには、 x と y に同じ値を使用 します。 たとえば、ポート 4000 を指定するには、「4000-4000」と入力します。

    警告

    連続ポートを個別に指定し、1 つのポートが予約されていて使用されていない場合、次のポートは正しく予約されておらず、使用されます。

  6. [OK] をクリックします。

  7. レジストリ エディターを終了します。

Windows 2000

  1. レジストリ エディター (Regedt32.exe) を起動します。

  2. 次のレジストリ キーを見つけてクリックします。 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

  3. [ 編集 ] メニューの [ 値の追加] をクリックします。

  4. [ 値の名前 ] ボックスに「ReservedPorts」と入力します。

  5. [ データ型 ] ボックスの一覧 で、[REG_MULTI_SZ] をクリックし、[OK] をクリック します

  6. [複数文字列エディター] ダイアログ ボックスで、予約するポートの範囲を入力します。

    注:

    ポートの範囲は、 xxxx-yyyy という形式で入力する必要があります。 1 つのポートを指定するには、 x と y に同じ値を使用 します。 たとえば、ポート 4000 を指定するには、「4000-4000」と入力します。

    警告

    連続ポートを個別に指定し、1 つのポートが予約されていて使用されていない場合、次のポートは正しく予約されておらず、使用されます。

  7. [OK] をクリックします。

  8. レジストリ エディターを終了します。

注:

変更を有効にするには、これらの変更を行った後にコンピューターを再起動する必要があります。

Windows Vista 以降のオペレーティング システム

注:

レジストリ設定のReservedPorts は、Windows Vista、Windows 2008 以降のオペレーティング システムでは実装されていません。

netsh コマンドを使用してダイナミック ポート範囲を調整する方法の詳細については、「Microsoft サポート技術情報: 929851 TCP/IP の既定のダイナミック ポート範囲が Windows Vista および Windows Server 2008 で変更されました」の記事を参照してください。
TCP/IP の既定のダイナミック ポート範囲は、Windows Vista および Windows Server 2008 以降に変更されました