Підходить для Windows 10, Windows 11, Windows Server 2019, Windows Server 2022, Windows Server 2025
У версіях Windows 10/11 та Windows Server 2022/2019/2016 при підключенні до сервера RDP (RDS) окрім стандартного порту TCP/3389, додатково використовується UDP порт 3389. Коли ваш RDP клієнт підключається до сервера, встановлюється кілька сесій. У керуючій TCP (HTTP) сесії передаються клавіатура та миша, а кілька UDP сесій використовуються для передачі зображення.

Зависання RDP сесій при використанні UDP
У деяких випадках використання протоколу UDP для RDP підключення може викликати проблеми:
- Періодичне зависання зображення
- Обриви RDP сесій
- Користувачі бачать чорний екран замість віддаленого робочого столу
- Повідомлення про внутрішню помилку при RDP підключенні тощо
У таких випадках зазвичай допомагає перепідключення до RDP сесії. Але іноді така проблема виникає дуже часто і заважає нормальній роботі.
Проблема із зависанням RDP сесій зустрічається:
- При використанні RDP сесій всередині VPN тунелів. Це викликається фрагментуванням UDP пакетів (може бути спричинено різними налаштуваннями MTU) при пересиланні через VPN тунель
- Після оновлення до збірки 22H2 у Windows 11/10
- При використанні шлюзу Remote Desktop Gateway на Windows Server 2022 та порту 3391 для UDP трафіку
Причому проблема не пов’язана з поганою продуктивністю RDS сервера: на сервері достатньо вільних ресурсів, пам’ять та CPU не навантажені.
Відключення використання протоколу UDP для RDP
Для розв’язування проблеми із зависанням RDP сесій при використанні VPN тунелів, ви можете спробувати відключити використання протоколу UDP, тобто використовувати VPN який працює по TCP.
Відключення UDP через групові політики (Це означає, що для RDP підключення, буде використовуватися тільки TCP.)
Якщо у вашій ОС, (наприклад Windows Home) немає GPO (gpedit.msc) Тоді вам доведеться їх окремо встановити, робиться це так:

- Створюєте текстовий документ (.ТХТ) з довільною назвою. (Поміщаєте в нього цей текст:)
@echo off
pushd "%~dp0"
dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >find-gpedit.txt
dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>find-gpedit.txt
echo Installing gpedit.msc
for /f %%i in ('findstr /i . find-gpedit.txt 2^>nul') do dism /online /norestart /add-package:"C:\Windows\servicing\Packages\%%i"
echo Gpedit is installed successfully.
pause
- Міняєте розширення файлу з .TXT на .bat та запускаєте від імені Адміністратора.
Що робить цей скрипт: Цей скрипт встановлює редактор групових політик (gpedit.msc) у версіях Windows, де він не включений за замовчуванням (наприклад, Windows Home). Скрипт використовує інструмент DISM (Deployment Image Servicing and Management) для встановлення пакетів ClientTools та ClientExtensions з внутрішнього сховища Windows.
Примітка: Цей скрипт потрібно запускати з правами адміністратора. Після успішного виконання в системі має з’явитися редактор групових політик, який можна запустити командою gpedit.msc.
Відкрийте консоль редактора локальної GPO Win+R і впишіть команду gpedit.msc
Далі перейдіть у розділ Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Connections.
Увімкніть параметр політик Select RDP transport protocols і встановіть Select Transport Type = Use only TCP;
Щоб застосувати налаштування введіть команду (gpupdate /force) в командний рядок і перезавантажте RDS/RDP сервер,

Відключення UDP на стороні клієнта
Якщо ви хочете заборонити використовувати UDP для RDP на стороні клієнта, потрібно увімкнути параметр Turn off UDP on Client у розділі Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Connection Client.
Після внесення змін потрібно оновити локальні політики командою gpupdate /force і перезапустити клієнт.

Відключення UDP через реєстр
Також можна увімкнути цей параметр через реєстр (параметр GPO відповідає ключу fClientDisableUDP у реєстрі):
Скопіюйте і вставте цю команду в командний рядок від імені Адміністратора:
reg add "HKLM\software\policies\microsoft\windows nt\Terminal Services\Client" /v fClientDisableUDP /d 1 /t REG_DWORD
Примітка: Значення 1 вимикає UDP, значення 0 вмикає UDP.
Перезавантажте ваш комп’ютер і проблема має зникнути.
Додаткові рекомендації
Налаштування MTU для VPN підключень
Якщо проблема все одно виникає після відключення UDP, спробуйте налаштувати MTU (Maximum Transmission Unit) на мережевих адаптерах. Фрагментація UDP пакетів через різні налаштування MTU є частою причиною проблем при використанні VPN тунелів.
Як перевірити поточний MTU:
Відкрийте командний рядок від імені адміністратора та введіть:
netsh interface ipv4 show subinterfaces
Як змінити MTU:
Використайте команду (замініть ІМ’Я_ІНТЕРФЕЙСУ на назву вашого підключення, а РОЗМІР на бажане значення, наприклад 1350):
netsh interface ipv4 set subinterface "ІМ'Я_ІНТЕРФЕЙСУ" mtu=1350 store=persistent
Для VPN підключень зазвичай рекомендується MTU в діапазоні 1200-1400 байт.
Оновлення системи
Важливо: Переконайтеся, що на серверах та клієнтах встановлені останні оновлення безпеки. Microsoft випустила виправлення для проблем з RDP:
- Для Windows 11 24H2: Проблема виправлена в оновленні KB5052093 (лютий 2025) та KB5053656 (березень 2025)
- Для Windows Server 2025: Виправлення надано в оновленні KB5055523 (квітень 2025)
Microsoft також використовує технологію Known Issue Rollback (KIR) для автоматичного відкату проблемних змін.
Оптимізація для VPN
Для RDP через VPN розгляньте можливість використання сучасніших VPN-рішень, які краще обробляють фрагментацію пакетів. Якщо ви використовуєте OpenVPN, переконайтеся, що параметр mssfix налаштований правильно.
Налаштування Remote Desktop Gateway
При використанні Remote Desktop Gateway:
- Налаштуйте правильну маршрутизацію трафіку
- Переконайтеся, що UDP порт 3391 відкритий у брандмауері (якщо UDP потрібен)
- Розгляньте можливість вимкнення UDP транспорту в налаштуваннях RD Gateway, якщо виникають проблеми
Налаштування виявлення мережі (для Windows 11 24H2)
Якщо у вас Windows 11 24H2 і RDP сесія зависає при вході, спробуйте налаштувати виявлення мережі:
- Відкрийте gpedit.msc
- Перейдіть: Computer Configuration → Administrative Templates → Windows Components → Remote Desktop Services → Remote Desktop Session Host → Connections
- Знайдіть параметр Select network detection on the server
- Встановіть в Enabled та виберіть Turn off Connect Time Detect and Continuous Network Detect
- Виконайте
gpupdate /force
Безпека та найкращі практики
- Не використовуйте прямий доступ RDP з Інтернету без додаткового захисту (VPN або RD Gateway)
- Використовуйте Network Level Authentication (NLA) для додаткового рівня безпеки
- Змініть стандартний порт 3389 на інший для зменшення ризику автоматичних атак
- Налаштуйте тайм-аути сесій для автоматичного виходу з неактивних сесій
- Регулярно аудитуйте журнали доступу RDP для виявлення підозрілої активності
Висновок
Проблеми з UDP транспортом для RDP підключень можуть виникати з різних причин, включаючи конфлікти з VPN тунелями, проблемні оновлення Windows та неправильні налаштування мережі. Відключення UDP та використання тільки TCP протоколу є ефективним рішенням для більшості випадків, хоча це може дещо знизити продуктивність з’єднання в стабільних мережевих умовах.



