Что такое терминальный сервер.
Терминальный сервер - простыми словами сервер, позволяющий использовать свои ресурсы для работы с программами. Пользователи используют свой персональный компьютер (или тонкий клиент) только для подключения, а все остальные вычислительные операции выполняются на самом сервере.
Обычно, терминальный сервер устанавливают в следующих случаях:
1. Работа с 1С. Позволяет наладить возможность удаленной и совместной работы.
2. У компании есть филиалы с низкоскоростным Интернетом и необходимо обеспечить совместный доступ к некоторым программам (подключение к серверу терминалов не требует высокой скорости сети);
3. Наличие секрета фирмы, сохранность которого необходимо гарантировать (на рабочих компьютерах не должно ничего храниться);
Попытка сэкономить на программных лицензиях и оборудовании. Хотя здесь необходимо большое уточнение: во-первых, многими разработчиками компьютерных программам это предусмотрено, и они требуют приобретения лицензий для каждого пользователя; во-вторых, развертывание сервера, его содержание и необходимость покупки дополнительных терминальных лицензий делают его выгодным лишь для большого числа пользователей (в каждом случае индивидуально и необходим расчет).
На текущий момент, самая используемая реализация для сервера — службы удаленных рабочих столов Windows Server (используется протокол Remote Desktop Protocol или RDP). Другие программные решения — Citrix Metaframe (устарело и не поддерживается), X Window System (для UNIX систем), RX@Etersoft (российская разработка). В качестве клиента можно использовать встроенную в Windows программу «Подключение к удаленному рабочему столу» (mstsc), а также Terminal Server Client (Linux) или тонкий клиент.
Прочитайте более подробно о терминальном сервере на сайте Wikipedia
Терминальный сервер - простыми словами сервер, позволяющий использовать свои ресурсы для работы с программами. Пользователи используют свой персональный компьютер (или тонкий клиент) только для подключения, а все остальные вычислительные операции выполняются на самом сервере.
Обычно, терминальный сервер устанавливают в следующих случаях:
1. Работа с 1С. Позволяет наладить возможность удаленной и совместной работы.
2. У компании есть филиалы с низкоскоростным Интернетом и необходимо обеспечить совместный доступ к некоторым программам (подключение к серверу терминалов не требует высокой скорости сети);
3. Наличие секрета фирмы, сохранность которого необходимо гарантировать (на рабочих компьютерах не должно ничего храниться);
Попытка сэкономить на программных лицензиях и оборудовании. Хотя здесь необходимо большое уточнение: во-первых, многими разработчиками компьютерных программам это предусмотрено, и они требуют приобретения лицензий для каждого пользователя; во-вторых, развертывание сервера, его содержание и необходимость покупки дополнительных терминальных лицензий делают его выгодным лишь для большого числа пользователей (в каждом случае индивидуально и необходим расчет).
На текущий момент, самая используемая реализация для сервера — службы удаленных рабочих столов Windows Server (используется протокол Remote Desktop Protocol или RDP). Другие программные решения — Citrix Metaframe (устарело и не поддерживается), X Window System (для UNIX систем), RX@Etersoft (российская разработка). В качестве клиента можно использовать встроенную в Windows программу «Подключение к удаленному рабочему столу» (mstsc), а также Terminal Server Client (Linux) или тонкий клиент.
Прочитайте более подробно о терминальном сервере на сайте Wikipedia
Инструкция разбита на 7 шагов. Первых 3 представляют стандартные действия для настройки терминального сервера. Остальные являются профессиональными советами, которые помогут создать надежную и профессиональную инфраструктуру для сервера терминалов.
В качестве операционной системы используется Windows Server 2019.
1. Выбор оборудования и подготовка сервера
2. Установка Windows и базовая настройка
3. Установка и настройка терминального сервера
4. Тюнинг
5. Средства обслуживания
6. Тестирование
7. Порт для подключения
Шаг 1. Выбор оборудования и подготовка сервера к работе
Выбор оборудования
Выбирая оборудование для данного типа серверов, необходимо опираться на требования приложений, которые будут запускаться пользователями и количество последних. Например, если устанавливается терминальный сервер для программы 1С, а количество одновременно работающих сотрудников равно 20, получим следующие характеристики (приблизительно):
Процессор от Xeon E5.
Памяти не менее 28 Гб (по 1 Гб на каждого пользователя + 4 для операционной системы + 4 запас — это чуть меньше 20%).
Дисковую систему лучше построить на базе дисков SAS. Объем необходимо учесть индивидуально, так как это зависит от характера задач и методов их решения.
Также предлагаю для чтения статью Как выбрать сервер.
Подготовка сервера
Прежде чем начать установку операционной системы выполните следующее:
a. Настройте отказоустойчивый RAID-массив (уровни 1, 5, 6 или 10, а также их комбинации). Данная настройка выполняется во встроенной утилите контроллера. Для ее запуска следуйте подсказкам на экране во время загрузки сервера.
b. Подключите сервер к источнику бесперебойного питания (ИБП). Проверьте, что он работает. Отключите подачу питания на ИБП и убедитесь, что сервер продолжает работать.
Шаг 2. Установка Windows Server и базовая настройка системы
Установка системы
Во время установки системы важно учесть только один нюанс — дисковую систему необходимо разбить на два логических раздела. Первый (малый, 70 – 120 Гб) выделить для системных файлов, второй — под пользовательские данные. Статья как установить систему Windows Server 2019.
На это есть две основные причины:
Системный диск малого размера быстрее работает и обслуживается (проверка, дефрагментация, антивирусное сканирование и так далее)
Пользователи не должны иметь возможность хранить свою информацию на системном разделе. В противно случае, возможно переполнение диска и, как результат, медленная и нестабильная работа сервера.
Базовая настройка Windows Server
Проверяем правильность настройки времени и часового пояса;
Задаем понятное имя для сервера и, при необходимости, вводим его в домен;
Настраиваем статический IP-адрес;
Если сервер не подключен напрямую к сети Интернет, стоит отключить брандмауэр;
Для удаленного администрирования, включаем удаленный рабочий стол;
Устанавливаем все обновления системы.
Шаг 3. Установка и настройка терминального сервера
Подготовка системы
Начиная с Windows Server 2012 терминальный сервер должен работать в среде Active Directory (но можно и без домена). В данной статье мы рассматриваем установку и настройку в Active Directory.
Если в вашей IT-среде есть контроллер домена, просто присоединяем к нему наш сервер. В противном случае, устанавливаем на наш сервер роль контроллера.
Установка роли и компонентов
В панели быстрого запуска открываем Server Manager.

Кликаем Manage - Add roles and features.
Нажимаем Next до Select installation type. Оставляем Role-based or feature-based installation и нажимаем Next.
На этом этапе оставляем все как есть. Нажимаем Next.
В окне Select server roles выбираем Remote Desktop Services.
Кликаем Next, пока не появится окно Select role services и выбираем следующие:
Remote Desktop Licensing
Remote Desktop Session Host
* при появлении запроса на установку дополнительных компонентов соглашаемся.


Нажимаем просто Add Features.
При необходимости, также выставляем остальные галочки:
Remote Desktop Web Access - возможность выбора терминальных приложений в браузере
Remote Desktop Connection Broker - для кластера терминальных серверов посредник контролирует нагрузку каждой ноды и распределяет ее.
Remote Desktop Virtualization Host - для виртуализации приложений и запуска их через терминал.
Remote Desktop Gateway - центральный сервер для проверки подлинности подключения и шифрования трафика. Позволяет настроить RDP внутри HTTPS.
Нажимаем Next и в следующем окне Install.
Дожидаемся окончания процесса установки и перезагружаем сервер.
Установка служб удаленных рабочих столов
Важно! Если вы устанавливаете сервер в домене, то после перезагрузки войти под логином пользователя имеющим права администратора в домене.
После перезагрузки открываем Server Manager и нажимаем Manage - Add Roles and Features.
В окне Select installation type выбираем Remote Desktop Services installation и нажимаем Next.
В окне Select deployment type выбираем Quick Start и нажимаем Next.
В Select deployment scenario - Session-based desktop deployment. Нажимаем Next.
Еще раз Next.
Ставим галочку Restart the destination server automatically if required и кликаем по Deploy.
Начался процесс развертывания ролей.
По окончании жмём Close.
Настройка лицензирования удаленных рабочих столов
Для корректной работы сервера, необходимо настроить службу лицензирования. Для этого открываем Server Manager и кликаем по Tools - Remote Desktop Services - Remote Desktop Licensing Manager.
В открывшемся окне кликаем правой кнопкой мыши по нашему серверу и выбираем Activate Server.
Начался процесс активации сервера.
В открывшемся окне оставляем Automatic connection и кликаем Next.
Заполняем форму.
Нажимаем Next. Еще раз Next. Проверяем галочку Start Install Licenses Wizard now. Жмём Finish.
Нас приветствуют. Нажимаем Next.
Нам предлогают выбрать приобретенный вид лицензии. Выбираем в License program - Enterprise Agreement.
Имеется несколько типов лицензии:
Пакет лицензий (в розницу).
Соглашение “Open License”.
Соглашение “Select License”.
Соглашение “Enterprise Agreement”.
Соглашение “Campus Agreement”.
Соглашение “School Agreement”.
Лицензионное соглашение постановщика услуг.
Другое соглашение.
Лицензия Select Plus.
В нашем случае мы выбираем Соглашение “Enterprise Agreement” и нажимаем Next.
Вводим номер соглашения и нажимаем Next.
Заполняем нужные нам данные:
Версию продукта ставим “Windows Server 2019”.
Тип лицензии “RDS Per Device CAL”.
Количество в зависимости от приобретенной вами.
Завершаем работу мастера установки лицензий.
Для завершение установки лицензий осталось выполнить пункт по добавление групповых политик, для этого нажимаем ПКМ по меню “Start” и выбираем “Run”.
В окне “Run” вводим gpedit.msc и нажимаем “ОК”.

Попадаем в “Local Group Policy Editor”.
В данной настройке требуется править две записи. Для того чтобы указать сервер лицензирования мы переходим в пункт:
Computer Configuration - Administrative Templates - Windows Components - Remote Desktop Services - Remote Desktop Session Host - Licensing - Use the specified Remote Desktop license servers.
Включаем данную политику и вводим требуемый сервер лицензирования. В нашем случае мы будем ссылаться на свой локальный сервер “localhost” и применяем настройку. Нимаем Apply и после OK.
Для второго пункта мы переходи по следующему пути:
Computer Configuration - Administrative Templates - Windows Components - Remote Desktop Services - Remote Desktop Session Host - Set the Remote Desktop licensing mode.
Включаем политику и указываем режим лицензирования, в нашем случае мы активируем “Per Device” и применяем настройку. Нажимаем Apply и после OK.
Настройка по установки лицензий прошла успешно. Можно проверить в Server Manager - Tools - Remote Desktop Services - Remote Desktop Licensing Diagnoser.
В открывшемся окне вы увидите, что все прошло хорошо и нет проблем.
Для проверки создадим пользователей на контролере домена и попробуем зайти на терминальный сервер.
Шаг 4. Тюнинг терминального сервера
Ограничение сессий
По умолчанию, пользователи удаленных рабочих столов могут находиться в системе в активном состоянии без ограничения. Это может привести к зависаниям или проблемам при повторном подключении. Для решения возможных проблем установите ограничения на терминальные сессии.
Анализатор соответствия рекомендациям
Для некоторых серверных ролей Windows (в частности, терминальных) существует база успешных конфигураций. Придерживаясь советам данной базы можно повысить надежность и стабильность системы.
Для сервера удаленных рабочих столов, как правило, необходимо выполнить следующие рекомендации:
1. Файл Srv.sys должен быть настроен на запуск по требованию.
В командной строке от имени администратора вводим:
sc config srv start= demand
2. Создание коротких имен файлов должно быть отключено.
В командной строке от имени администратора вводим:
fsutil 8dot3name set 1
Теневые копии
Если подразумевается хранение ценной информации на терминальном сервере, стоит настроить возможность восстановления предыдущих версий файлов.
Как настроить и пользоваться данной возможностью, читайте подробнее в инструкции Как включить и настроить теневые копии.
Ошибка 36888 (Source: schannel)
В журнале Windows может появляться ошибка «Возникло следующее неустранимое предупреждение: 10. Внутреннее состояние ошибки: 1203.» от источника Schannel и кодом 36888. Ее причину, однозначно, определить мне не удалось. Во многих информационных источниках пишут, что это давно известная проблема и списывают на ошибку самой операционной системы.
Точного решения найти не удалось, но можно отключить ведение лога для Schannel. Для этого в редакторе реестра находим ветку HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel - в ней параметр EventLogging и меняем его значение на 0. Команда для редактирования реестра:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel" /v EventLogging /t REG_DWORD /d 0 /f
* данную команду необходимо выполнить из командной строки, запущенной от администратора.
Шаг 5. Настройка средств обслуживания
Основные средства, помогающие полноценно обслуживать сервер — мониторинг и резервное копирование.
Резервное копирование
Для терминального сервера необходимо резервировать все рабочие каталоги пользователей. Если на самом сервере организована общий каталог для обмена и хранения важной информации, копируем и его. Лучшим решением будет ежедневное копирование новых данных, и с определенной периодичностью (например, раз в месяц), создание полного архива.
Мониторинг
Мониторить стоит:
Сетевую доступность сервера;
Свободное дисковое пространство.
Шаг 6. Тестирование
Тестирование состоит из 3-х основных действий:
1. Проверить журналы Windows и убедиться в отсутствие ошибок. В случае их обнаружения, необходимо устранить все проблемы.
2. Выполнить действия анализатора соответствий рекомендациям.
3. Провести живой тест работы сервиса с компьютера пользователя.
Особый порт для подключения
По умолчанию, для подключения к терминальному серверу по RDP используется порт 3389. Если необходимо, чтобы сервер слушал на другом порту, открываем реестр, и переходим в ветку:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
Находим ключ PortNumber и задаем ему значение в десятично представлении, равное нужному номеру порта:

Изменение порта RDP
Также можно применить команду:
reg add "HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 3388 /f
* где 3388 — номер порта, на котором будет принимать запросы терминальный сервер.