Терминальный сервер — способ дать многим сотрудникам доступ к общим приложениям: программы работают на сервере, пользователи подключаются к своим сеансам по сети. Разбираем, как он устроен, как настраивается на Windows Server, какие нужны лицензии, где у схемы предел и как тот же сценарий строится на Linux и российской платформе.
Что такое терминальный сервер
Терминальный сервер — сервер, на котором одновременно работают сеансы многих пользователей. Каждый сотрудник подключается к общей серверной операционной системе, получает свой сеанс — рабочий стол или отдельное приложение — и работает так, будто программа запущена у него на компьютере. Вычисления, программы и данные остаются на сервере; на устройство пользователя передаётся изображение экрана, обратно — нажатия клавиш и движения мыши.
За это отвечает служба сеансов — в терминологии Microsoft RDSH (Remote Desktop Session Host). Ключевое отличие от персонального компьютера и от VDI: десятки пользователей делят одну операционную систему, а не получают каждый свою. Поэтому схема дешёвая на старте и подходит для однотипных задач: бухгалтерия, склад, операционисты, работа с 1С через тонкий клиент.
Как работает терминальный сервер
В основе классического терминального сервера — протокол RDP (Remote Desktop Protocol). Пользователь запускает клиент подключения, проходит аутентификацию и попадает в свой сеанс. Сервер отрисовывает рабочий стол и приложения, сжимает изображение и отдаёт его клиенту; клиент возвращает действия пользователя.
Когда пользователей много, один сервер перестаёт справляться, и терминальные серверы объединяют в ферму. Появляются вспомогательные роли: брокер подключений распределяет сеансы между серверами и возвращает пользователя в его прежний сеанс, шлюз даёт безопасный доступ снаружи, сервер лицензирования выдаёт лицензии на подключение. Для пользователя это незаметно: он открывает свой рабочий стол.
Терминальный сервер на Windows Server (RDS)
Чаще всего под терминальным сервером понимают Windows Server с ролью Remote Desktop Services (RDS). Роль состоит из компонентов:
- RD Session Host — сервер сеансов, на котором работают пользователи;
- RD Connection Broker — распределение сеансов в ферме и возврат в прежний сеанс;
- RD Gateway — шлюз для доступа извне по HTTPS;
- RD Licensing — сервер лицензий подключения (RDS CAL);
- RD Web Access — доступ к опубликованным приложениям через браузер.
Как настроить терминальный сервер на Windows Server
Порядок настройки терминального сервера в общем виде один и тот же независимо от версии Windows Server:
- Подготовить сервер. Установить Windows Server, ввести его в домен, выделить ресурсы под расчётное число одновременных сеансов.
- Установить роль RDS. Через диспетчер серверов добавить роль Remote Desktop Services и нужные компоненты; для одного сервера достаточно Session Host, Connection Broker и Web Access, для фермы брокер и шлюз выносятся отдельно.
- Создать коллекцию сеансов. Указать серверы сеансов и группы пользователей, которым разрешено подключение.
- Опубликовать рабочий стол или приложения. Полный рабочий стол либо отдельные программы через RemoteApp — тогда пользователь видит только окно приложения.
- Настроить лицензирование. Установить роль RD Licensing, активировать сервер лицензий, указать тип лицензий и привязать его к серверам сеансов.
- Настроить политики. Групповые политики: профили пользователей, ограничения буфера обмена и проброса устройств, тайм-ауты сеансов.
- Открыть доступ снаружи. Только через RD Gateway или иной шлюз с многофакторной аутентификацией; публиковать порт RDP напрямую в интернет нельзя.
На практике «поставил роль — и работает» не бывает: основное время уходит на пункты 5–7.
Лицензии терминального сервера
Каждое подключение к терминальному серверу Windows требует клиентской лицензии RDS CAL. Она бывает двух типов: на пользователя (per User) — для сотрудников, которые заходят с разных устройств, и на устройство (per Device) — для рабочих мест, за которыми работают посменно. Лицензии учитывает сервер лицензирования; без него сервер сеансов работает ограниченное время, затем перестаёт принимать подключения.
RDS CAL — отдельная статья расходов поверх лицензий на саму Windows Server и на прикладное ПО. При расчёте бюджета нужно считать три слоя: серверная ОС, клиентские лицензии подключения, лицензии приложений в сеансах.
Пользователи терминального сервера: сколько их потянет сервер
Число пользователей терминального сервера ограничено ресурсами хоста: чем тяжелее приложения, тем меньше сеансов выдержит один сервер. Когда предел достигнут, добавляют серверы в ферму и распределяют пользователей брокером. Поскольку все работают в одной ОС, «тяжёлый» пользователь или зависшее приложение влияют на соседей — ресурсы приходится резервировать с запасом.
Ограничения классического терминального сервера
- Общая ОС. Сбой, обновление или вредоносное ПО в сеансе затрагивают всех пользователей сервера.
- Безопасность. Открытый наружу RDP — постоянная цель для перебора паролей и шифровальщиков; обязателен шлюз и второй фактор.
- Лицензии и поставки. Windows Server, RDS CAL и надстройки Citrix — зарубежные лицензии; после ухода Citrix и ограничения поставок Microsoft расширять такую инфраструктуру в России сложно.
- Масштабирование и отказоустойчивость. Отказ сервера сеансов отключает всех его пользователей сразу.
Терминальный сервер или VDI
На терминальном сервере пользователи делят одну серверную ОС и работают в сеансах: дёшево и просто, изоляция слабее. В VDI каждому сотруднику выделяется отдельная виртуальная машина: полная изоляция, свой набор ПО, сбой одного не задевает других, но ресурсов нужно больше.
Ориентир: терминальный доступ — для однотипных рабочих мест (операционисты, склад, колл-центр), VDI — там, где нужны изоляция, разные наборы ПО и повышенные требования к безопасности. Подробно — в статье VDI: что это, как работает и как внедрить.
Когда сотрудники работают из дома и из филиалов, выбор между терминальным сервером и VDI — часть более широкой задачи. Как организовать удалённые рабочие места и защитить доступ, разобрано в отдельной статье: удалённые рабочие места.
Терминальный сервер на Linux
Терминальный сервер не обязан быть Windows. В платформе Inscale терминальный доступ построен на пакете RDSH — том же, что лежит в основе RDP, — и работает одинаково для Windows и для Linux. Терминальный сервер можно развернуть на Astra Linux, RED OS, Ubuntu или Debian: в систему доустанавливаются несколько пакетов, которых нет по умолчанию, после чего пользователи подключаются к ней так же, как к Windows Server, — в графический сеанс, а не только в консоль.
Как это настраивается:
- Создаётся виртуальная машина с нужной ОС, в мастере включается режим RDSH.
- В настройках машины указываются сетевой адаптер и домен, через которые идёт терминальное подключение.
- Если нужно опубликовать отдельное приложение, а не весь рабочий стол, оно публикуется средствами операционной системы, а в платформе для него задаётся псевдоним — пользователь получает подключение к приложению.
- Пользователям или группам из Active Directory / LDAP назначается доступ к машине.
Сейчас терминальный доступ настраивается на уровне отдельной виртуальной машины; массовое управление терминальными серверами и публикацией приложений через интерфейс платформы выходит в ближайших релизах.
Терминальный доступ на платформе Inscale
Что даёт российская платформа виртуализации в сценарии терминального сервера — по тому, что показывается на демо:
- Два протокола на выбор. Терминальный доступ по RDSH либо собственный протокол доставки с профилями под канал: пользователь прямо в сеансе переключает качество картинки, если просел канал.
- Шлюз в DMZ. Точка входа для пользователей снаружи; до авторизации не открывает порты во внутреннюю сеть, поддерживает второй фактор (RADIUS, OTP, смарт-карты). Потоки пользователей и администраторов разделены.
- Политики безопасности на машину или пул: USB-устройства — запрет, разрешение или разрешение только конкретных идентификаторов (например, определённой модели смарт-карты); звук, микрофон, камера; буфер обмена — полностью, только текст с ограничением размера, файлы с ограничением размера; водяной знак на экране; отключение сеанса при нарушении политики. Если USB запрещён, в диспетчере устройств виртуальной машины USB-контроллера нет.
- Пользователи из каталога. Группы и учётные записи берутся из Active Directory или LDAP; роли и привилегии назначаются в платформе, вплоть до отдельных действий с конкретной машиной или пулом. Пользователь с правами только на подключение не видит в интерфейсе кластеры, хранилища и сети — платформа их ему не отдаёт.
- Клиент. Отдельное приложение для пользователя, в котором есть только выданные ему рабочие места; работает на Windows, Linux, macOS и на тонких клиентах.
Если у вас уже есть ферма RDS на Windows и нужен план перехода — он разобран в статье Замена терминального сервера на российский VDI. Из чего состоит платформа — в обзоре Российская система виртуализации.
Итог
Терминальный сервер — проверенный способ дать многим пользователям доступ к общим приложениям. На Windows Server это роль RDS: сеансы, лицензии CAL, фермы с брокером и шлюзом. Ограничения схемы — общая ОС, открытый RDP и зарубежные лицензии. Тот же сценарий можно построить на Linux и на российской платформе: терминальный доступ к Windows и Linux, шлюз с многофакторной аутентификацией, политики безопасности, а рядом — VDI для тех, кому нужна отдельная машина.
Хотите оценить терминальный доступ Inscale на своих задачах — запросите демо.
Российская альтернатива терминальному серверу — VDI Inscale.