Как включить перенаправления портов в windows 10 с помощью netsh portproxy?
Настройка перенаправления портов в Windows выполняется из командой строки через режим Portproxy команды Netsh. Синтаксис команды следующий:netsh interface portproxy add v4tov4 listenaddress=localaddress listenport=localport connectaddress=destaddress connectport=destportгде,
С помощью опций netsh interface portproxy addv4tov6/v6tov4/v6tov6 можно создавать правила порт форвардинга между IPv4 и IPv6 адресами.
Допустим наша задача, заставить службу RDP отвечать на нестандартном порту, например 3340 (этот порт, конечно, можно изменить в настройках самой службы, но мы используем именно RDP для упрощения демонстрации техники перенаправления и проброса портов).
Чтобы создать правило перенаправления порта, запустите командную строку с правами администратора и выполните команду:netsh interface portproxy add v4tov4 listenport=3340 listenaddress=10.10.1.110 connectport=3389 connectaddress=10.10.1.110
Где 10.10.1.110 – текущий IP адрес данного компьютера
Теперь с помощью утилиты netstat проверьте, что в Windows теперь слушается локальный порт 3340:netstat -ano | findstr :3340
tasklist | findstr 636
Теперь попробуем подключиться на данный порт с удаленного компьютера при помощи любого RDP клиента. В качестве rdp-порта нужно указать 3340 (номер порта указывается после двоеточия после адреса rdp-сервера), например, 10.10.1.110:3340
RDP подключение должно успешно установиться.
Если нужно перенаправить входящее TCP соединение на удаленный компьютер, используете такую команду:
netsh interface portproxy add v4tov4 listenport=3389 listenaddress=0.0.0.0 connectport=3389 connectaddress=192.168.1.100
Это правило перенаправит весь входящий RDP трафик (с локального порта TCP 3389) с этого компьютера на удаленный компьютер с IP-адресом 192.168.1.100.
Секреты реестра. часть 8.
Если в Вашей сети несколько шлюзов, используйте автоматическое определение неработающего шлюза для автоматического переключения на доступный.
Тип: REGDWORD;
Значение: (0 = отключить; 1 = включить)
——————————————————————————–
HKEY_LOCAL_MACHINESystemCurrentControlSetServicesTcpipParameters EnableDeadGWDetect
Управление переключением на запасной шлюз при нахождении “мертвых” шлюзов. Запасные шлюзы могут быть определены во вкладке Advanced (Дополнительно) секции конфигурации TCP/IP в аплете Network (сеть) Панели управления (Control Panel).
Тип: REGDWORD;
Значение: (по умолчанию параметра нет; 1 = автоматически переключаться)
——————————————————————————–
HKEY_LOCAL_MACHINESystemCurrentControlSetServicesTcpipParameters Interfaces[Adapter ID]\MTU
Регулировка MTU.
Тип: REGDWORD;
Значение: (по умолчанию параметра нет = 0xffffffff; рекомендуемые значения: 576 – Dial-up Connections; 1492 – PPPoE Broadband Connections; 1500 – Ethernet, DSL and Cable Broadband Connections)
——————————————————————————–
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters TcpMaxConnectRetransmissions
Этот параметр определяет количество времени в течении которого TCP будет передавать запрос на соединение SYN (количество попыток предоставляемых ОС для установления соединения во время одной сессии) до того как его разорвет. Ретранслируемый период удваивается с каждой удачной передачей.
Тип: REGDWORD;
Значение: (по умолчанию параметра нет)
——————————————————————————–
HKEY_LOCAL_MACHINESystemCurrentControlSetServicesTcpipParameters TcpNumConnections
Определяет максимальное число одновременно открытых соединений TCP.
Тип: REGDWORD;
Значение: (по умолчанию параметра нет)
——————————————————————————–
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices[Adapter Name]ParametersTcpip\UseZeroBroadcast
Если у вас смешанная сеть и требуется, чтобы широковещательные пакеты (broadcast packet) были нулевыми, т.е. 0.0.0.0 вместо 255.255.255.255, установите данный параметр равным 1.
Тип: REGDWORD;
Значение: (по умолчанию параметра нет)
——————————————————————————–
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters TcpMaxDataRetransmissions
Этот параметр определяет, сколько раз ретранслируется индивидуальный (не установленный) сегмент данных. Ретранслируемый период удваивается с каждой удачной передачей. И будет обнулен при получении ответа. Исходное значение устанавливается равным продолжительности времени передачи туда и обратно для отдельного подключения.
Тип: REGDWORD;
Значение: (по умолчанию параметра нет)
——————————————————————————–
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters ArpUseEtherSNAP
Используйте SNAP-кодирование, для уменьшения размера пакетов передаваемых по сети Ethernet.
Тип: REGDWORD;
Значение: (по умолчанию параметра нет; 0 = отключить; 1 = включить)
——————————————————————————–
HKEY_LOCAL_MACHINESystemCurrentControlSetServicesTcpipParameters IGMPLevel
Этот параметр определяет уровень, на котором система поддерживает протокол межсетевого управления группами Internet Group Management Protocol (IGMP).
Тип: REGDWORD;
Значение: (по умолчанию параметра нет; 0 = запрещает поддержку многоадресности (multicast support); 1 = разрешена толька отправка многоканальных IP пакетов (IP multicast packets); 2 = разрешена отправка IP пакетов (IP multicast packets) и полное участие в протоколе межсетевого управления группами Internet Group Management Protocol (IGMP) для принятия многоканальных IP пакетов (IP multicast packets))
——————————————————————————–
HKEY_LOCAL_MACHINESystemCurrentControlSetServicesTcpipParameters ForwardBufferMemory
Определяет количество памяти, необходимое для размещения IP пакетов в очереди. Когда отведенное количество памяти заполнится, маршрутизатор начнет пропускать пакеты очереди. Очередь пакета – 256 байтный буфер (это объясняет кратность 256). Заголовки IP-пакетов размещаются отдельно. Этот параметр игнорируется и буферизация не производится, если недоступен IP-маршрутизатор.
Тип: REGDWORD;
Значение: ( – (кратно 256); по умолчанию: 74240 (достаточно для размещения 50 1480-байтных пакетов))
——————————————————————————–
HKEY_LOCAL_MACHINESystemCurrentControlSetServicesTcpipParameters InitialRtt
Таймаут ретрансмиссии, используемый TCP для каждого нового соединения. Используется по отношению к запросу связи (SYN) первого сегмента данных каждого соединения. Модифицируйте данный параметр с осторожностью, установка больших значений существенно увеличивает временные затраты TCP на определение разрыва связи, если адрес приемника не существует. Например, значение по умолчанию – 3000 или 3 секунды. Опять же по умолчанию запрос выполняется два раза. Общий таймаут составит (3 6 12) или 21 секунды, а если установить значение 6 секунд то соответственно общий таймаут составит 42 секунды, а за такое время приложение может быть расценено как не отвечающее (hang). Необходимо наличие SP5.
Тип: REGDWORD;
Значение: (по умолчанию параметра нет = 3000; 0 – 65535)
——————————————————————————–
HKEY_LOCAL_MACHINESystemCurrentControlSetServicesTcpipParameters KeepAliveTime, KeepAliveInterval
Эти параметры контролируют, как часто TCP пытается проверить что соединение все еще доступно, путем посылки пакетов требующих подтверждения. Если удаленная система отвечает и функционирует, это повод чтобы оставить данное соединение “живым”. Пакеты, требующие подтверждения – не посылаются “по умолчанию” операционной системой. Эта опция обычно задействуется приложениями.
Тип: REGDWORD;
Значение: (по умолчанию параметра нет = 7,200,000 миллисекунд = 120 минут; 1 = 0xFFFFFFFF) и
Тип: REGDWORD;
Значение: (по умолчанию параметра нет = 1 секунда = 1000 миллисекунд)
——————————————————————————–
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters DefaultTTL
Определяет Time To Live (TTL время жизни) устанавливаемое по умолчанию в исходящих IP пакетах. TTL определяет максимальное количество времени, которое IP пакет может “жить” в сети без достижения им конечной цели. Этот параметр позволяет эффективно ограничить количество роутеров через который может пройти IP пакет до уничтожения. При каждом прохождение через маршрутизатор (роутер) TTL уменьшается на 1. Для Win2K при кабельном или DSL соединении рекомендуется устанавливать данный параметр равным 128. Если вы не можете достучаться к Web узлу или FTP серверу, то возможно есть резон увеличить данное значение.
Тип: REGDWORD;
Значение: (по умолчанию параметра нет = 32 для WinNT 3.51; 128 для WinNT 4.0)
——————————————————————————–
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters SackOpts
Выборочная передача поврежденных данных. Данный параметр включает поддержку Selective Acknowledgement (SACK). Если пакет или ряд пакетов TCP потеряны, то получатель может сообщить отправителю, какие данные были получены, а какие нет.
Тип: REGDWORD;
Значение: (по умолчанию параметра нет; 1 = разрешить)
——————————————————————————–
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters EnablePMTUDiscovery
Управление определением Maximum Transmission Unit (MTU) (Максимальную единицу передачи (максимальный размер передаваемого пакета)) по данному пути до удаленного хоста. При автоматическом определении MTU и ограниченном по размеру сегмента TCP, TCP может устранить фрагментацию во время маршрутизации, по пути который соединяет сети с различными значениями MTU. Фрагментация нагативно влияет на TCP канал и сетевую производительность (недопуская перегрузки). Установка этого параметра в 0 говорит что MTU будет равен 576 байтам для использования во всех соединениях кроме локальных. Для Win2K при кабельном или DSL соединении рекомендуется устанавливать данный параметр равным 1.
Тип: REGDWORD;
Значение: (по умолчанию параметра нет; 0 = 576 байт; 1 = автоматическое определение MTU)
——————————————————————————–
HKEY_LOCAL_MACHINESystemCurrentControlSetServicesTcpipParameters TcpMaxDupAcks
Этот параметр определяет количество двойных ACKs которые должны быть получены для некоторой последовательности номеров, после которых произойдет “быстрая повторная передача” (fast retransmit). Данный параметр управляет повторной передачей сегментов, которые были потеряны в процессе передачи.
Тип: REGDWORD;
Значение: (по умолчанию параметра нет = 2; 1; 3)
——————————————————————————–
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters TcpWindowSize
Количество байт, которые отправитель может передать, не получая подтверждения.
Тип: REGDWORD;
Значение: (по умолчанию параметра нет; рекомендуемые значения для модема = 8760 (0x2238) = по умолчанию; DSL, кабельный модем – 186880 (0x2DA00); T1 и выше – 256960 (0x3EBC0))
——————————————————————————–
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters MTU
Oптимизaция рaзмepa MTU. Определяет самое большое количество данных, которые могут быть переданы по сети в одном физическом фрейме. Если пакет IP большего размера чем MTU, то произойдет фрагментация, что может увеличить время, которое требуется, чтобы послать единственный пакет. По-умолчанию Windows XP использует значение 1500.
Тип: REGDWORD;
Значение: (по умолчанию параметра нет; рекомендуемые для Dial-Up-Modem = 576 байт; для DSL, кабельных модемов, T1 и выше = 1500 байт)
——————————————————————————–
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters IPEnableRouter
Определяет является ли данная система роутером (возможность передачи IP пакетов между двумя сетями подключенными к данной системе). Этот параметр создается и модифицируется Network Control Panel Applet (NCPA), вкладка Routing. В [MKB230082] указано что, значения для Win2KAS, Win2KS, Win2KP и Win2KDS имеют обратный вид, т.е. 0 – является; 1 – не является и значение по умолчанию равно 1. IP форвардинг всегда осуществляется для пакетов генерируемых локальным хостом.
Тип: REGDWORD;
Значение: (0 = не является; 1 = является)
——————————————————————————–
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters EnablePMTUBHDetect
Включить oбнapужeниe “Чepныx дыp”.
Тип: REGDWORD;
Значение: (по умолчанию параметра нет; 1 = включить)
Источник:
Управление правилами проброса портов в windows
Можно создать любое количество правил перенаправления локальных портов Windows. Все правила netsh interface portproxy являются постоянными и сохраняются в системе после перезагрузки Windows.
Несколько раз сталкивался со случаями, когда в Windows Server 2021 R2 правила перенаправления портов сбрасывались после перезагрузки сервера. В этом случае рекомендуется проверить нет ли периодических отключений на сетевом интерфейсе, и не меняется ли IP адрес при загрузке ОС (лучше использоваться статический IP, вместо динамического DHCP).
Чтобы вывести на экран список всех активных правил перенаправления TCP портов в Windows, выполните команду:
netsh interface portproxy show allВ нашем случае присутствует только одно правило форвардинга с локального порта 3340 на 3389:
Listen on ipv4: Connect to ipv4: Address Port Address Port --------------- ---------- --------------- ---------- 10.10.1.110 3340 10.10.1.110 3389
Чтобы удалить определенное правило перенаправления порта, выполните:
netsh interface portproxy delete v4tov4 listenport=3340 listenaddress=10.10.1.110
netsh interface portproxy reset
Еще одной неявной возможностью portproxy является возможность создать видимость локальной работы любого удаленного сетевого сервиса.
Например, создадим такое перенаправление с локального порта 8888 на удаленный адрес 213.180.204.3: