Я хочу установить динамический диапазон портов 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, поэтому я предполагаю, что это все правильное поведение.

Есть ли другие способы протестировать этот процесс перед развертыванием в системе?

Спасибо

1 ответ1

0

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 .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .