Windows 10の動的ポートの範囲を20000〜29999(包括的に)に設定したいので、範囲は10000ポートにします。
これを行うには、次のコマンドを実行します。
netsh int ipv4 set dynamicport tcp start=20000 num=10000
netsh int ipv4 set dynamicport udp start=20000 num=10000
netsh int ipv6 set dynamicport tcp start=20000 num=10000
netsh int ipv6 set dynamicport udp start=20000 num=10000
これに続いて、次のコマンド例を使用して範囲をクエリします。
netsh int ipv4 show dynamicport tcp
...次の結果が生成されます。
Protocol tcp Dynamic Port Range
-------------------------------
Start Port : 20000
Number of Ports : 10000
これは私には正しいようです。
ここで、そのWindows動的ポート範囲内の特定のポート(21000-21050など)を予約するとし、次のコマンドを実行します。
reg add HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\ /v ReservedPorts /t REG_MULTI_SZ /d 21000-21050 /f
これに続いて、Windows動的ポート範囲を再クエリすると、次の結果が生成されます。
Protocol tcp Dynamic Port Range
-------------------------------
Start Port : 20000
Number of Ports : 10000
これは予想される動作ですか?または、結果のテーブルをやや断片化して、ダイナミックレンジの中間にあるポート予約を反映する必要があります。何かのようなもの:
Protocol tcp Dynamic Port Range
-------------------------------
Start Port : 20000, 21051
Number of Ports : 1000 , 8950
私のポート予約コマンドは、ReservedPorts設定でレジストリを更新したので、これはすべて正しい動作であると思います。
システムに配置する前にこのプロセスをテストする他の方法はありますか?
ありがとう
Windows Vista以降は、ReservedPorts
レジストリ値をサポートしていません。 ( ソース )
代わりに、netsh
ユーティリティを使用して同じ効果を得ることができます。
netsh int <ipv4|ipv6> Add excludedportrange [protocol=]tcp|udp [startport=]<integer> [numberofports=]<integer> [[store=]active|persistent]
エントリを削除することもできます:
netsh int <ipv4|ipv6> delete excludedportrange [protocol=]tcp|udp [startport=]<integer> [numberofports=]<integer> [[store=]active|persistent]
...またはそれらをリストします:
netsh int <ipv4|ipv6> show excludedportrange [protocol=]tcp|udp [[store=]active|persistent]
netsh int <ipv4|ipv6> show dynamicport tcp
の出力に影響するものはないと思います。