ablog

不器用で落着きのない技術者のメモ

Windows で特定のポート範囲がアプリケーションから使用されないよう予約する方法

  • [スタート]-[ファイル名を指定して実行]を選択し、「regedit.exe」と入力し、[OK] をクリックする。
  • 次のレジストリ サブキーを見つけ、クリックする。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  • [編集]- [新規]-[複数業文字列値]を選択する。
  • 「ReservedPorts」と入力し、ENTER をクリックする。
  • [ReservedPorts]値をダブルクリックし、構文: x-y を使用してポートの範囲を入力する*1
  • [OK] をクリックする。
  • レジストリ エディタを終了する。
  • Windows を再起動する。


[参考]
http://www.microsoft.com/japan/technet/community/columns/cableguy/cg1205.mspx


追記(2009/08/04):
ReservedPorts を 1025-10000 に設定しても、1025-10000 の範囲のポートが使われるので、MaxUserPort を 65534 に設定してみたら、10001 以降のポートが使われるようになった!具体的な設定方法は以下の通り。

  • [スタート]-[ファイル名を指定して実行]を選択し、「regedit.exe」と入力し、[OK] をクリックする。
  • 次のレジストリ サブキーを見つけ、クリックする。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  • [編集]- [新規]-[DWORD 値]を選択する。
  • 「MaxUserPort」と入力し、ENTER をクリックする。
  • [MaxUserPort]値をダブルクリックし、65534(10 進法)を入力する。
  • [OK] をクリックする。
  • レジストリ エディタを終了する。
  • Windows を再起動する。

*1:単一のポートを指定するためには、x および y について同じ値を使用します。たとえば、ポート 4000 を指定するためには、4000-4000 と入力する