Изменение порта прослушивания для удаленного рабочего стола на компьютере
При подключении компьютера (клиентской версии Windows или Windows Server) с помощью клиента удаленного рабочего стола функции удаленного рабочего стола на компьютере «слышат» запрос на соединение через заданный порт прослушивания (по умолчанию — 3389). Этот порт прослушивания на компьютерах Windows можно изменить путем изменения реестра.
- Откройте редактор реестра. (В поле поиска введите «regedit»).
- Перейдите к следующему подразделу реестра: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
- Найдите параметр PortNumber.
- Щелкните Редактировать > Изменить, а затем выберите пункт Десятичное.
- Введите новый номер порта, а затем нажмите кнопку ОК.
- Закройте редактор реестра и перезагрузите компьютер.
При очередном подключении компьютера к этому компьютеру с помощью удаленного рабочего стола необходимо будет ввести новый номер порта. Если вы используете брандмауэр, убедитесь, что в нем разрешены подключения к новому номеру порта.
Номер текущего порта можно проверить с помощью следующей команды PowerShell:
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "PortNumber"
PortNumber : 3389 PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations PSChildName : RDP-Tcp PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry
Номер порта RDP можно изменить с помощью следующей команды PowerShell. В этой команде укажите новый порт RDP 3390.
Чтобы добавить новый порт RDP в реестр, выполните следующую команду:
$portvalue = 3390 Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "PortNumber" -Value $portvalue New-NetFirewallRule -DisplayName 'RDPPORTLatest-TCP-In' -Profile 'Public' -Direction Inbound -Action Allow -Protocol TCP -LocalPort $portvalue New-NetFirewallRule -DisplayName 'RDPPORTLatest-UDP-In' -Profile 'Public' -Direction Inbound -Action Allow -Protocol UDP -LocalPort $portvalue
Настройка SSH-туннелей в Windows для проброса портов

06.11.2023

itpro

Linux, Windows 10, Windows 11, Windows Server 2019

комментариев 18
Вы можете использовать встроенный OpenSSH сервер в Windows для проброса портов через SSH-туннель (SSH туннелирования). Перенаправление портов в SSH позволяет туннелировать (пробрасывать) порты приложений с локального компьютера на удаленный сервер и наоборот. Проброс портов через SSH туннель широко используется в среде Linux/Unix, а теперь вы можете воспользоваться этим возможностями и в Windows. В этом примере мы покажем, как пробросить RDP подключение через OpenSSH на хосте Windows Server.
Для чего нужны SSH-туннели?
SSH-туннель обеспечивает защищенное шифрованный TCP соединение локальных хостом и удалённым сервером SSH. SSH Port Forwarding позволяет туннелировать поверх SSH подключение к локальному порту на локальном компьютере к любому TCP порту на удаленном сервере (или наоборот)
Порт форвардинг в SSH-туннелях применяются для:
- Обхода межсетевых экранов;
- Открытия бэкдоров в частные сети;
- Организации простых VPN/прокси сценариев для безопасного удаленного подключения;
- Защиты трафика устаревших приложений (протоколов), которые передают данные в открытом тексте (без шифрования).
Вы можете перенаправить в SSH туннель только TCP трафик/порт (UDP и ICMP протоколы не поддерживаются).
Проброс портов через SSH туннель можно использовать в сценариях, когда нужно подключиться к удаленному компьютеру, который защищен межсетевым экраном. Например, у вас имеется сервер c Windows, на котором наружу открыт только SSH порт (TCP 22). Все остальные порты блокируются аппаратным межсетевым экраном или Windows Defender Firewall Windows. Ваша задача подключиться к рабочему столу этого Windows сервера с помощью клиента RDP. Казалось бы, невозможная задача, т.к. порт RDP 3389 блокируется брандмауэром. Однако вы можете получить доступ к любому открытому порты на удаленном хосте через SSH-тунель.
Чаще всего используются следующие сценарии проброса через SSH:
Защищенный доступ к RDP через SSH туннель (local TCP forwarding)
В этом режиме вы создаете на своем компьютере локальный TCP порт, подключения к которому перенаправляются через SSH туннель на указанный порт удаленного сервера. В этом примере мы создадим локальный порт 8888, при подключении к которому выполняется перенаправление на RDP порт 3389 на удаленном компьютере. Общая схема подключения выглядит так:

Для проброса портов нам потребуется SSH клиент. Можно использовать сторонний клиент (например, Putty), но я буду использовать встроенный SSH клиент в Windows. Чтобы установить клиенте OpenSSH, выполните в консоли PowerShell команду:
Get-WindowsCapability -Online | ? Name -like ‘OpenSSH.Client*’
Чтобы создать SSH туннель с удаленным компьютером 192.168.1.90, выполните команду:
В этом примере используется формат LOCAL_PORT:DESTINATION:DESTINATION_PORT и USER@DEST_SERVER_IP (имя пользователя и адрес удаленного SSH сервера)
Чтобы SSH туннель работал в фоновом режиме, нужно добавит параметр –f.

Теперь, чтобы подключится к удаленному компьютеру по RDP через SSH туннель, вам запустить RDP-клиент (mstsc.exe) и подключиться на локальный порт 8888 своего компьютера:

Выполните аутентификацию на удаленном компьютере и можете спокойно работать в RDP-сессии. С помощью команды Get-NetTCPConnection или утилиты TCPView вы можете убедиться, что RDP подключение установлено локально (RDP подключение инициировано запущенным локально SSH сервером):
Get-NetTCPConnection -State Established|where |fl

При этом порт TCP/3389 на сервере не доступен с удаленного компьютера. Вы можете проверить доступность порта с помощью командлета Test-NetConnection:
Test-NetConnection 192.168.1.90 -port 3389
TcpTestSucceeded : False

Обратите внимание, что если вы перенаправляете таким образом незашифрованный трафик приложения, то по сети он передается в зашифрованном виде. Трафик шифруется на одном конце SSH соединения и расшифровывается на другом.
Другие компьютеры в вашей локальной сети смогут одновременно подключиться к удаленному RDP серверу Windows, даже если у них полностью заблокирован прямой доступ к удаленному серверу (как по SSH, так и по RDP). Для этого, они должны подключиться RDP клиентом к порту 8888 на компьютере, на котором создан SSH туннель:
mstsc.exe /v 10.10.1.220:8888

Защита RDP подключения с помощью SSH туннеля может быть хорошей альтернативой VPN для доступа к публичным Windows хостам в Интернете. В этом случае вам не нужно открывать прямой доступ к порту RDP/3389 из Интернета к хосту Windows. Достаточно открыть только порт SSH/22, что защитит вас от атак подбора пароля по RDP и эксплуатации 0-day RDP уязвимостей.
Для автоматического ввода пароля для подключения к SSH можно использовать утилиту sshpass. Ее можно запустить через подсистему WSL2 для Windows.
Установите sshpass в Ubuntu WSL:
$ sudo apt-get -y install ssphass
Запустите клиент Remote Desktop Connection (mstsc.exe) и сохраните в Windows RDP файл с настройками подключения:
Computer : localhost:8888 User name : remoteusername
Для автоматического подключения к удаленном RDP хосту с сохранённым паролем SSH, используйте такой bat файл:
start /min wsl sshpass -p «password» ssh -L 8888:192.168.31.90:3389 [email protected]
powershell sleep 5
start mstsc C:\rdp\localhost-33389.rdp
SSH туннель в Windows с помощью Putty
Рассмотрим, как настроить SSH туннель в Windows с помощью популярного SSH клиента Putty.
- Запустите PuTTY и перейдите в раздел Connection ->SSH ->Tunnels;
- В поле Source port укажите локального порта (в нашем примере это 8888);
- Укажите IP адрес сервера SSH и порт на удаленном хосте, на который нужно выполнить переадресацию: 192.168.31.90:3389
- Выберите Local в качестве Destination и нажмите Add;

- Чтобы не открывать shell удаленного хоста при подключении через туннель, включите опцию Don’t start a shell or command at all в разделе SSH;

- Вернитесь на вкладку Session, укажите имя или IP адрес удаленного SSH хоста и порт подключения (по умолчанию порт 22). Чтобы сохранить настройки подключения, укажите имя сессии в поле Saved Session и нажмите Save;

- Теперь вы можете запустить сохраненный SSH туннель в Putty прямо и панели задач Windows.

Переброс удаленного порта на локальную машину (Remote TCP forwarding)
Есть еще один вариант применения SSH туннеля – remote TCP forwarding. Через SSH туннель вы можете открыть доступ удаленному серверу к локальному порту на вашем компьютере или порту на другом компьютере в вашей локальной сети. Например, вы хотите, чтобы внешний сервер (192.168.1.90) получил доступ к вашему Интранет сайту (не опубликованному в Интернете). Для создания обратного туннеля, используйте такую команду:
ssh -R 8080:internalwebsever:80 [email protected]
Теперь, чтобы на удаленном SSH сервер получить доступ к веб серверу internalwebsever достаточно в браузере набрать адрес http://localhost:8080 .
Во всех версиях Windows можно создать правила перенаправления портов с помощью команды netsh interface portproxy .
С помощью SSH туннелей вы можете строить целые цепочки для форвардинга портов. Включить или отключить SSH туннелирование можно в конфигурационном файле OpenSSH (sshd_config) с помощью директив:
AllowStreamLocalForwarding yes
AllowTcpForwarding remote
PermitTunnel no
Данные опции неприменимы для текущей версии OpenSSH в Windows.
Предыдущая статья Следующая статья
Настройка проброса сетевых портов (порт форвардинг) в Windows

13.07.2022

itpro

PowerShell, Windows 10, Windows Server 2019

комментариев 76
Во всех версиях Windows вы можете настроить перенаправление/проброс сетевых портов (порт форвардинг) без использования сторонних инструментов. С помощью правила форвардинга вы можете перенаправить входящее TCP соединение (IPv4 или IPv6) с локального TCP порта на любой другой номер порта или даже на порт удаленного компьютера. Перенаправление портов в Windows чаще всего используется для обхода файерволов или чтобы спрятать сервер или службу от внешней сети (NAT/PAT).
В Linux можно довольно просто настроить перенаправление портов довольно просто с помощью правил iptables или firewalld. На серверных системах Windows Server для настройки перенаправления портов можно использовать службу маршрутизации и удаленного доступа (RRAS). Однако есть более простой способ настройки проброса портов с помощью режима portproxy в netsh , который одинаково хорошо работает в любой версии Windows (начиная с Windows XP и заканчивая современными Windows 11 и Windows Server 2022).
Включить перенаправления порта в Windows с помощью netsh portproxy
Вы можете включить и настроить перенаправление портов в Windows из командой строки через режим Portproxy команды Netsh.
Синтаксис команды следующий:
netsh interface portproxy add v4tov4 listenaddress=localaddress listenport=localport connectaddress=destaddress connectport=destport
где,
- listenaddress – локальный IP адрес, на котором ожидается соединение (полезно, если у вас несколько сетевых карт в разных подсетях/VLAN или несколько IP адресов на одном интерфейсе);
- listenport – номер локального TCP порта, подключение к которому будет перенаправляться (на этом порту ожидается входящее соединение);
- connectaddress – локальный или удаленный IP-адрес или DNS-имя хоста, на который нужно перенаправить сетевое подключение;
- connectport – номер TCP порта, на который нужно перенаправить трафик с порта listenport.
С помощью опций netsh interface portproxy add v4tov6 / v6tov4 / v6tov6 можно создавать правила порт форвардинга между для IPv4 и IPv6 адресов илимежду ними.
Допустим наша задача, заставить службу RDP отвечать на нестандартном порту, например 3340 (этот порт, конечно, можно изменить в настройках самой службы, но мы используем именно RDP для упрощения демонстрации техники перенаправления и проброса портов). Для этого нам нужно перенаправить входящий трафик на TCP порт 3340 на другой локальный порт – 3389 (это номер стандартного порта RDP).
Примечание. Обратите внимание, что номер локального порта, который вы указали в listenport не должен быть занят (слушаться) другой службой. Проверьте, что номер порта свободен командой:
netstat -na|find «3340»
Либо вы можете проверить что порт не слушается локально с помощью PowerShell командлета Test-NetConnection:
Test-NetConnection -ComputerName localhost -Port 3340


Чтобы создать правило перенаправления порта, запустите командную строку с правами администратора и выполните команду:
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
Примечание. Если эта команда ничего не возвращает и перенаправление портов через netsh interface portproxy не работает, проверьте, что у вас в Windows включена служба iphlpsvc (IP Helper / Вспомогательная служба IP).
Проверьте состояние службу в консоли services.msc или с помощью команды PowerShell:
![]()
Также на сетевом интерфейсе, для которого создается правило перенаправления портов должна быть включена поддержка протокола IPv6.

Это обязательные условия для корректной работы порт-форвардинга. Без службы IP Helper и без включенной поддержки IPv6 механизм перенаправления не работает.
В Windows Server 2003 / XP для работы перенаправления дополнительно нужно включить параметр реестра IPEnableRouter = 1 в ветке HKEY_LOCAL_MACHINE\ System\CurrentControlSet\services\Tcpip\Parameter. Можно включить этот параметр реестра с помощью PowerShell:
Set-ItemProperty -Path HKLM:\system\CurrentControlSet\services\Tcpip\Parameters -Name IpEnableRouter -Value 1

Вы можете определить процесс, который слушает указанный локальный порт по его PID (в нашем примере PID – 636):
tasklist | findstr 636
Теперь попробуйте подключиться на новый порт с удаленного компьютера при помощи любого RDP клиента. В качестве rdp-порта нужно указать 3340 (номер порта указывается после двоеточия после адреса rdp-сервера). Hапример, , 10.10.1.110:3340
В этом примере порт 3340 нужно предварительно открыть в Windows Defender Firewall (см. следующий раздел статьи).

RDP подключение должно успешно установиться.
Правила проброса портов portproxy являются постоянными и не удаляются при перезагрузке Windows. Эти правила хранятся в реестре. Можно вывести список правил перенаправления netsh в реестре с помощью PowerShell:
Get-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\PortProxy\v4tov4\tcp

Если нужно перенаправить входящее 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.
Нужно отметить, что режим portproxy в Windows не поддерживает сохранения IP источника в перенаправленном сетевом пакете. Т.е. если вы пробросите 443 порт Windows компьютера на внутренний веб-сервер, то на целевом сервере все входящие соединения будут идти с одного и того же IP адреса (Windows компьютер с активным режимом netsh portproxy). Если вам нужно использовать переадресацию с сохранением IP источника, нужно использовать NAT на внешнем фаейволе или на Hyper-V (описано ниже).
Так же для проброса локального порта на удаленный сервер в Windows можно использовать технику SSH туннелей.
Настройка правил файервола для режима перенаправления портов Windows
Проверьте, что в настройках вашего файервола (брандмауэра Windows или стороннего межсетевого экрана, такие часто включаются в состав антивирусного ПО) разрешены входящие подключения на новый порт. Вы можете добавить новое разрешающее правило в Windows Defender Firewall командой:
netsh advfirewall firewall add rule name=”RDP_3340” protocol=TCP dir=in localip=10.10.1.110 localport=3340 action=allow
Или с помощью командлета PowerShell New-NetFirewallRule:
New-NetFirewallRule -DisplayName «RDP_3340» -Direction Inbound -Protocol TCP –LocalPort 3340 -Action Allow -Enabled True
При создании входящего правила файервола для порта 3340 через графический интерфейс Windows Defender, не нужно ассоциировать с правилом программу или процесс. Данный порт слушается исключительно сетевым драйвером.
Если вы отключаете правило portproxy, не забудьте удалить оставшиеся правила файервола так:
netsh advfirewall firewall del rule name=»RDP_3340″
или с помощью PowerShell:
Remove-NetFirewallRule -Name RDP_3340
Управление правилами проброса портов netsh в Windows
Можно создать любое количество правил перенаправления локальных портов Windows. Все правила netsh interface portproxy являются постоянными и сохраняются в системе после перезагрузки Windows.
Несколько раз сталкивался со случаями, когда в Windows Server 2012 R2 правила перенаправления портов сбрасывались после перезагрузки сервера. В этом случае рекомендуется проверить нет ли периодических отключений на сетевом интерфейсе, и не меняется ли IP адрес при загрузке ОС (лучше использоваться статический IP, вместо динамического DHCP). В качестве обходного решения пришлось добавить в планировщик Windows скрипт с правилами netsh interface portproxy , который создает правило перенаправления порта при загрузке операционной системы.
Чтобы вывести на экран список всех активных правил перенаправления 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
Совет. Также вы можете вывести вес правила перенаправления портов в режиме portproxy так:
netsh interface portproxy dump
#======================== # Port Proxy configuration #======================== pushd interface portproxy reset add v4tov4 listenport=3340 connectaddress=10.10.1.110 connectport=3389 popd # End of Port Proxy configuration

Если вам нужно изменить настройки имеющегося правила portproxy, используйте такую команду:
netsh interface portproxy set v4tov4 listenport=3340 listenaddress=10.10.1.110 connectport=3300 connectaddress=10.10.1.110
В этом примере мы изменили адрес целевого порта portproxy на 3300.


Чтобы удалить определенное правило перенаправления порта, выполните:
netsh interface portproxy delete v4tov4 listenport=3340 listenaddress=10.10.1.110

Чтобы удалить все имеющиеся правила перенаправления и полностью очистить таблицу с правилами порт-форвардинга:
netsh interface portproxy reset
Важно. Такая схема перенаправления работает только для TCP портов. Трафик по UDP портам нельзя перенаправить с помощью режима portproxy. Также нельзя использовать в качестве connectaddress адрес localhost 127.0.0.1.
Если вы хотите включить перенаправление UDP трафика, можно использовать Windows Server с ролью RRAS и NAT. Вы можете настроить перенаправление портов между интерфейсами компьютера с помощью графической оснастки ( rrasmgmt.msc ) или командой:
netsh routing ip nat add portmapping Ethernet udp 0.0.0.0 53 192.168.1.54 53
Список NAT правил перенаправления портов в Windows Server можно вывести так:
netsh routing ip nat show interface
Если у вас на компьютере развернут WSL (Windows Subsystem for Linux), вы можете создать простой PowerShell скрипт создания правила перенаправления порта внутрь виртуальной машины WSL 2 (у ВМ на WSL 2 есть собственный виртуальный адаптер ethernet с уникальным IP адресом):
wsl —shutdown;
netsh interface portproxy reset;
$wsl_ipaddr = wsl -d Ubuntu-20.04 hostname -I;
netsh interface portproxy add v4tov4 listenport=443 listenaddress=0.0.0.0 connectport=443 connectaddress=$wsl_ipaddr ;
netsh interface portproxy show all;
exit;
Еще одной неявной возможностью portproxy является возможность создать видимость локальной работы любого удаленного сетевого сервиса. Например, вы хотите перенаправить весь трафик с локального порта 9090 на google.com:443
netsh interface portproxy add v4tov4 listenport=9090 listenaddress=127.0.0.1 connectaddress=142.250.74.46 connectport=443 protocol=tcp
Теперь, если в браузере перейди по адресу https://localhost:9090 (нужно игнорировать ошибки SSL_ERROR_BAD_CERT_DOMAIN), откроется поисковая страница Google. Т.е. несмотря на то, что браузер обращается к локальному компьютеру, в нем открывается страница с внешнего веб-сервера.

Перенаправление портов также можно использовать, чтобы пробросить порт с внешнего IP адреса сетевой карты на порт виртуальной машины, запущенной на этом же компьютере. В Hyper-V такой проброс порта можно настроить на виртуальном коммутатор (см. ниже).
Windows не умеет пробрасывать диапазон TCP портов. Если вам нужно пробросить несколько портов, придется вручную создавать несколько правил перенаправления.
Настройка перенаправления портов с помощью NAT на Hyper-V Server
При использовании на вашем компьютере роли Hyper-V (может быть установлена как на Windows 10/11, так и на Windows Server или в виде бесплатного Windows Hyper-V Server), вы можете настроит проброс портов DNAT с помощью PowerShell. Допустим, вы хотите перенаправить все https запросы, которые получает ваш хост Hyper-V на IP адрес запущенной на хосте виртуальной машины. Для этого используется команды Hyper-V StaticMapping.
Создайте виртуальный коммутатор Hyper-V:
New-VMSwitch -SwitchName «NAT_Switch» -SwitchType Internal

Задайте IP адрес для нового виртуального коммутатора:
New-NetIPAddress -IPAddress 192.168.10.1 -PrefixLength 24 -InterfaceAlias «vEthernet (NAT_Switch)»
Включите NAT для данной сети:
New-NetNat -Name NATNetwork -InternalIPInterfaceAddressPrefix 192.168.10.0/24
Подключите ВМ в ваш коммутатор NAT_Switch и задайте для нее статический IP адрес (например, 192.168.10.80). В качестве шлюза-по умолчанию нужно указать IP адрес виртуального коммутатора Hyper-V (192.168.10.1).
Теперь можно настроить перенаправление порта с хоста Hyper-V в виртуальную машину:
Add-NetNatStaticMapping -NatName NATNetwork443 -Protocol TCP -ExternalIPAddress 0.0.0.0/24 -ExternalPort 443 -InternalIPAddress 192.168.10.80 -InternalPort 443
После выполнения этих команд весь HTTPS трафик, который приходит на порт TCP/443 гипервизора будет переправлен на серый IP адрес виртуальной машины.
Если вы хотите перенаправить нестандартный порт, не забудьте открыть его в Windows Firewall:
New-NetFirewallRule -DisplayName «HyperV_Nat_443» -Direction Inbound -LocalPort 443 -Protocol TCP -Action Allow -Enabled True
Полный список правил NAT на хосте Hyper-V можно вывести так:
Предыдущая статья Следующая статья
Как проверить проброс com порта по rdp
Есть клиент на Win 7. К нему подключена ККМ Штрих М лайт 01 ф по USB. Стоят драйвера, все отлично. При подключении к терминальному серверу (Win 2008 R2) порт не пробрасывается (смотрю через chenage port /query). Но если зайти в тест драйвера, и жмакунуть «проверка связи», то порт этот сразу отваливается. Куда копать? При подключении к другому терминальному серверу с этого компа касса работает. А также, с другой клиентской машины такая же касса к серверу подключается и работает.
Ошибся. При первом подключении порт виден. После ПРоверки связи порт отваливается. И драйвер отвечает «Нет связи».
Ты зашёл с неправильной стороны. Не пробрасывай ком-порт, он в RPD всё время будет отваливаться.
С 2 других клиентских машин ничего не отваливается. Вот уже лет 5. Проблемы начались только на одной машине.
В целом — есть 3 рабочих кассы. Все 3 работали до вчерашнего дня. И вот с одной начались такие проблемы.
(4) Локально нормально работает? Если через тестдрайвера запустить тест проверки связи ошибки дает?
Может там тупо проводу хана, ну или кассе.
Не делай отдельный проброс кома на терминал, достаточно в подключении подключения указать локальные ресурсы порты, тестом в терминале порт определить не удастся, но при этом в 1С настраивать ТО и ставишь порт такой как идет на самом компе локальном и все должно работать.
(6) достаточно в параметрах подключения*
(5) Локально работает
(6) Отдельно ничего не делаю. Просто стоит галка в локальных ресурсах у портов
(0) попробуй пользователя сделай администратором на rdp-сервере для теста, и проверь.
(9) под Администратором тоже самое
(8) здесь HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM проброшенные порты показывает?
(11) да
так же команда change port /query этот порт ввидит
попробуйте перейти на физический ком порт,иногда из за нехватки питания у фр отваливается юсб,что для рдп плохо,а локальный он потом подхватывает,т.к.драйвер его пытается открыть при каждой команде
(13) Тоже пробовал. Не получилось.
В итоге ради эксперимента поставил кассу из другого магазина (такую же) — и она заработала. На тех же проводах. То есть, все таки проблема в кассе.
(14) Хорошо когда кассу можно заменить. У нас с июля «Ввод в эксплуатацию. «. Вроде как-то подключили АТОЛ 11Ф, но 2-3 раза на дню отваливается. При новом подключении «Порт недоступен», сервер перезагружаем.
(2) > Ты зашёл с неправильной стороны. Не пробрасывай ком-порт, он в RPD всё время будет отваливаться.
А как тогда надо? У нас работают по RDP, онлайн-касса по 2-3 раза на дню отваливается. При этом неудачная попытка отбить чек делает «Порт недоступен» для нового пере подключения кассы. Перезагрузка служб Windows не спасает. Только перезагрузка сервера целиком!?
После перезагрузки сервера 1-й в терминал должен войти кассир (у кого на компе ФР), после остальные. С утра это трудно выполнимо, но ставится запрет работы с торг.оборудованием пока не включится кассир. Убедиться, что комп кассира на месте, его можно пропинговать. А как проверить что порт не отвалился на сервере, какой командой?
Кури в сторону локальной машины, если отваливается порт, то это на стороне клиента, РДП маппит то, что есть на локальной машине, а если порт там отвалился, то и РДП маппить нечего
(17) А какой командой «маппить»?
То, что кассиру надо перезайти/перезагрузиться — понятно, главное порт не испортить!? Чтобы сервер не перезагружать!
Evgeniy Korshunov
UPD Статья по теме: Проброс COM порта через RDP на WinSer 2008R2
Q: Проброс Com Порта Через Rdp На Winser 2008r2
Добрый день!
Имеется терминальный сервер на Windows Server 2008 R2. Иеется теринал сбора данных (ТСД) CipherLab 8400/8470 с подставкой Cradle, который подключается к локальноу копьютеру на Windows 7 посредство com-порта
(VirtualCOM). Иеется 1С8, в которой этот ТСД работает. С локального компьютера всё работает прекрасно, ТСД по com-порту подключается и видится в 1С8. Задача прокинуть этот ТСД в терминал.
На клиенте в свойствах RDP включил перенаправление всех портов и устройств. На сервере в свойствах RDP разрешён проброс com-портов. Но при попытке увидеть устройство в 1С выдаётся ошибка, что не удалось открыть com-порт.
На локальной машине устройство в оборудовании отображается как Silicon Labs CP210x USB to UART Bridge (COM 4), но при подключении к терминальноу серверу редирект не проходит. На сервере COM1, COM2.
Вот что выдаёт change port /query на теринально сервере :
AUX = \DosDevices\COM1
COM1 = \Device\RdpDrPort\;COM1:38\tsclient\COM1
COM2 = \Device\RdpDrPort\;COM2:38\tsclient\COM2
А. I got it all figured out, using windows 2008 server R2 SP1 you can not delete the ports prior to redirecting them
These are the steps I took to make this work
1) ALL SERIAL PORTS MUST BE DISABLED IN THE BIOS OF THE SERVER
2) Click Start
3) Click Run
4) Type cmd.exe in the textbox and click OK
5) Type set devmgr_show_nonpresent_devices=1 and hit ENTER
6) Type cd\windows\system32 and hit ENTER
7) Type start devmgmt.msc and hit ENTER
8) When the device manager opens, click the View menu
9) Click Show Hidden Devices
10) Click on the + sign next to the Ports to see the full list of Com ports being used.
11) Highlight the port you wish to delete and then press delete/uninstall. Accept when asked to do so and continue with any more that you wish to delete.
12) Edit startup.cmd to match the current system configuration
a. Example Startup.CMD
Echo off
Cls
Echo Establishing new serial mappings…
net use com1 \\tsclient\com1
net use com2 \\tsclient\com2
net use com3 \\tsclient\com3
net use com4 \\tsclient\com4
net use
Echo New serial mappings established.
PAUSE
TCP COM Bridge — Проброс COM портов на терминальный сервер Windows
Для Win2000 — Windows 11 (2019) (Server, x86, x64). Последняя версия: 1.7.8 build 729. 29 июля 2022.
Для проброса COM портов на терминальном сервере Windows можно воспользоваться средствами Windows. Но передача данных через такое подключение будет работать очень медленно. Вы можете установить TCP COM Bridge и получить скорость передачи данных гораздо большую.
1. Установите TCP COM Bridge (скачать) на сервере и создайте подключение в режиме TCP сервера, с виртуальными ком-портом (Меню — Устройства — Добавить).


Рис. 2. Сетевое соединение
2. Откройте используемый TCP порт на сервере в вашем файерволе. При необходимости, настройте перенаправление порта на вашем маршрутизаторе. Если нужно пробрасывать ком-порты с нескольких клиентских компьютеров, то создайте отдельное подключение для каждого порта. Обратите внимание, что для каждого COM порта нужно использовать свой порт TCP.
3. Настройте запуск TCP COM Bridge в качестве службы. Теперь программа будет запускать одновременно с терминальным сервером.

Рис. 3. Запуск в режиме службы на терминальном сервере
4. Установите TCP COM Bridge на клиентском компьютере, с которого нужно пробросить порт на сервер. Настройте подключение к реальному COM порту на клиентском компьютере.

Рис. 4. Настройка порта на клиентском компьютере
5. Настройте подключение в режиме TCP клиента, указав IP адрес и порт сервера. Теперь при включении клиентского компьютера, он автоматически установит связь с сервером и будет принимать/получать данные из COM порта.

Рис. 5. Настройка сетевого соединения на клиентском компьютере
6. При этом сценарии использования мы рекомендуем включить опцию контроля состояния соединения. В этом случае программа на сервере или клиенте может оперативно определить разрыв связи и восстановить соединение.

Рис. 6. Дополнительные параметры поддержания связи
Изменить номер RDP порта 3389 удаленного рабочего стола в Windows



PowerShell, Windows 10, Windows Server 2019

По умолчанию во всех операционных системах Windows для подключения по протоколу RDP (Remote Desktop Protocol / Удаленный рабочий стол) использует порт TCP 3389. После того, как вы включили RDP доступ в Windows, служба TermService (Remote Desktop Services) начинает слушать на порту 3389. В этой статье мы покажем, как изменить стандартный номер RDP порта в дестопных редакциях Windows (7/8/10/11) и Windows Server.

Обратите внимание, что в современных версиях Windows для удаленного рабочего стола используется также протокол UDP с тем же номером порта 3389.
Вы можете изменить номер стандартного порта RDP в Windows с 3389 на любой другой. Чаще всего это используется, когда нужно спрятать ваш RDP/RDS хост от автоматических сканеров портов, которые ищут в сети хосты Windows с открытым стандартным RDP портом 3389. Смена RDP порта позволит уменьшить вероятность эксплуатации RDP уязвимостей (последняя критическая уязвимость в RDP BlueKeep описана в CVE-2019-0708), уменьшить количество попыток удалённого подбора паролей по RDP (не забывает периодически анализировать логи RDP подключений), SYN и других типов атак (особенно при отключенном NLA). Чаще всего RDP порт меняют на компьютерах с прямым подключением к интернету (VPS/VDS), или в сетях, где пограничный маршрутизатор перенаправляет порт 3389/RDP в локальную сеть на компьютер/сервер с Windows.
Несмотря на смену порта, нежелательно выставлять открытый RDP порт в интернет. Сканеры портов позволяют по сигнатуре понять, что на новом порту находится RDP Listener. Если вы хотите открыть RDP доступ к компьютеру в своей сети, лучше использовать такие технологии подключения, как VPN, RD Web Access, RD Gateway и другие
Если вы решили использовать нестандартный номер порта для RDP, обратите внимание, что нежелательно использовать номера портов в диапазоне от 1 до 1023 (известные порты). Используйте динамический порт из RPC диапазона (от 49152 до 65535), или любой портов в диапазоне от 1024 до 49151, который не используется другим сервисом или приложением.
Изменить номер RDP порта по-умолчанию в Windows
В нашем примере мы изменим номер порта, на котором ожидает подключения служба Remote Desktop на 1350. Для этого:

- Откройте редактор реестра (regedit.exe) и перейдите в ветку HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp;
- Найдите DWORD параметр реестра с именем PortNumber.. В этом параметре указан порт, на котором ожидает подключения служба Remote Desktop. Значение по умолчанию – 3389 (decimal);
- Измените значение этого порта. Я изменил RDP порт на 1350 в десятичном значении (Deciamal);
Можно изменить параметр реестра с помощью PowerShell: Set-ItemProperty -Path «HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\» -Name PortNumber -Value 1350





Если для управления множеством RDP подключений вы используете менеджер RDP подключений RDCMan, новый номер RDP порта подключения можно указать на вкладке “Connection Settings”. В результате вы успешно подключитесь к рабочему столу удаленного компьютера через новый номер RDP порта (с помощью команды nenstat –na | Find “LIST” убедитесь, что служба RDP теперь слушает на другом порту).

Обратите внимание, что номер UDP порта RDP также изменился на 1350 (проще всего проверить это с помощью утилиты TCPView). С помощью команды Test-NetConnection, проверьте что старый RDP порт теперь закрыт ( TcpTestSucceeded : False ): Test-NetConnection 192.168.13.202 -port 3389 |select TcpTestSucceeded

И для RDP подключения теперь нужно использовать новый порт 1350. Внимание. Если вы измените номер RDP порта в Windows, могут возникнуть проблемы с работой Remote Assistance и теневых RDP подключений в Windows 10, так и Remote Desktop Shadowing в Windows Server. Если вы хотите изменить номер RDP порта на компьютерах в домене, можно воспользоваться групповыми политиками. Создайте новую GPO, которая распространит параметр реестра PortNumber с новым значением RDP порта на компьютеры домена.
PowerShell скрипт для смены номера RDP порта в Windows
Полный код PowerShell скрипт для смены номера RDP порта, создания правила в брандмауэре и перезапуска службы RDP может выглядеть так: Write-host «Укажите номер нового RDP порта: » -ForegroundColor Yellow -NoNewline;$RDPPort = Read-Host
Set-ItemProperty -Path «HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-TCP\» -Name PortNumber -Value $RDPPort
New-NetFirewallRule -DisplayName «NewRDPPort-TCP-In-$RDPPort» -Direction Inbound –LocalPort $RDPPort -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName «NewRDPPort-UDP-In-$RDPPort» -Direction Inbound –LocalPort $RDPPort -Protocol UDP -Action Allow
Restart-Service termservice -force
Write-host «Номер RDP порта изменен на $RDPPort » -ForegroundColor Magenta Вы можете удаленно изменить номер порта на компьютере. Для этого на удаленном компьютере должен быть настроен WinRM, тогда для подключения к компьютеру можно использовать командлет Invoke-Command: Invoke-Command -ComputerName PC1name -ScriptBlock Если нужно изменить номер RDP на нескольких компьютерах в домене AD (определенной OU), используйте такой скрипт (список компьютеров в OU можно получить с помощью Get-ADComputer): Write-host «Укажите номер нового RDP порта: » -ForegroundColor Yellow -NoNewline;$RDPPort = Read-Host
$PCs = Get-ADComputer -Filter * -SearchBase «CN=DMZ,CN=Computers,DC=winitpro,DC=ru»
Foreach ($PC in $PCs) Invoke-Command -ComputerName $PC.Name -ScriptBlock param ($RDPPort)
Set-ItemProperty -Path «HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-TCP\» -Name PortNumber -Value $RDPPort
New-NetFirewallRule -DisplayName «New RDP Port $RDPPort» -Direction Inbound –LocalPort $RDPPort -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName «New RDP Port $RDPPort» -Direction Inbound –LocalPort $RDPPort -Protocol TCP -Action Allow
Restart-Service termservice -force
> Это инструкция по смене стандартного RDP порта подойдёт для любой версии Windows, начиная с Windows XP (Windows Server 2003) и заканчивая Windows 11 (Windows Server 2022). Предыдущая статья Следующая статья
Читайте далее в разделе PowerShell Windows 10 Windows Server 2019 Send-MailMessage: отправка писем из PowerShell GREP в PowerShell: Поиск текста в файле с Select-String
Похожие публикации:
- Choose password for new keyring что это
- Как расшифровка
- Какое проверочное слово часто undefined
- Что встречается 2 раза