Вопрос или проблема
У нас есть виртуальная машина на сервере 2008 r2, которая действует как общедоступный терминал RDP (я знаю, я знаю, это совсем другая проблема). Я пытаюсь настроить RDP на использование любого порта, кроме 3389, но получаю сообщение “этот компьютер недоступен” каждый раз, когда меняю порт. Что я делаю:
1) Изменяю порт, используемый RDP в реестре (HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Control > Terminal Server > WinStations > RDP-Tcp > поле PortNumber)
2) Изменяю правило в Symantec firewall, которое разрешает трафик на порт 3389, на порт (например) 4000. (Windows firewall отключен, и я удостоверился, что служба не работает в services.msc)
3) Пытаюсь открыть RDP-сессию с другого компьютера в LAN на x.x.x.x:4000
Когда я использую netstat -a, он показывает, что TCP слушает порт 4000, но RDP-подключения не удаются с ошибкой “компьютер не в сети”. Когда я выполняю те же шаги, указанные выше, с 3389, все работает, кто-нибудь знает, в чем дело?
Экспортируйте реестр с рабочего компьютера и импортируйте на сломанный
HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
Во-первых, убедитесь, что вы ввели значение в десятичном формате, а не в шестнадцатеричном.
Во-вторых, вам придется перезапустить службу удаленного рабочего стола после изменения порта RDP в реестре.
Вы можете легко изменить порт RDP через PowerShell. Откройте PowerShell и выполните следующую команду.
$portvalue = 4000
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "PortNumber" -Value $portvalue
Я бы рекомендовал попробовать использовать PowerShell (вы можете изменить 50102 на желаемый номер порта)
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\" -Name PortNumber -Value 50102
New-NetFirewallRule -DisplayName "Custom RDP Port (TCP-In)" -Direction Inbound -LocalPort 50102 -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "Custom RDP Port (UDP-In)" -Direction Inbound -LocalPort 50102 -Protocol UDP -Action Allow
Эти две команды настраивают брандмауэр Windows Defender для разрешения вашего нового пользовательского порта RDP (не уверен, работают ли они на w2k8)
(Windows firewall отключен, и я удостоверился, что служба не работает в services.msc)
Нет, нет, НЕТ, НЕТ.
Правильный способ отключения брандмауэра Windows — настроить его как “Выключен” для всех профилей сети, но никогда нельзя фактически останавливать и отключать службу Windows Firewall
, которая является неотъемлемой частью сетевого стека Windows.
Остановка фактической службы не поддерживается и может привести к любым сетевым проблемам, независимо от того, какой трафик вы хотели разрешить или запретить.
Смотрите также здесь: Как я могу подкрепить мою рекомендацию не отключать службу Windows Firewall?
.
Ответ или решение
Изменение порта для RDP-сессий с 3389 на другой может вызывать ряд проблем, особенно если после этих изменений терминальный сервер перестает отвечать на подключение. Чтобы успешно настроить альтернативный порт для RDP на сервере Windows Server 2008 R2, необходимо учесть несколько важных моментов:
Проблема
Вы пытаетесь изменить порт для удаленного рабочего стола на сервере Windows Server 2008 R2, но, несмотря на то, что вы изменяете настройки реестра и конфигурации фаервола, соединение не удается установить.
Причины и решения
-
Изменение в реестре:
- Убедитесь, что вы вводите номер порта в десятичной системе счисления.
- После изменения значения порта в
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber
, необходимо перезапустить службу удаленного рабочего стола, чтобы изменения вступили в силу. Это может быть выполнено с помощью консоли служб или командой в PowerShell.
-
Конфигурация фаервола:
- Хотя Windows Firewall отключен, важно корректно его настраивать, а не выключать саму службу фаервола. Необходимость этого обусловлена тем, что отключение службы фаервола может привести к непредсказуемым сетевым проблемам.
- Вместо этого создайте новое правило в Windows Firewall, разрешающее входящие подключения на новый порт:
New-NetFirewallRule -DisplayName "Custom RDP Port (TCP-In)" -Direction Inbound -LocalPort 4000 -Protocol TCP -Action Allow
- Убедитесь, что ваш другой фаервол (например, Symantec) также настроен для разрешения трафика на новый порт.
-
Проверка с помощью netstat:
- Если
netstat -a
показывает, что TCP слушает на новом порту, это хороший знак. Однако убедитесь, что никаких других приложений не используются на этом порту, так как они могут конфликтовать с RDP.
- Если
-
Тестирование соединения:
- Попробуйте соединиться с новым портом, используя RDP-клиент, грамотно указав IP адрес и порт (например,
x.x.x.x:4000
).
- Попробуйте соединиться с новым портом, используя RDP-клиент, грамотно указав IP адрес и порт (например,
-
Обратитесь к документации или сообществу:
- Если после всех этих шагов проблема сохраняется, рассмотрите возможность экспорта рабочей конфигурации реестра и импорта её на проблемный сервер, как это указано в вашей заявке. Убедитесь, что все условия и зависимости идентичны.
Используя эти рекомендации, вы сможете обеспечить корректное функционирование RDP через альтернативный порт, уменьшая вероятность столкновения с сетевыми или конфигурационными проблемами. Дополнительно, всегда хорошо проводить тестирование этих изменений в тестовой среде перед внедрением в рабочую.