Windows 2012 RDS: не подключаются rdp-клиенты Windows XP

Не смотря на то, что Windows XP уже почти три месяца как кирдык End Of  Support – многие внешние и внутренние заказчики продолжают используют эту ОС, и похоже, кардинально эту проблему решить в ближайшее время не удастся :( … На днях обнаружили проблему: клиенты с ОС Windows XP не могут подключиться к свежеразвернутой терминальной Remote Desktop Services ферме на Windows Server 2012 R2.


Пользователи XP жаловались на такие ошибки rdp клиента:

Because of a security error, the client could not connect to the remote computer.  Verify that you are logged on to the network, and then try reconnecting again
The remote session was disconnected because the remote computer received an invalid licensing message from this computer
The remote computer requires Network Level Authentication, which your computer does not support. For assistance, contact your system administrator or technical support.

Покопавшись в документации Microsoft, решили в первую очередь обновить версию RDP клиента на машинах с XP. После установки rdp клиента 7.0 (версия rdp 8.0 на XP не устанавливается), у половины клиентов проблема решилась. Осталась вторая половина….

Начав более подробно копать тему RDS сервера на базе Windows 2012 R2 мы обнаружили, что 2012 сервер по умолчанию требует от своих клиентов обязательной поддержки технологии NLA (Network-Level Authentication — проверки подлинности на уровне сети, подробнее об этой технологии здесь), если же клиент не поддерживает NLA, подключиться к RDS серверу ему не удастся.

Из вышесказанного есть два вывода, чтобы оставшиеся XP-клиенты смогли подключаться по RDP к терминальному серверу 2012 нужно:

  • отключить проверку NLA на серверах фермы Remote Desktop Services 2012
  • или включить поддержку NLA на XP-клиентах

Отключаем NLA на сервере RDS 2012

Чтобы на сервере RDS Windows Server 2012 отключить требование обязательного использования NLA клиентами, нужно в консоли Server Manager перейти в раздел Remote Desktop Services -> Collections -> QuickSessionCollection, выбрать Tasks -> Edit Properties, выбрать раздел  Security и снять опцию: Allow connections only from computers running Remote Desktop with Network Level Authentication.

win2012rds-disable-nla

Естественно, нужно понимать, что отключение NLA на уровне сервера уменьшает защищенность системы и в общем случае использовать не рекомендуется. Предпочтительнее использовать вторую методику.

Включаем NLA на уровне клиента Windows XP

Ранее мы уже описывали, как включить поддержку Network Level Authentication на компьютерах с Windows XP, вкратце напомним основные моменты.

Поддержка NLA появилась в Windows XP, начиная с SP3, но по умолчанию она не включена. Включить поддержку аутентификации NLA можно только реестр. Для этого:

  1. В ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders нужно отредактировать значение ключа SecurityProviders, добавив в конце credssp.dll (через запятую от его текущего значения)

win-xp-nla-credssp.dll_2. Далее в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa добавить строку tspkg в значение параметра Security Packages

win-xp-nla-securitypackage-tspkg

  1. После внесения указанных изменений, компьютер нужно перезагрузить

После выполнения всех манипуляций, компьютер с Windows XP SP3 должен без проблем подключится по rdp к терминальной ферме на Windows 2012.

Совет. Параллельно возникла еще одна проблема с печатью через Easy Print. Чтобы компьютеры с Windows XP могли печатать на RDS 2012 с помощью Easy Print, клиенты должны удовлетворять следующим требованиям: ОС — Windows XP SP3, версия  rdp клиента не меньше 6.1, наличие.NET Framwork 3.5.

2 Comments

Leave a Reply

Your email address will not be published.


*