この記事では、コンピューター上の一時的なポートの範囲を予約する方法について説明します。
元の KB 番号: 812873
まとめ
場合によっては、ランダム ポートを要求するプログラムまたはプロセスに、予約範囲内のポートが割り当てられないように、ポートの範囲を予約することが必要な場合があります。 ポートの範囲を予約する場合は、予約範囲内のポートを明示的に要求するプログラムまたはプロセスのみがポートを使用できます。
詳細
重要
このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 したがって、次の手順を注意深く実行してください。 保護のために、レジストリを変更する前に、バックアップします。 その後、問題が起こった場合は、レジストリを復元できます。 レジストリをバックアップおよび復元する方法の詳細については、次の記事の番号をクリックして表示される Microsoft サポート技術情報の記事を参照してください。
322756 Windows でレジストリをバックアップおよび復元する方法
予約範囲内のポートを明示的に要求するプログラムまたはプロセスのみがポートを使用できるように、ポートの範囲を予約するには、次の手順に従います。
Windows Server 2003 または Windows XP Professional
レジストリ エディター (regedit.exe) を起動します。
次のレジストリ サブキーを見つけてクリックします。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
[ Edit メニューの New をポイントし、[ 文字列値] をクリックします。
新しい値を右クリックし、 Renameをクリックし、「ReservedPorts」と入力して Enter キーを押します。
[ReservedPorts] の値をダブルクリックし、予約するポートの範囲を入力し、[ OK] をクリックします。
Note
ポートの範囲は、次の形式で入力する必要があります: xxxx-yyyy
1 つのポートを指定するには、 x と y に同じ値を使用します。 たとえば、ポート 4000 を指定するには、「4000-4000」と入力します。警告
連続ポートを個別に指定し、1 つのポートが予約されていて使用されていない場合、次のポートは正しく予約されず、使用されます。
[OK] をクリックします。
レジストリ エディターを終了します。
Windows 2000
レジストリ エディター (Regedt32.exe) を起動します。
次のレジストリ キーを見つけてクリックします。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
[ Edit メニューの [値の追加 ] をクリック。
[ Value Name ボックスに「ReservedPorts」と入力します。
Data の種類一覧で、[REG_MULTI_SZ] をクリックし、[
OK] をクリック 。[ Multi-String Editor ダイアログ ボックスで、予約するポートの範囲を入力します。
Note
ポートの範囲は、次の形式で入力する必要があります: xxxx-yyyy。 1 つのポートを指定するには、 x と y に同じ値を使用します。 たとえば、ポート 4000 を指定するには、「4000-4000」と入力します。
警告
連続ポートを個別に指定し、1 つのポートが予約されていて使用されていない場合、次のポートは正しく予約されず、使用されます。
[OK] をクリックします。
レジストリ エディターを終了します。
Note
変更を有効にするには、これらの変更を行った後にコンピューターを再起動する必要があります。
Windows Vista 以降のオペレーティング システム
Note
レジストリ設定 ReservedPorts は、Windows Vista、Windows 2008 以降のオペレーティング システムでは実装されていません。
netsh コマンドを使用して動的ポート範囲を調整する方法の詳細については、マイクロソフト サポート技術情報の記事を表示するには、次の資料番号をクリックします。 929851 TCP/IP の既定の動的ポート範囲は、Windows Vista と Windows Server 2008 で変更されました
TCP/IP の既定の動的ポート範囲は、Windows Vista および Windows Server 2008 以降で変更されました