Зависает подключение к удаленному рабочему столу (RDP) при подключении через VPN

В период массового перехода на удаленную работу, многим пришлось познакомиться с таким явлением как удаленный рабочий стол. В большинстве случаев, компании предоставляют удаленный доступ к рабочим компьютерам только при подключении через VPN — таким образом обеспечивается более высокий уровень безопасности сети компании.

При использовании RDP поверх VPN периодически могут возникать странные «зависания» удаленного рабочего стола, с последующими дисконнектами или без них или просто значительные подтормаживания интерфейса. Конечно, сначала необходимо исключить проблемы на сетевом уровне (потери пакетов, низкая скорость, высокие задержки и т.д.), но если они уже исключены, а проблемы повторяются — с большой долей вероятности ваш клиент работает по протоколу UDP. Этот режим работы стал режимом по умолчанию начиная с версии RDP 8.0. Сам по себе он призван ускорить работу с RDP, но в связке с VPN-подключением, когда пакеты начинают фрагментироваться перед отправкой в туннель и собираться заново на другом конце — могут возникать проблемы с одновременной доставкой всех «частей» пакета и невозможностью его сборки и, как следствие — задержки и зависания интерфейса.

Отключить работу через UDP можно двумя способами:

  1. Правка реестра. В ветке HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\Client необходимо создать параметр типа DWORD с именем fClientDisableUDP и установить значение 1.
  2. Групповые политики. Необходимо перейти в Computer Configuration -> Administration Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Connection Client и установить настройку «Turn Off UDP On Client» в Enabled.

После этого зависания должны прекратиться.

Зависает подключение к удаленному рабочему столу (RDP) при подключении через VPN: 13 комментариев

  1. Спасибо. Только не написано где это делать, на клиенте или на сервере.

    1. В заметке речь идет о клиенте, работающем по UDP. Показалось достаточно очевидным отсутствие необходимости указывать где вносить изменения. Да и ветка реестра оканчивается на Client.
      Кроме этого, RDP-сервер может обслуживать много клиентов как по VPN, так и без него. Нелогично отключать UDP всем из-за одного клиента.

    1. Конфигурация компьютера — Административные шаблоны — Компоненты Windows — Службы удаленных рабочих столов — Клиент подключения к удаленному рабочему столу — Отключение UDP на клиенте — Включено

  2. Нет не помогает отключение UDP.
    Win10-Win10 тормоза ужасные.
    Эта же самая Win10 но к Win7 все летает.
    И наоборот Win7 к Win10 все летает.

    1. У вас просто другая проблема. При зависании подключения вы в принципе не можете ничего сделать: курсор есть, но ничего не работает. В вашем случае RDP просто тормозит. Причин может быть много.

  3. Спасибо, наконец-то помогло. RDP через pptp VPN постоянно зависал на 3-5 сек. Отключение UDP помогло.

  4. Вроде помогло, но теперь практически постоянно, иногда сразу после подключения вылетает ошибка, что «сеанс будет прекращён из-за ошибки шифрования данных». Зависание заменилось на вылеты. Так себе альтернатива((

  5. А если в папке «Client » вообще нету fClientDisableUDP
    Только «fEnableUsbBlockDeviceBySetupClass» fEnableUsbNoAckIsochWriteToDevice и fEnableUsbSelectDeviceByInterface
    Через административные шаблоны пробовал, не помогло

  6. Не указано какой именно параметр, их там много: «Строковый», «Двоичный», и ещё другие

Добавить комментарий для Дмитрий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *