Найти в Дзене
IT - Это просто

Установка и использование Remote Desktop Gateway

Оглавление

Вступайте в группу - vk.com/mrsisadm - там больше интересного!!!

В данном руководстве мы рассмотрим развертывание роли шлюза удаленных рабочих столов (Remote Desktop Gateway или RDG) на отдельном сервере с Windows Server 2019. Действия будут аналогичны для Windows Server 2012 и 2016 (даже, в основных моментах, 2008 R2).

Установка роли

Открываем Диспетчер серверов :

Переходим в Управление - Добавить роли и компоненты :

-2

При появлении окна приветствия нажимаем Далее (при желании, можно поставить галочку Пропускать эту страницу по умолчанию ):

-3

На страницы выбора типа установки оставляем выбор на Установка ролей или компонентов :

-4

Выбираем целевой сервер — если установка выполняется на сервере локально, то мы должны увидеть один сервер для выбора:

-5

Ставим галочку Службы удаленных рабочих столов :

-6

Дополнительные компоненты нам не нужны:

-7

... просто нажимаем Далее .

На странице служб удаленных рабочих столов идем дальше:

-8

Выбираем конкретные роли — нам нужен Шлюз удаленных рабочих столов . После установки галочки появится предупреждение о необходимости поставить дополнительные пакеты — кликаем по Добавить компоненты :

-9

Откроется окно для настроек политик:

-10

... нажимаем Далее .

Откроется окно роли IIS:

-11

... также нажимаем Далее .

При выборе служб ролей веб-сервера ничего не меняем:

-12

... и идем дальше.

В последнем окне ставим галочку Автоматический перезапуск конечного сервера, если требуется :

-13

Нажимаем Установить :

Дожидаемся окончания установки роли:

-14

Сервер может уйти в перезагрузку.

Настройка RDG

Для настройки Microsoft Remote Desktop Gateway мы создадим группу компьютеров в Active Directory, настроим политику для RDG и создадим сертификат.

Создание групп для терминальных серверов

Политика ресурсов позволит задать нам конкретные серверы, на которые терминальный шлюз позволит нам подключаться. Для этого мы откроем консоль Active Directory - Users and computers (Пользователи и компьютеры Active Directory) и создаем группу:

-15

* в данном примере мы создаем группу All terminals в организационном юните Servers Group . Это группа безопасности (Security ), локальная в домене (Domain local ).

Добавим в нашу группу терминальные серверы:

-16

* в данном примере у нас используются два сервера — Terminal-1 и Terminal-2 .

Закрываем консоль Active Directory - Users and computers.

Настройка политик

Для предоставления доступа к нашим терминальным серверам, создадим политики для подключений и ресурсов.

В диспетчере сервера переходим в Средства - Remote Desktop Services - Диспетчер шлюза удаленных рабочих столов :

-17

Раскрываем сервер - кликаем правой кнопкой по Политики - выбираем Создание новых политик безопасности :

-18

Устанавливаем переключатель в положении Создать политику авторизации подключений к удаленным рабочим столам и авторизации ресурсов удаленных рабочих столов (рекомендуется) :

-19

Даем название политике:

-20

Задаем параметры авторизации:

-21

* мы указали, что пользователи должны подтверждать право вводом пароля, также мы указали, что для применения политики они должны принадлежать группе Domain Users .

В следующем окне есть возможность настроить ограничения использования удаленного рабочего стола. При желании, можно их настроить:

-22

* в нашем случае ограничений нет. При необходимости, устанавливаем переключатель в положение Отключить перенаправление для следующих типов клиентских устройств и оставляем галочки пункты для ограничений.

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

-23

В следующем окне мы увидим вне введенные настройки:

-24

Идем далее.

Откроется страница создания политики для авторизации ресурса — задаем для нее название:

-25

Указываем группу пользователей, для которой будет применяться политика:

-26

* как и при создании первой политики, мы добавили группу Domain Users .

Теперь выбираем группу ресурсов, на которую будет разрешен доступ со шлюза терминалов:

-27

* мы выбрали группу, созданную нами ранее в AD.

Указываем разрешенный для подключения порт или диапазон портов:

-28

* в данном примере мы разрешим подключение по порту 3389 , который используется по умолчанию для RDP.

Нажимаем Готово :

-29

Политики будут созданы.

Настройка сертификата

Для работы системы нам необходим сертификат, который можно купить или получить бесплатно от Let's Encrypt . Однако, с некоторыми неудобствами, будет работать и самоподписанный. Мы рассмотрим вариант настройки с ним.

Запускаем «Диспетчер шлюза удаленных рабочих столов» - кликаем правой кнопкой по названию нашего сервера - выбираем Свойства :

-30

Переходим на вкладку Сертификат SSL :

-31

Выбираем вариант Создать сомозаверяющий сертификат и кликаем по Создать и импортировать сертификат :

-32

Задаем или оставляем имя для сертификата - нажимаем OK :

-33

Мы увидим информацию о создании сертификата:

-34

Консоль диспетчера шлюза перестанет показывать ошибки и предупреждения:

-35

Сервер готов к работе.

Подключение к серверу терминалов через шлюз

Выполним первое подключение с использованием шлюза. В качестве клиентской операционной системы могут использоваться Windows, Linux, Mac OS. Рассмотрим пример на Windows 10.

Запускаем «Подключение к удаленному рабочему столу» (приложение можно найти в Пуск или ввести команду mstsc ). На вкладке Общие вводим локальное имя конечного сервера, к которому мы хотим подключиться:

-36

* в нашем случае мы будем подключаться к серверу terminal-1.dmosk.local .

Переходим на вкладку Дополнительно и кликаем по Параметры :

-37

Переключаем параметр приложения в положение Использовать следующие параметры сервера шлюза удаленных рабочих столов и указываем внешнее имя сервера:

-38

* важно указать именно имя сервера, а не IP-адрес. В моем примере имя сервера rdp.dmosk.local (данное имя не является правильным внешним, но это только пример).

Кликаем Подключить :

Если мы используем самозаверенный сертификат, приложение выдаст ошибку. Кликаем по Просмотреть сертификат :

-39

Переходим на вкладку Состав и кликаем Копировать в файл :

-40

Указываем путь для выгрузки файла:

-41

Открываем папку, куда сохранили сертификат. Кликаем по сохраненному файлу правой кнопкой и выбираем Установить сертификат :

-42

Выбираем Локальный компьютер - Далее :

-43

В качестве размещения сертификата выбираем Доверенные корневые центры сертификации :

-44

Импортируем сертификат.

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

Система запросит логин и пароль для подключения (возможно, дважды) — вводим данные для учетной записи с правами на подключение (на основе настройки политики RDG).

Настройка Remoteapp через Gateway

Предположим, у нас есть опубликованное приложение Remoteapp и мы хотим подключаться к терминальному серверу через настроенный шлюз. Для этого открываем rdp-файл приложения на редактирование (например, блокнотом) и вносим в него изменения:

...
gatewayhostname:s:rdg.dmosk.local
gatewayusagemethod:i:1
...

* где:

  • gatewayhostname:s:rdg.dmosk.local — добавленная строка. Настройка говорит, что если при подключении к серверу нужно использовать шлюз, то это должен быт rdg.dmosk.local .
  • gatewayusagemethod:i:1 — отредактированная строка. Указывает, что необходимо использовать шлюз.

Пробуем подключиться.

Несколько терминальных серверов и dns round robin

При наличие нескольких серверов терминалов, мы можем создать несколько записей в DNS, чтобы получать по round robin разные серверы:

Однако, при попытке подключиться к незарегистрированному серверу мы увидим ошибку:

-45

Для решения переходим в настройку шлюза - кликаем правой кнопкой по Политики авторизации ресурсов и выбираем Управление локальными группами компьютеров :

-46

Выбираем нужную группу компьютеров и нажимаем Свойства :

* в моем случае это была единственная группа, созданная по умолчанию.

На вкладке Сетевые ресурсы добавляем имя, созданное в DNS:

-47

Теперь подключение будет выполняться без ошибок.

Возможные ошибки

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

1. Учетная запись пользователя не указана в списке разрешений шлюза удаленных рабочих столов.

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

2. Возможно, удаленный компьютер указан в формате NetBIOS (например, computer1), но шлюз удаленных рабочих столов ожидает полное доменное имя или IP-адрес (например, computer1.fabrikam.com или 157.60.0.1).

Обращение к терминальному серверу выполняется по незарегистрированному имени. Необходимо проверить настройку в клиенте подключения или зарегистрировать ресурс, как мы это делали при настройке нескольких терминальных серверов .

3. Сертификат шлюза удаленных рабочих столов просрочен или отозван.

В данном случае нужно проверить, какой сертификат привязан к RDG. Также нужно убедиться, что привязанный сертификат, на самом деле, не просрочен или отозван. В крайнем случае, можно заново создать сертификат.