Windows Server 2012 — RDP через UDP не работает

Windows Server 2012 — RDP через UDP не работает

У меня есть машина Windows Server 2012 (не R2), размещенная в виртуализации Hyper-V с установленными RD Session Host и RD Gateway. Она используется для запуска настольного приложения GIS.

Производительность через WAN довольно низкая. Я добавил порт UDP в NAT, чтобы улучшить производительность, но соединение UDP по-прежнему не используется.

В среде тестирования LAN (чтобы избежать ошибок в настройках NAT/брандмауэра) я подключаюсь с машины Win10. Панель информации о подключении показывает «отличное качество», но ничего не говорит об UDP. В случае обратного подключения (Windows Server => Windows 10) панель информации о подключении сообщает, что UDP включен.

Я полностью отключил брандмауэр Windows, установленный на сервере Windows. Я дважды проверил, что транспорт UDP включен в шлюзе удаленных рабочих столов. Нет никакой разницы, подключаюсь ли я через шлюз (443+3391) или напрямую (3389+3389). Я дважды перезагрузил всю машину и прокрутил все ссылки на первых трех страницах результатов поиска Google.

Знаете ли вы, в чем может быть проблема?

решение1

Подозреваю ошибку маршрутизации. Запустите Wireshark, чтобы убедиться, что пакет UDP получен. Как я вижу, это через WAN, маршрутизатор обычно не пропускает пакеты.

1.5 Предпосылки/Предпосылки

Конечные точки протокола требуют установки соединения UDP. Сетевой путь между конечными точками должен обеспечивать передачу датаграмм UDP в обоих направлениях.

Предварительные условия для этого протокола идентичны условиям для протокола UDP.

1.3.2.1

Инициализация соединения UDP На этом этапе обе конечные точки инициализируются с взаимоприемлемыми параметрами для соединения. Терминальный клиент инициирует соединение, отправляя дейтаграмму SYN. ​​Терминальный клиент также определяет режим работы, RDP-UDP-R или RDP-UDP-L, как описано в разделе 1.3.1. Терминальный сервер отвечает дейтаграммой с установленным флагом SYN, а также флагом ACK, чтобы подтвердить получение дейтаграммы SYN. ​​Терминальный клиент подтверждает дейтаграмму SYN, отправляя ACK. Терминальный клиент может добавить кодированные пакеты вместе с дейтаграммой ACK. Эта дейтаграмма указывает, что соединение установлено и возможен обмен данными. Все дейтаграммы на этом этапе — SYN, SYN+ACK и ACK — надежно доставляются с помощью постоянных повторных передач, независимо от режима, в котором работает транспорт.

решение2

Проверили ли вы, что UDP может проходить через хост-сервер Hyper-v?

Если возможно, попробуйте использовать альтернативный тип виртуального сетевого адаптера в диспетчере виртуальных коммутаторов и/или проверьте настройки конфигурации физического сетевого адаптера, чтобы определить любые отключенные настройки, связанные с UDP.

решение3

Я долго гонялся за этой проблемой и не мог найти решение где-либо еще. Та же ситуация, что и у вас, подключение напрямую к серверу RDS не работало с транспортом UDP. UDP 3391 прослушивался и не блокировался брандмауэром. Другие не-RDS-серверы работали с транспортом UDP.

Настроил следующий GPO, запустил gpupdate /target:Computer /force, и вуаля, все работает.

Установите Computer Configuration > Remote Desktop Services > Remote Desktop Session Host > Security > Require use of specific security layer for remote (RDP) connectionsзначение «Включено» (SSL)

Связанный контент