Windows Server 2008 R2: Службы удаленных рабочих столов: руководство по эксплуатации

Сочетание служб удаленных рабочих столов и Windows Server 2008 R2 дает огромный выбор сценариев развертывания благодаря наличию новых серверных ролей и других возможностей.

Кристин Гриффин

Кому довелось иметь дело со службами терминалов в Windows Server 2003, не удивляются тому, что нет уверенности в том, какие сценарии поддерживает та или иная роль службы удаленных рабочих столов (Remote Desktop Services, RDS). Не все до развертывания выполняют полноценное проектирование — часто решение вопросов откладывают на потом.

RDS в Windows Server 2008 R2 достаточно сильно отличается от служб терминалов Windows Server 2003. Более ранняя версия поддерживала лишь сервер терминалов и сервер лицензий в редакции Standard.

RDS поддерживает сеансы и управление лицензиями, а также в ней появилось большое количество улучшений в работе пользователя и в функциях управления лицензиями. Кроме того, поддерживается виртуальная машина (VM), а также серверные роли для облегчения обнаружения, посредничества в соединении, фермы серверов (для крупномасштабных развертываний и избыточности) и безопасный доступ к WAN.

В течение последующих нескольких месяцев вы узнаете, с чего начинать работу с RDS, используя знакомые сценарии, как, например, доставка сеанса отдельного сервера, и перейдете к новинке в Windows Server 2008 R2 – виртуальной инфраструктуре рабочего стола (Virtual Desktop Infrastructure, VDI). Затем мы изучим более емкие сценарии развертывания с помощью ферм серверов RD Session Host и посредника соединений RD Connection Broker, разрешения обнаружений с помощью RD WebAccess и сценарии разрешения доступа к WAN посредством шлюза RD Gateway.

Доставка сеанса одного сервера

Сервер узла сеансов удаленных рабочих столов (RD Session Host), ранее известный как сервер терминалов (Terminal Server), — это серверная роль RDS. Она умеет «доставлять» рабочий стол целиком или отдельные приложения, так называемые приложения RemoteApp. Это идеальный вариант для высоко масштабируемой доставки приложений. Приложения могут запускаться независимо друг от друга многочисленными пользователями, которые вошли в систему сервера RD Session Host.

Несмотря на то, что для административных целей сервер Windows может принять два одновременных входящих соединения RDP, лишь RD Session Host способен поддерживать более двух удаленных соединений, предоставляя все дополнительные возможности протокола удаленных рабочих столов (Remote Desktop Protocol, RDP) 7.

Для небольших сред, например для небольшой компании или филиала, лучше всего подойдет один сервер. Это также и самый простой сценарий развертывания RDS. Только нужно помнить следующее:

  • У одного сервера есть ограничения по количеству открытых сеансов.
  • Отсутствие избыточности отрицательно скажется на всех соединениях, если сервер потерпит сбой.

Включение узла сеансов удаленных рабочих столов

Чтобы разрешить использование сервера RD Session Host, прежде всего на Windows-сервере надо установить роль RDS. Затем устанавливают службу RD Session Host. Завершив установку, нужно сделать следующее:

  • Определитесь, необходима ли для входа аутентификация NLA (Network Level Authentication). NLA позволяет пользователям проходить аутентификацию до открытия сеанса на сервере RD Session Host. Это одновременно позволяет ускорить вход и обеспечивает защиту от атак типа «отказ в обслуживании» (Denial of Service, DoS).
  • В группу пользователей удаленных рабочих столов (Remote Desktop Users) добавьте те группы пользователей, которым будет разрешен доступ к серверу RD Session Host.
  • Настройте параметры пользовательского интерфейса, разрешив (или запретив) воспроизведение аудио и видео, запись аудио и изменение композиции рабочего стола (Desktop Composition) (разрешение композиции рабочего стола автоматически разрешает возможности Aero).
  • Задайте режим лицензирования сервера. Для подключения к серверу RD Session Host каждому пользователю и устройству нужна лицензия. Выберите для этих соединений лицензирование «на пользователя» или «на устройство». Лицензирование сервера не обязательно настраивать сразу же, поскольку есть льготный период.

Клиентская часть настраивается просто. Клиент соединения с удаленным рабочим столом (Remote Desktop Connection, RDC) входит в состав ОС Windows. Если используется более ранняя версия ОС, чем Windows 7, то для получения максимально удобного пользовательского интерфейса следует установить последнюю версию клиента RDP. Загрузить последнюю версию клиента можно с веб-сайта Microsoft

Лицензионные требования

По окончанию льготного периода лицензирования для каждого пользователя или устройства необходимо  получить лицензии на подключение к серверу RD Session Host. Кроме того, нужно установить сервер лицензирования (RD Licensing). Службу RD Lisensing можно установить на этот же сервер или на отдельный, это не важно.

Потребуется приобрести лицензии клиентского доступа (RDS Client Access Licenses, CAL) и установить их на сервере RD Licensing. Эти лицензии привязываются к серверу, но RDS позволяет при необходимости перемещать их на новое оборудование. Нельзя забывать о том, что RDS поддерживает оба типа лицензирования – на пользователя и на устройство. При выборе модели надо исходить из того, чего у вас больше — пользователей или компьютеров. RDS не поддерживает лицензирование обоих типов одновременно, и выбранные лицензии должны совпадать с режимом работы сервера RD Session Host.

Закончив со службой ролей RD Session Host, установите службу ролей RD Licensing. Затем нужно сделать следующее:

  • Активируйте сервер RD Licensing.
  • Установите клиентские лицензии RDS CAL таким образом, чтобы сервер RD Licensing мог назначать их пользователям и устройствам.
  • Настройте RD Session Host на использование сервера RD Licensing (это нужно сделать, даже если службы ролей расположены на одной машине).

Размер сервера

Среди тех, кто мало знаком с размещением сеансов, распространен вопрос о том, как много пользователей могут использовать сервер одновременно. К сожалению, на него не так легко ответить. Это определяется рядом факторов: какие используются приложения, типы обрабатываемых данных и другими.

Для получения реальных цифр многие оценивают размер на основе результатов пилотного проекта. Подробнее о практическом моделировании использования см. документацию и средство имитации нагрузки, созданные командой разработчиков RDS. К счастью, Windows Server 2008 R2 это 64-разрядная система, поэтому память больше не является узким местом, как это было в 32-разрядной версии.

Можно виртуализовать сервер RD  Session Host, но это может привести к снижению числа одновременно поддерживаемых сеансов. Моделирование надо выполнять на машине того же типа (физической или виртуальной), которую предполагается использовать. Если же вы создали виртуальный сервер RD Session Host, лучше использовать сервер с процессором, поддерживающим трансляцию адресов второго уровня (Second-Level Address Translation, SLAT), чтобы снизить дополнительную нагрузку, возникающую из-за сопоставления памяти между физической и виртуальной машинами. Также для  снижения нагрузки, рекомендуется использовать гипервизор первого типа, как например Hyper-V, а не второго.

Полноэкранные сеансы или приложения RemoteApps

Сервер RD Session Host поддерживает две модели доставки приложений: полные рабочие столы и программы RemoteApp, которые визуально интегрируются с локальным рабочим столом. Последние выглядят для пользователя как обычные локальные приложения. Отсутствие необходимости переключаться между двумя рабочими столами делает приложения RemoteApp наиболее подходящими для одновременной работы с локальными и удаленными приложениями.

Приложения RemoteApp, запущенные одним пользователем на сервере,  работают в одном сеансе. Нужна всего лишь одна открытая копия профиля. Это снижает накладные расходы на сервере, так как для работы сеанса нужна лишь одна работающая копия процессов в ядре.

Вот вкратце рассказ о том, как использовать один сервер, зачем нужны сеансы, каковы различия между приложениями RemoteApp и сеансами, а также какова модель лицензирования RDS. В следующий раз я расскажу о Microsoft VDI.

Подробные инструкции по планированию и развертыванию RDS см. в книге Windows Server 2008 R2 Remote Desktop Services Resource Kit.

Кристин Гриффин(

Кристин Гриффин носит звание Remote Desktop Services MVP. Она является модератором форума Microsoft, посвященного поддержке сообщества серверных вычислений (social.technet.microsoft.com/Forums/en-US/winserverTS/threads/) и обслуживает блог RDS blog.kristinlgriffin.com. В соавторстве выпустила несколько книг: с Марком Минаси (Mark Minasi) —  “Mastering Windows Server 2008 and 2008 R2” (издательство Wiley) и с Кристой Андерсон (Christa Anderson) —  “Microsoft Windows Server 2008 Terminal Services Resource Kit” (издательство MS Press, 2008) и “Microsoft Windows Server 2008 R2 Remote Desktop Services Resource Kit” (вышла в декабре 2010).

Часто задаваемые вопросы по RDS

Вопрос В диспетчере задач заметно, что состав процессов в ОС различен при запуске RemoteApp и полного рабочего стола. Почему?

Ответ Приложения RemoteApp и полные рабочие столы используют различные оболочки и механизмы аутентификации. Полные рабочие столы для отображения пользовательского интерфейса используют EXPLORER.EXE, в то время как приложения RemoteAppиспользуют RDPSHELL.EXE. Эквивалентом USERINIT.EXE, который запускает RDPSHELL.EXEи обновляет панель задач клиента и управляет логикой выхода из системы в сеансах полных рабочих столов, в RemoteApp является RDPINIT.EXE.

Вопрос  Нужно ли по-прежнему блокировать конфигурирование сервера при использовании приложений RemoteApp?

Ответ Безусловно. Приложения RemoteApp служат для удобства, а не для обеспечения безопасности. Если пользователь может получить доступ к файловой системе, то сможет выполнить любое приложение, к которому также есть доступ, поэтому блокировка сервера необходима. Для блокировки можно использовать AppLocker (или программные ограничительные политики), разрешения NTFS и групповые политики.

Вопрос Можно ли настроить сервер только лишь для подключения к программам RemoteApp и блокировать доступ к рабочему столу?

Ответ Нет, это невозможно.