Приложение для удаленного мониторинга и управления терминальным сервером. Устанавливается на терминальный сервер
Версия Termit: 2.1
В этом документе описано, как администраторам установить компоненты системы терминального доступа "Термит".
"Термит" — это система терминального доступа (СТД). Предназначена для организации удаленного доступа конечных пользователей к приложениям, опубликованным на терминальных серверах. Пользователи получают защищенный доступ к установленным администраторами ресурсам с учетом назначенных прав доступа и текущей нагрузки на серверы.
Возможности СТД "Термит":
поддержка терминальных серверов на базе операционных систем Windows и Linux;
совместное использование пользователями ресурсов с минимальными усилиями на администрирование и развертывание;
безопасный доступ к централизованно развернутым приложениям;
публикация рабочего стола и приложений.
Термин | Определение |
---|---|
Агент |
Приложение для удаленного мониторинга и управления терминальным сервером. Устанавливается на терминальный сервер |
Балансировщик нагрузки |
Внешний компонент, который распределяет нагрузку между брокерами и реализует отказоустойчивость |
Брокер |
Компонент системы, который аутентифицирует пользователей, передает им списки доступных приложений, позволяет администраторам настраивать серверы, группы и приложения. Поддерживается несколько брокеров, что обеспечивает отказоустойчивость |
Группа доступа приложения |
Пользователи, которые состоят в группе LDAP и могут запускать приложение. Поддерживаются вложенные группы |
Группа серверов |
Ферма терминальных серверов. С помощью группы серверов можно балансировать нагрузку и объединять их по настройкам и приложениям, которые эти серверы запускают. Группы серверов нужны для обеспечения отказоустойчивости |
Пользователи |
Сотрудники предприятий, внешние пользователи, которые могут запускать приложение, и администраторы, которые могут настраивать СТД "Термит" |
Приложение |
Программное обеспечение, которое запускается на терминальном сервере. Интерфейс отображается локально на компьютере пользователя |
Рабочий стол |
Экранная рабочая область, аналогичная локальному рабочему столу. Состоит из рабочей области и панели задач |
Терминальная сессия |
Пользовательский сеанс. Сессия начинается, когда пользователь запустил приложение. И завершается, когда пользователь закрыл приложение. Администратор может завершить сессию принудительно |
Терминальный сервер |
Сервер, на котором запускается программное обеспечение, например 1С, браузер или офисный пакет приложений |
Шлюз удаленного доступа |
Компонент системы, обеспечивающий доступ к внешним пользователям к терминальным серверам |
В этом разделе приведены базовая архитектура и архитектура с внутренними и внешними пользователями.
Ниже представлена схема базовой архитектуры с одним брокером, без балансировщика нагрузки и шлюза.
Пользователь запускает клиент. Далее вводит адрес брокера.
Пользователь вводит имя доменной учетной записи и пароль.
Брокер проверяет эти данные на сервере LDAP.
Брокер возвращает клиенту токен для аутентификации в REST API.
Клиент запрашивает у брокера список приложений, доступных пользователю. Брокер проверяет права пользователя (сравнивая его группы с теми, которые назначены на приложения) и отдает список доступных приложений.
Пользователь запускает нужное приложение (например, калькулятор). Клиент отправляет брокеру запрос на старт новой терминальной сессии.
Брокер выбирает терминальный сервер, который может обслужить запрос.
Брокер создает сессию в БД и отдает клиенту профиль подключения, включающий в себя адрес шлюза удаленного рабочего стола, адрес терминального сервера, порт подключения, команду для запуска и другие параметры.
Десктоп-клиент стартует сессию на терминальном сервере. В процессе старта десктоп-клиент запрашивает у пользователя имя учетной записи и пароль и отправляет их терминальному серверу. Терминальный сервер проводит аутентификацию пользователя. Десктоп-клиент настраивает перенаправление звука, файловой системы, печати и запускает калькулятор в сессии.
На стороне терминального сервера агент завершает создание сессии (уведомляет брокер о том, что создана сессия с X2Go/RDP ID. Далее происходит синхронизация этого ID c ID из БД).
Сессия готова к работе.
Ниже представлена схема архитектуры с внутренними пользователями, несколькими брокерами, балансировщиком нагрузки и без шлюза.
Пользователь запускает клиент. Затем вводит адрес балансировщика нагрузки. Балансировщик нагрузки определяет, какой брокер будет обслуживать данного пользователя. И в дальнейшем перенаправляет все запросы пользователя на выбранный брокер.
Пользователь вводит имя доменной учетной записи и пароль.
Брокер проверяет эти данные на сервере LDAP.
Брокер возвращает клиенту токен для аутентификации в REST API.
Клиент запрашивает у брокера список приложений, доступных пользователю. Брокер проверяет права пользователя, сравнивая его группы с теми, которые назначены на приложения, и отдает список доступных приложений.
Пользователь запускает нужное приложение (например, калькулятор). Клиент отправляет брокеру запрос на старт новой терминальной сессии.
Брокер выбирает терминальный сервер, который может обслужить запрос.
Брокер создает сессию в БД и отдает клиенту профиль подключения, включающий в себя адрес шлюза удаленного рабочего стола, адрес терминального сервера, порт подключения, команду для запуска и другие параметры.
Десктоп-клиент начинает сессию на терминальном сервере. В процессе старта десктоп-клиент запрашивает у пользователя имя учетной записи и пароль и отправляет их терминальному серверу. Терминальный сервер проводит аутентификацию пользователя. Десктоп-клиент настраивает перенаправление звука, файловой системы, печати и запускает калькулятор в сессии.
На стороне терминального сервера агент завершает создание сессии (уведомляет брокер о том, что создана сессия с X2Go/RDP ID. Далее происходит синхронизация этого ID c ID из БД).
Сессия готова к работе.
Ниже представлена схема архитектуры с внешними пользователями, несколькими брокерами, балансировщиком нагрузки и шлюзом.
Пользователь запускает клиент. Затем вводит адрес балансировщика нагрузки. Балансировщик нагрузки определяет, какой брокер будет обслуживать данного пользователя. И в дальнейшем перенаправляет все запросы пользователя на выбранный брокер.
Пользователь вводит имя доменной учетной записи и пароль.
Брокер проверяет эти данные на сервере LDAP.
Брокер возвращает клиенту токен для аутентификации в REST API.
Клиент запрашивает у брокера список приложений, доступных пользователю. Брокер проверяет права пользователя, сравнивая его группы с теми, которые назначены на приложения, и отдает список доступных приложений.
Пользователь запускает нужное приложение (например, калькулятор). Клиент отправляет брокеру запрос на старт новой терминальной сессии.
Брокер выбирает терминальный сервер, который может обслужить запрос.
Брокер создает сессию в БД и отдает клиенту профиль подключения, включающий в себя адрес шлюза удаленного рабочего стола, адрес терминального сервера, порт подключения, команду для запуска и другие параметры.
Пользователь подключается к шлюзу и проходит на нем аутентификацию.
Десктоп-клиент с помощью шлюза начинает сессию на терминальном сервере. В процессе старта десктоп-клиент запрашивает у пользователя имя учетной записи и пароль и отправляет их терминальному серверу. Терминальный сервер проводит аутентификацию пользователя. Десктоп-клиент настраивает перенаправление звука, файловой системы, печати и запускает калькулятор в сессии.
На стороне терминального сервера агент завершает создание сессии (уведомляет брокер о том, что создана сессия с X2Go/RDP ID. Далее происходит синхронизация этого ID c ID из БД).
Сессия готова к работе.
В этом разделе приведены рекомендуемые системные и сетевые требования.
В таблицах ниже приведены требования для балансировщика нагрузки HAProxy и шлюзов удаленного доступа OpenSSH. Вы можете использовать другие.
Компонент | Требования | |
---|---|---|
Брокер (серверный вариант установки, без графической среды) |
ОС:
|
|
vCPU — 4 |
||
vRAM, ГБ — 8 |
||
Хранилище, ГБ — 100 |
||
Балансировщик нагрузки HAProxy (серверный вариант установки, без графической среды) |
ОС:
|
|
vCPU — 4 |
||
vRAM, ГБ — 8 |
||
Хранилище, ГБ — 100 |
||
Терминальный сервер (серверный вариант установки, с графическим окружением) |
ОС:
|
|
vCPU — 4 |
||
vRAM, ГБ — 8 |
||
Хранилище, ГБ — 100 |
||
Требования к сессии:
Рекомендуется резерв 15-20% от полученных значений.
|
||
Шлюзы удаленного доступа OpenSSH (серверный вариант установки, без графической среды) |
ОС:
|
|
vCPU — 4 |
||
vRAM, ГБ — 8 |
||
Хранилище, ГБ — 100 |
||
Среда рабочего стола терминального сервера |
|
|
База данных |
PostgreSQL 11 и выше |
|
vCPU — 4 |
||
vRAM, ГБ — 8 |
||
Хранилище, ГБ — 100 |
||
Дополнительный диск для базы данных, ГБ — 150 |
||
Клиентская машина |
ОС:
|
|
Служба каталогов |
|
Компонент | Требования | |
---|---|---|
Брокер (серверный вариант установки, без графической среды) |
ОС:
|
|
vCPU — 2 |
||
vRAM, ГБ — 4 |
||
Хранилище, ГБ — 50 |
||
Балансировщик нагрузки HAProxy (серверный вариант установки, без графической среды) |
ОС:
|
|
vCPU — 2 |
||
vRAM, ГБ — 2 |
||
Хранилище, ГБ — 50 |
||
Шлюзы удаленного доступа OpenSSH (серверный вариант установки, без графической среды) |
ОС:
|
|
vCPU — 2 |
||
vRAM, ГБ — 2 |
||
Хранилище, ГБ — 50 |
||
База данных |
PostgreSQL 11 и выше |
|
vCPU — 2 |
||
vRAM, ГБ — 4 |
||
Хранилище, ГБ — 50 |
||
Терминальный сервер (серверный вариант установки, с графическим окружением) |
ОС:
|
|
vCPU — 4 |
||
vRAM, ГБ — 4 |
||
Хранилище, ГБ — 50 |
||
Базовые требования к сессии:
|
Источник | Назначение | Протокол | Порт | Детали |
---|---|---|---|---|
Брокер |
База данных |
TCP |
5432 |
Связь с сервером баз данных PostgreSQL |
Служба каталогов |
TCP |
389 |
LDAP |
|
Терминальный сервер |
TCP |
8443 |
Связь: |
|
TCP |
8443 |
Связь: |
||
TCP |
9100 |
Связь: |
||
Балансировщик нагрузки |
TCP |
443 |
Связь: |
|
TCP |
8080 |
Связь: |
||
Межсервисная коммуникация |
TCP |
9090 |
Связь: |
|
Шлюз удаленного рабочего стола |
Терминальный сервер (Linux) |
TCP |
22 |
SSH подключение к терминальному серверу |
Терминальный сервер (Windows) |
TCP |
3389 |
RDP подключение к терминальному серверу |
|
Служба каталогов |
TCP |
389 |
LDAP |
|
Клиент |
Шлюз удаленного рабочего стола |
TCP |
22 |
Связь: |
Терминальный сервер (Linux) |
TCP |
22 |
SSH подключение к терминальному серверу без использования компонента шлюз |
|
Терминальный сервер (Windows) |
TCP |
3389 |
RDP подключение к терминальному серверу без использования компонента шлюз |
|
Балансировщик нагрузки |
TCP |
443 |
HTTPS подключение к брокеру |
В этом разделе описано, как проверить настройки межсетевого экрана (МСЭ).
Чтобы проверить настройки МСЭ на каждом из серверов, выполните команду:
sudo systemctl status firewalld.service
Если в выводе команды отображается информация, как на изображении ниже, то дальнейшие шаги по конфигурации МСЭ можно пропустить, так как он выключен.
В случае если вывод команды отличается, то необходима дополнительная конфигурация МСЭ. Для этого:
Определите активную зону МСЭ с помощью команды:
firewall-cmd --get-default-zone
Добавьте правила по списку портов в необходимую активную зону с помощью команды:
sudo firewall-cmd --zone=%Активная_Зона% --permanent --add-port=%Порт%/tcp
Где:
%Активная_Зона% — текущая активная зона из шага 1.
%Порт% — необходимый порт. Список портов смотрите в разделе Сетевые требования.
Например:
sudo firewall-cmd –zone=public --permanent --add-port=5432/tcp
Подробнее о настройке МСЭ можно прочесть на официальном сайте РЕД ОС. |
Чтобы проверить настройки МСЭ на каждом из серверов, выполните команду:
sudo ufw status
Если выполнение команды возвращает ответ "Status: inactive", то дальнейшие шаги по конфигурации МСЭ можно пропустить, так как он выключен.
В случае если вывод команды отличается, то необходима дополнительная конфигурация МСЭ. Для этого добавьте соответствующие разрешения командой:
sudo ufw allow %Порт%/tcp
Где: %Порт% — необходимый порт. Список портов смотрите в разделе Сетевые требования.
|
Чтобы проверить настройки МСЭ на каждом из серверов, выполните команду:
sudo efw
Если выполнение команды возвращает ответ "Firewall is disabled", то дальнейшие шаги по конфигурации МСЭ можно пропустить, так как он выключен.
В случае если вывод команды отличается, то необходима дополнительная конфигурация МСЭ. Для этого добавьте соответствующие правила. В зависимости от используемого МСЭ команды могут отличаться. Подробнее о создании правил МСЭ описано в статьях Etcnet Firewall и UFW.
Чтобы настроить межсетевой экран на сервере:
Откройте любым способом Монитор брандмауэра Защитника Windows в режиме повышенной безопасности.
Выберите Правила для входящих подключений.
Нажмите Создать правило.
На вкладке Тип правила активируйте опцию Для порта.
Нажмите Далее.
На вкладке Протокол и порты оставьте Протокол TCP по умолчанию. В параметре Определенные локальные порты: укажите "8443". Полный список портов смотрите в разделе Сетевые требования.
Нажмите
.На вкладке Имя задайте имя, например "Termit Agent".
Можно создать правило в межсетевом экране с помощью PowerShell:
|
В этом разделе представлена базовая информация по подготовке сервера баз данных PostgreSQL.
Повторное использование базы данных для новой инсталляции невозможно. |
В этой инструкции используется последняя доступная версия СУБД PostgreSQL 15. В случае если используется другая версия, то выполняемые команды необходимо изменить. Более подробно можно ознакомиться на сайте документации РЕД ОС.
Установите PostgreSQL с помощью команды:
sudo dnf install postgresql15-server
Инициализируйте базу данных с помощью команды:
sudo postgresql-15-setup initdb
Запустите сервис PostgreSQL с помощью команды:
sudo systemctl enable postgresql-15.service --now
Чтобы разрешить удаленное подключение к СУБД, в файле конфигурации /var/lib/pgsql/15/data/postgresql.conf
параметр listen_addresses
должен соответствовать значению '*'
:
Отображение параметров на скриншоте может отличаться. Зависит от версии PostgreSQL. |
Чтобы разрешить удаленное подключение к СУБД с паролем, добавьте в файл конфигурации /var/lib/pgsql/15/data/pg_hba.conf
строку:
host all all 0.0.0.0/0 password
Отображение параметров на скриншоте может отличаться. Зависит от версии PostgreSQL. |
Запустите сессию служебного пользователя postgres с помощью команды:
sudo su - postgres
Запустите командную оболочку postgres с помощью команды:
psql
Если при установке брокера:
будет выбрана опция "подключиться к уже существующей базе данных", то выполните шаги:
Создайте пустую базу данных с помощью команды:
CREATE DATABASE %Имя_Базы%;
Создайте нового пользователя с паролем с помощью команды:
CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%';
Установите права владельца для созданного пользователя на созданную базу с помощью команды:
ALTER DATABASE %Имя_Базы% OWNER TO %Имя_Пользователя%;
Выйдите из командной оболочки psql и сессии пользователя postgres с помощью команды:
exit
Перезапустите сервис PostgreSQL с помощью команды:
sudo systemctl restart postgresql-15.service
будет выбрана опция "создать новую базу данных", то выполните шаги:
Создайте нового пользователя с паролем и правами на создание новых баз данных с помощью команды:
CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%' CREATEDB;
Выйдите из командной оболочки psql и сессии пользователя postgres с помощью команды:
exit
Перезапустите сервис PostgreSQL с помощью команды:
sudo systemctl restart postgresql-15.service
В случае инсталляций в режиме контроля мандатного доступа ("Воронеж" и "Смоленск") может потребоваться дополнительная конфигурация операционной системы. Подробнее о настройках PostgreSQL и мандатном управлении доступа.
Установите PostgreSQL из репозитория с помощью команды:
sudo apt install postgresql-11
Проверьте статус сервиса PostgreSQL с помощью команды:
sudo systemctl status postgresql
При необходимости запустите сервис с помощью команды:
sudo systemctl start postgresql
Чтобы разрешить удаленное подключение к СУБД, в файле конфигурации /etc/postgresql/11/main/postgresql.conf
параметр listen_addresses
должен соответствовать значению '*'
:
Отображение параметров на скриншоте может отличаться. Зависит от версии PostgreSQL. |
Чтобы разрешить удаленное подключение к СУБД с паролем, добавьте в файл конфигурации /etc/postgresql/11/main/pg_hba.conf
строку:
host all all 0.0.0.0/0 password
Отображение параметров на скриншоте может отличаться. Зависит от версии PostgreSQL. |
Чтобы разрешить удаленное подключение к СУБД пользователю в режиме контроля мандатного доступа, в параметре zero_if_notfound
задайте значение yes
в файле /etc/parsec/mswitch.conf
:
Запустите сессию служебного пользователя postgres с помощью команды:
sudo su - postgres
Запустите командную оболочку postgres с помощью команды:
psql
Если при установке брокера:
будет выбрана опция "подключиться к уже существующей базе данных", то выполните шаги:
Создайте пустую базу данных с помощью команды:
CREATE DATABASE %Имя_Базы%;
Создайте нового пользователя с паролем с помощью команды:
CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%';
Установите права владельца для созданного пользователя на созданную базу с помощью команды:
ALTER DATABASE %Имя_Базы% OWNER TO %Имя_Пользователя%;
Выйдите из командной оболочки psql и сессии пользователя postgres с помощью команды:
exit
Перезапустите сервис PostgreSQL с помощью команды:
sudo systemctl restart postgresql
будет выбрана опция "создать новую базу данных", то выполните шаги:
Создайте нового пользователя с паролем и правами на создание новых баз данных с помощью команды:
CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%' CREATEDB;
Выйдите из командной оболочки psql и сессии пользователя postgres с помощью команды:
exit
Перезапустите PostgreSQL с помощью команды:
sudo systemctl restart postgresql
Установите сервис PostgreSQL с помощью команды:
sudo apt install postgresql-15
Проверьте статус сервиса с помощью команды:
sudo systemctl status postgesql
При необходимости запустите сервис с помощью команды:
sudo systemctl enable postgesql --now
Чтобы разрешить удаленное подключение к СУБД, в файле конфигурации /etc/postgresql/15/main/postgresql.conf
, в параметре listen_addresses
должно быть значение '*':
Чтобы разрешить удаленное подключение к СУБД, добавьте в файл конфигурации /etc/postgresql/15/main/pg_hba.conf
строку:
host all all 0.0.0.0/0 password
Запустите сессию служебного пользователя postgres с помощью команды:
sudo su - postgres
Запустите командную оболочку postgres с помощью команды:
psql
Если при установке брокера:
будет выбрана опция "подключиться к уже существующей базе данных", то выполните шаги:
Создайте пустую базу данных с помощью команды:
CREATE DATABASE %Имя_Базы%;
Создайте нового пользователя с паролем с помощью команды:
CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%';
Установите права владельца для созданного пользователя на созданную базу с помощью команды:
ALTER DATABASE %Имя_Базы% OWNER TO %Имя_Пользователя%;
Выйдите из командной оболочки psql и сессии пользователя postgres с помощью команды:
exit
Перезапустите сервис PostgreSQL с помощью команды:
sudo systemctl restart postgresql
будет выбрана опция "создать новую базу данных", то выполните шаги:
Создайте нового пользователя с паролем и правами на создание новых баз данных с помощью команды:
CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%' CREATEDB;
Выйдите из командной оболочки psql и сессии пользователя postgres с помощью команды:
exit
Перезапустите сервис PostgreSQL с помощью команды:
sudo systemctl restart postgresql
Подробнее об установке PostgreSQL можно прочесть на официальном сайте ALT Linux.
Установите компоненты PostgreSQL с помощью команды:
sudo apt-get install postgresql11-server
Инициализируйте сервер БД с помощью команды:
sudo /etc/init.d/postgresql initdb
Запустите и добавьте автозапуск с помощью команды:
sudo systemctl enable postgresql --now
Чтобы разрешить удаленное подключение к СУБД, в файле конфигурации /var/lib/pgsql/data/postgresql.conf
параметр listen_addresses
должен соответствовать значению '*'.
Чтобы разрешить удаленное подключение к СУБД с паролем, добавьте в файл конфигурации /var/lib/pgsql/data/pg_hba.conf
строку:
host all all 0.0.0.0/0 password
Перезапустите сервис с помощью команды:
sudo systemctl restart postgresql
Перейдите в консоль управления БД с помощью команды:
psql -U postgres
Если при установке брокера:
будет выбрана опция "подключиться к уже существующей базе данных", то выполните шаги:
Создайте пустую базу данных с помощью команды:
CREATE DATABASE %Имя_Базы%;
Создайте нового пользователя с паролем с помощью команды:
CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%';
Установите права владельца для созданного пользователя на созданную базу с помощью команды:
ALTER DATABASE %Имя_Базы% OWNER TO %Имя_Пользователя%;
Выйдите из командной оболочки psql и сессии пользователя postgres с помощью команды:
exit
Перезапустите сервис PostgreSQL с помощью команды:
sudo systemctl restart postgresql
будет выбрана опция "создать новую базу данных", то выполните шаги:
Создайте нового пользователя с паролем и правами на создание новых баз данных с помощью команды:
CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%' CREATEDB;
Выйдите из командной оболочки psql и сессии пользователя postgres с помощью команды:
exit
Перезапустите сервис PostgreSQL с помощью команды:
sudo systemctl restart postgresql
Установите компоненты PostgreSQL с помощью команды:
При необходимости измените версию PostgreSQL. |
sudo zypper install postgresql postgresql-server postgresql-contrib
Запустите и добавьте автозапуск с помощью команды:
sudo systemctl enable postgresql --now
Чтобы разрешить удаленное подключение к СУБД, в файле конфигурации /var/lib/pgsql/data/postgresql.conf
, параметр listen_addresses
должен соответствовать значению '*'.
Чтобы разрешить удаленное подключение к СУБД с паролем, добавьте в файл конфигурации /var/lib/pgsql/data/pg_hba.conf
строку:
host all all 0.0.0.0/0 password
Перезапустите сервис с помощью команды:
sudo systemctl restart postgresql
Проверьте статус сервиса с помощью команды:
sudo systemctl status postgresql
Статус должен быть "Active".
Перейдите в консоль управления БД с помощью команды:
psql -U postgres
Если при установке брокера:
будет выбрана опция "подключиться к уже существующей базе данных", то выполните шаги:
Создайте пустую базу данных с помощью команды:
CREATE DATABASE %Имя_Базы%;
Создайте нового пользователя с паролем с помощью команды:
CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%';
Установите права владельца для созданного пользователя на созданную базу с помощью команды:
ALTER DATABASE %Имя_Базы% OWNER TO %Имя_Пользователя%;
Выйдите из командной оболочки psql и сессии пользователя postgres с помощью команды:
exit
Перезапустите сервис PostgreSQL с помощью команды:
sudo systemctl restart postgresql
будет выбрана опция "создать новую базу данных", то выполните шаги:
Создайте нового пользователя с паролем и правами на создание новых баз данных с помощью команды:
CREATE USER %Имя_Пользователя% WITH PASSWORD '%Пароль_Пользователя%' CREATEDB;
Выйдите из командной оболочки psql и сессии пользователя postgres с помощью команды:
exit
Перезапустите сервис PostgreSQL с помощью команды:
sudo systemctl restart postgresql
Для подготовки окружения:
Разверните серверы:
для брокеров. На этой ВМ будет устанавливаться сервис;
для терминальных серверов под управлением Windows или Linux в зависимости от требований;
(Опционально) для сервера баз данных. Можно использовать существующий сервер.
Проверьте доступ к службе каталогов и PostgreSQL.
Проверьте с помощью команд nslookup
, ping
, что брокер зарегистрирован на DNS-сервере и доступен. В выводе команды не должно быть ошибок.
Добавьте терминальный сервер в домен службы каталогов.
В каталоге пользователей создайте "сервисную" учетную запись для чтения таких объектов, как пользователи и группы. Обязательно отключите опцию "User must change password at next logon" и включите "Password never expires".
В каталоге пользователей создайте группы безопасности для назначения ролей: администратора, технической поддержки и пользователя, в соответствии с требованиями вашего предприятия.
В каталоге пользователей добавьте в состав групп, созданных на предыдущем шаге, учетные записи пользователей для взаимодействия с СТД "Термит".
В этом разделе описано, как установить балансировщик нагрузки HAProxy, в случае если планируется инсталляция нескольких брокеров. Если вы планируете конфигурацию с одним брокером, то пропустите этот шаг и перейдите к установке брокера.
Вы можете использовать другой балансировщик нагрузки.
Рекомендуемый тип балансировки — привязка пользователя к конкретному серверу (balance source и hash-type consistent). Подробнее о типах балансировки. |
Установите ПО HAProxy с помощью команды:
sudo dnf install haproxy
Включите службу haproxy и добавьте автозагрузку с помощью команды:
sudo systemctl enable haproxy --now
Добавьте в конец файла конфигурации /etc/haproxy/haproxy.cfg
настройку серверов для балансировки.
В примере приведен файл конфигурации с типом балансировки Source IP Hash.
frontend termit
mode tcp
bind :80
default_backend termit_servers
backend termit_servers
option httpchk
http-check connect port 8080
http-check send meth GET uri /
mode tcp
balance source
hash-type consistent
server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:80 check
server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:80 check
server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:80 check
frontend termit_https
mode tcp
bind :443
default_backend termit_servers_https
backend termit_servers_https
option httpchk
http-check connect port 8080
http-check send meth GET uri /
mode tcp
balance source
hash-type consistent
server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:443 check
server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:443 check
server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:443 check
frontend termit_8443_https
mode tcp
bind :8443
default_backend termit_servers_8443_https
backend termit_servers_8443_https
option httpchk
http-check connect port 8080
http-check send meth GET uri /
mode tcp
balance source
hash-type consistent
server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:8443 check
server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:8443 check
server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:8443 check
Проверьте созданный файл конфигурации с помощью команды ниже. Вывод команды не должен содержать ошибок. Предупреждения (warnings) не являются ошибками.
sudo haproxy -f /etc/haproxy/haproxy.cfg -c
Перезапустите службу с помощью команды:
sudo systemctl restart haproxy
Проверьте доступность СТД "Термит" по URL адресу, указанному при установке брокер серверов.
Для установки используется последняя доступная в репозитории Astra Linux версия HAProxy (2.2.29-2astra13). Подробнее о конфигурации можно ознакомиться на официальном сайте Astra Linux.
Установите ПО HAProxy с помощью команды:
sudo apt install haproxy
Включите службу haproxy и добавьте автозагрузку с помощью команды:
sudo systemctl enable haproxy --now
Добавьте в конец файла конфигурации /etc/haproxy/haproxy.cfg
настройку серверов для балансировки.
В примере приведен файл конфигурации с типом балансировки Source IP Hash.
frontend termit
mode tcp
bind :80
default_backend termit_servers
backend termit_servers
option httpchk
http-check connect port 8080
http-check send meth GET uri /
mode tcp
balance source
hash-type consistent
server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:80 check
server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:80 check
server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:80 check
frontend termit_https
mode tcp
bind :443
default_backend termit_servers_https
backend termit_servers_https
option httpchk
http-check connect port 8080
http-check send meth GET uri /
mode tcp
balance source
hash-type consistent
server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:443 check
server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:443 check
server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:443 check
frontend termit_8443_https
mode tcp
bind :8443
default_backend termit_servers_8443_https
backend termit_servers_8443_https
option httpchk
http-check connect port 8080
http-check send meth GET uri /
mode tcp
balance source
hash-type consistent
server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:8443 check
server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:8443 check
server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:8443 check
Проверьте созданный файл конфигурации с помощью команды ниже. Вывод команды не должен содержать ошибок. Предупреждения (warnings) не являются ошибками.
sudo haproxy -f /etc/haproxy/haproxy.cfg -c
Перезапустите службу с помощью команды:
sudo systemctl restart haproxy
Проверьте доступность СТД "Термит" по URL адресу, указанному при установке брокера.
Установите ПО HAProxy с помощью команды:
sudo systemctl install haproxy
Включите службу haproxy и добавьте автозагрузку с помощью команды:
sudo systemctl enable haproxy --now
Добавьте в конец файла конфигурации /etc/haproxy/haproxy.cfg
настройку серверов для балансировки:
В примере приведен файл конфигурации с типом балансировки Source IP Hash.
frontend termit
mode tcp
bind :80
default_backend termit_servers
backend termit_servers
option httpchk
http-check connect port 8080
http-check send meth GET uri /
mode tcp
balance source
hash-type consistent
server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:80 check
server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:80 check
server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:80 check
frontend termit_https
mode tcp
bind :443
default_backend termit_servers_https
backend termit_servers_https
option httpchk
http-check connect port 8080
http-check send meth GET uri /
mode tcp
balance source
hash-type consistent
server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:443 check
server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:443 check
server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:443 check
frontend termit_8443_https
mode tcp
bind :8443
default_backend termit_servers_8443_https
backend termit_servers_8443_https
option httpchk
http-check connect port 8080
http-check send meth GET uri /
mode tcp
balance source
hash-type consistent
server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:8443 check
server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:8443 check
server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:8443 check
Проверьте файл конфигурации с помощью команды:
sudo haproxy -f /etc/haproxy/haproxy.cfg -c
Перезапустите службу с помощью команды:
sudo systemctl restart haproxy
Установите ПО HAProxy с помощью команды:
sudo apt-get install haproxy
Включите службу haproxy и добавьте автозагрузку с помощью команды:
sudo systemctl enable haproxy --now
Добавьте в конец файла конфигурации /etc/haproxy/haproxy.cfg
настройку серверов для балансировки.
В примере приведен файл конфигурации с типом балансировки Source IP Hash.
frontend termit
mode tcp
bind :80
default_backend termit_servers
backend termit_servers
option httpchk
http-check connect port 8080
http-check send meth GET uri /
mode tcp
balance source
hash-type consistent
server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:80 check
server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:80 check
server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:80 check
frontend termit_https
mode tcp
bind :443
default_backend termit_servers_https
backend termit_servers_https
option httpchk
http-check connect port 8080
http-check send meth GET uri /
mode tcp
balance source
hash-type consistent
server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:443 check
server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:443 check
server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:443 check
frontend termit_8443_https
mode tcp
bind :8443
default_backend termit_servers_8443_https
backend termit_servers_8443_https
option httpchk
http-check connect port 8080
http-check send meth GET uri /
mode tcp
balance source
hash-type consistent
server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:8443 check
server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:8443 check
server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:8443 check
Проверьте созданный файл конфигурации с помощью команды ниже. Вывод команды не должен содержать ошибок. Предупреждения (warnings) не являются ошибками.
sudo haproxy -f /etc/haproxy/haproxy.cfg -c
Перезапустите службу с помощью команды:
sudo systemctl restart haproxy
Проверьте доступность СТД "Термит" по URL адресу, указанному при установке брокера.
Установите ПО HAProxy с помощью команды:
sudo zypper install haproxy
Запустите службу haproxy с помощью команды:
sudo systemctl enable haproxy --now
Проверьте статус службы haproxy с помощью команды:
sudo systemctl status haproxy
Статус должен быть "Active".
Добавьте в конец файла конфигурации /etc/haproxy/haproxy.cfg
настройку серверов для балансировки.
В примере приведен файл конфигурации с типом балансировки Source IP Hash.
frontend termit
mode tcp
bind :80
default_backend termit_servers
backend termit_servers
option httpchk
http-check connect port 8080
http-check send meth GET uri /
mode tcp
balance source
hash-type consistent
server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:80 check
server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:80 check
server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:80 check
frontend termit_https
mode tcp
bind :443
default_backend termit_servers_https
backend termit_servers_https
option httpchk
http-check connect port 8080
http-check send meth GET uri /
mode tcp
balance source
hash-type consistent
server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:443 check
server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:443 check
server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:443 check
frontend termit_8443_https
mode tcp
bind :8443
default_backend termit_servers_8443_https
backend termit_servers_8443_https
option httpchk
http-check connect port 8080
http-check send meth GET uri /
mode tcp
balance source
hash-type consistent
server %Имя_Термит_Брокера_1% %IP_Адрес_Термит_Брокера_1%:8443 check
server %Имя_Термит_Брокера_2% %IP_Адрес_Термит_Брокера_2%:8443 check
server %Имя_Термит_Брокера_3% %IP_Адрес_Термит_Брокера_3%:8443 check
Проверьте созданный файл конфигурации с помощью команды ниже. Вывод команды не должен содержать ошибок. Предупреждения (warnings) не являются ошибками.
sudo haproxy -f /etc/haproxy/haproxy.cfg -c
Перезапустите службу с помощью команды:
sudo systemctl restart haproxy
Проверьте статус службы с помощью команды:
sudo systemctl status haproxy
Статус должен быть "Active".
В этом разделе описано, как установить брокер.
Перед установкой брокера выполните шаги 1-2 по установке Docker, Docker Compose или перейдите к шагу 3 (установочный скрипт выполнит шаги 1-2 в тихом режиме):
Для использования тихой установки в скрипте необходимы настроенные репозитории. |
Чтобы установить Docker, Docker Compose, выполните команду:
sudo dnf install docker-ce docker-ce-cli docker-compose
Чтобы установленные компоненты добавить в автозагрузку, выполните команду:
sudo systemctl enable docker --now
Скопируйте дистрибутив на сервер.
Распакуйте архив с помощью команды:
unzip termit-2.1.*-*.zip
При необходимости выдайте права на запуск скрипта с помощью команды:
sudo chmod +x ./install.sh
Запустите скрипт:
sudo ./install.sh install
Введите пароль администратора системы (суперпользователь).
Укажите имя узла брокера. Имя может быть любым.
Появится сообщение:
"What do you want to do? (1/2)
1. Install first node of a new cluster
2. Add a new node to existing cluster
Enter 1 or 2"
Укажите "1".
Введите адрес FQDN брокера (инсталляция Standalone) или балансировщика (инсталляция с несколькими брокерами), например "broker.example.com". Портал будет доступен по этому адресу.
Появится сообщение:
Do you want to connect to an existing database or create a new one? (1/2)
1. Connect to an existing database
2. Create new database
Enter 1 or 2?
Если вы хотите подключиться к существующей базе данных (БД), то:
Укажите "1".
Укажите имя хоста БД, например "db.example.com".
Укажите порт "5432".
Укажите имя БД, например "example".
Укажите имя пользователя БД, например "termit".
Введите пароль для БД.
Если вы хотите создать новую базу данных (БД), то:
Укажите "2".
Укажите имя хоста БД, например "db.example.com".
Укажите порт "5432".
Укажите имя новой БД.
Укажите имя пользователя БД, например "termit".
Введите пароль для БД.
Установка брокера занимает около двух минут. Во время запуска отображается ключ шифрования БД, который необходимо сохранить. Этот ключ нужен для установки дополнительных брокеров.
Для подтверждения успешной операции в браузере, в адресной строке, введите адрес брокера https://broker.example.com. В появившемся окне аутентификации укажите логин "admin" и пароль "admin" от учетной записи по умолчанию.
|
Перед установкой брокера выполните шаги 1-2 по установке Docker, Docker Compose или перейдите к шагу 3 (установочный скрипт выполнит шаги 1-2 в тихом режиме):
Для использования тихой установки в скрипте необходимы настроенные репозитории. |
Чтобы установить Docker, Docker Compose, выполните команду:
sudo apt install docker.io docker-compose
Чтобы запустить сервис, выполните команду:
sudo systemctl start docker
Скопируйте дистрибутив на сервер.
Распакуйте архив с помощью команды:
unzip termit-2.1.*-*.zip
При необходимости выдайте права на запуск скрипта с помощью команды:
sudo chmod +x ./install.sh
Запустите скрипт:
sudo ./install.sh install
Введите пароль администратора системы (суперпользователь).
Укажите имя узла брокера. Имя может быть любым.
Появится сообщение:
"What do you want to do? (1/2)
1. Install first node of a new cluster
2. Add a new node to existing cluster
Enter 1 or 2"
Укажите "1".
Введите адрес FQDN брокера (инсталляция Standalone) или балансировщика (инсталляция с несколькими брокерами), например "broker.example.com". Портал будет доступен по этому адресу.
Появится сообщение:
Do you want to connect to an existing database or create a new one? (1/2)
1. Connect to an existing database
2. Create new database
Enter 1 or 2?
Если вы хотите подключиться к существующей базе данных (БД), то:
Укажите "1".
Укажите имя хоста БД, например "db.example.com".
Укажите порт "5432".
Укажите имя БД, например "example".
Укажите имя пользователя БД, например "termit".
Введите пароль для БД.
Если вы хотите создать новую базу данных (БД), то:
Укажите "2".
Укажите имя хоста БД, например "db.example.com".
Укажите порт "5432".
Укажите имя новой БД.
Укажите имя пользователя БД, например "termit".
Введите пароль для БД.
Установка брокера занимает около двух минут. Во время запуска отображается ключ шифрования БД, который необходимо сохранить. Этот ключ нужен для установки дополнительных брокеров.
Для подтверждения успешной операции в браузере, в адресной строке, введите адрес брокера https://broker.example.com. В появившемся окне аутентификации укажите логин "admin" и пароль "admin" от учетной записи по умолчанию.
|
Установите Docker с помощью команды:
sudo apt install docker.io docker-compose
Добавьте в автозагрузку с помощью команды:
sudo systemctl enable docker --now
Распакуйте архив с помощью команды:
unzip termit-2.1.*-*.zip
Запустите установку с помощью команды:
sudo ./install.sh install
Введите пароль администратора системы (суперпользователь).
Укажите имя узла брокера. Имя может быть любым.
Появится сообщение:
"What do you want to do? (1/2)
1. Install first node of a new cluster
2. Add a new node to existing cluster
Enter 1 or 2"
Укажите "1".
Введите адрес FQDN брокера (инсталляция Standalone) или балансировщика (инсталляция с несколькими брокерами), например "broker.example.com". Портал будет доступен по этому адресу.
Появится сообщение:
Do you want to connect to an existing database or create a new one? (1/2)
1. Connect to an existing database
2. Create new database
Enter 1 or 2?
Если вы хотите подключиться к существующей базе данных (БД), то:
Укажите "1".
Укажите имя хоста БД, например "db.example.com".
Укажите порт "5432".
Укажите имя БД, например "example".
Укажите имя пользователя БД, например "termit".
Введите пароль для БД.
Если вы хотите создать новую базу данных (БД), то:
Укажите "2".
Укажите имя хоста БД, например "db.example.com".
Укажите порт "5432".
Укажите имя новой БД.
Укажите имя пользователя БД, например "termit".
Введите пароль для БД.
Установка брокера занимает около двух минут. Во время запуска отображается ключ шифрования БД, который необходимо сохранить. Этот ключ нужен для установки дополнительных брокеров.
Для подтверждения успешной операции в браузере, в адресной строке, введите адрес брокера https://broker.example.com. В появившемся окне аутентификации укажите логин "admin" и пароль "admin" от учетной записи по умолчанию.
Чтобы установить брокер:
Установите компоненты Docker с помощью команды:
sudo apt-get install docker-ce docker-compose
Запустите и добавьте службу docker в автозагрузку с помощью команды:
sudo systemctl enable docker --now
Распакуйте архив Термит с помощью команды:
unzip ./termit-2.1*.*-*.zip
Установите Термит командой ниже из директории с дистрибутивом:
sudo ./install.sh install
Введите пароль администратора системы (суперпользователь).
Укажите имя узла брокера. Имя может быть любым.
Появится сообщение:
"What do you want to do? (1/2)
1. Install first node of a new cluster
2. Add a new node to existing cluster
Enter 1 or 2"
Укажите "1".
Введите адрес FQDN брокера (инсталляция Standalone) или балансировщика (инсталляция с несколькими брокерами), например "broker.example.com". Портал будет доступен по этому адресу.
Появится сообщение:
Do you want to connect to an existing database or create a new one? (1/2)
1. Connect to an existing database
2. Create new database
Enter 1 or 2?
Если вы хотите подключиться к существующей базе данных (БД), то:
Укажите "1".
Укажите имя хоста БД, например "db.example.com".
Укажите порт "5432".
Укажите имя БД, например "example".
Укажите имя пользователя БД, например "termit".
Введите пароль для БД.
Если вы хотите создать новую базу данных (БД), то:
Укажите "2".
Укажите имя хоста БД, например "db.example.com".
Укажите порт "5432".
Укажите имя новой БД.
Укажите имя пользователя БД, например "termit".
Введите пароль для БД.
Установка брокера занимает около двух минут. Во время запуска отображается ключ шифрования БД, который необходимо сохранить. Этот ключ нужен для установки дополнительных брокеров.
Для подтверждения успешной операции в браузере, в адресной строке, введите адрес брокера https://broker.example.com. В появившемся окне аутентификации укажите логин "admin" и пароль "admin" от учетной записи по умолчанию.
|
Установите компоненты Docker с помощью команды:
sudo zypper install docker docker-compose docker-compose-switch
Запустите службу с помощью команды:
sudo systemctl enable docker --now
Скопируйте дистрибутив на сервер.
Распакуйте архив Термит с помощью команды:
unzip ./termit-2.1*.*-*.zip
При необходимости выдайте права на запуск скрипта с помощью команды:
sudo chmod +x ./install.sh
Запустите скрипт:
sudo ./install.sh install
Введите пароль администратора системы (суперпользователь).
Укажите имя узла брокера. Имя может быть любым.
Появится сообщение:
"What do you want to do? (1/2)
1. Install first node of a new cluster
2. Add a new node to existing cluster
Enter 1 or 2"
Укажите "1".
Введите адрес FQDN брокера (инсталляция Standalone) или балансировщика (инсталляция с несколькими брокерами), например "broker.example.com". Портал будет доступен по этому адресу.
Появится сообщение:
Do you want to connect to an existing database or create a new one? (1/2)
1. Connect to an existing database
2. Create new database
Enter 1 or 2?
Если вы хотите подключиться к существующей базе данных (БД), то:
Укажите "1".
Укажите имя хоста БД, например "db.example.com".
Укажите порт "5432".
Укажите имя БД, например "example".
Укажите имя пользователя БД, например "termit".
Введите пароль для БД.
Если вы хотите создать новую базу данных (БД), то:
Укажите "2".
Укажите имя хоста БД, например "db.example.com".
Укажите порт "5432".
Укажите имя новой БД.
Укажите имя пользователя БД, например "termit".
Введите пароль для БД.
Установка брокера занимает около двух минут. Во время запуска отображается ключ шифрования БД, который необходимо сохранить. Этот ключ нужен для установки дополнительных брокеров.
Для подтверждения успешной операции в браузере, в адресной строке, введите адрес брокера https://broker.example.com. В появившемся окне аутентификации укажите логин "admin" и пароль "admin" от учетной записи по умолчанию.
|
В этом разделе описано, как установить второй и следующий брокеры.
Перед добавлением брокеров скопируйте дистрибутив на сервер, распакуйте архив и подготовьте ключ шифрования. Рекомендуется создать три брокера для повышения отказоустойчивости.
Перед установкой дополнительного брокера выполните шаги 1-2 по установке Docker, Docker Compose или перейдите к шагу 3 (установочный скрипт выполнит шаги 1-2 в тихом режиме):
Для использования тихой установки в скрипте необходимы настроенные репозитории. |
Чтобы установить Docker, Docker Compose, выполните команду:
sudo dnf install docker-ce docker-ce-cli docker-compose
Чтобы установленные компоненты добавить в автозагрузку, выполните команду:
sudo systemctl enable docker --now
При необходимости выдайте права на запуск скрипта с помощью команды:
sudo chmod +x ./install.sh
Запустите скрипт:
sudo ./install.sh install
Введите пароль администратора системы.
Укажите имя узла брокера. Имя может быть любым.
Появится сообщение:
"What do you want to do? (1/2)
1. Install first node of new cluster
2. Add new node to existing cluster
Enter 1 or 2"
Укажите "2".
Укажите имя хоста базы данных (БД), например "db.example.com".
Укажите порт "5432".
Укажите имя БД, например "example".
Укажите имя пользователя БД, например "termit".
Введите пароль для БД.
Вставьте скопированный ключ шифрования.
Введите адрес, выбранный на шаге 7, и проверьте статус брокера в меню после аутентификации.
Установка брокера занимает около двух минут. Для подтверждения успешной операции перейдите на портал администрирования и проверьте, что в разделе Брокеры брокер появился в списке со статусом "Работает".
Перед установкой дополнительного брокера выполните шаги 1-2 по установке Docker, Docker Compose или перейдите к шагу 3 (установочный скрипт выполнит шаги 1-2 в тихом режиме):
Для использования тихой установки в скрипте необходимы настроенные репозитории. |
Чтобы установить Docker, Docker Compose, выполните команду:
sudo apt install docker.io docker-compose
Чтобы запустить сервис, выполните команду:
sudo systemctl start docker
При необходимости выдайте права на запуск скрипта с помощью команды:
sudo chmod +x ./install.sh
Запустите скрипт:
sudo ./install.sh install
Введите пароль администратора системы.
Укажите имя узла брокера. Имя может быть любым.
Появится сообщение:
"What do you want to do? (1/2)
1. Install first node of new cluster
2. Add new node to existing cluster
Enter 1 or 2"
Укажите "2".
Укажите имя хоста базы данных (БД), например "db.example.com".
Укажите порт "5432".
Укажите имя БД, например "example".
Укажите имя пользователя БД, например "termit".
Введите пароль для БД.
Вставьте скопированный ключ шифрования.
Введите адрес, выбранный на шаге 7, и проверьте статус брокера в меню после аутентификации.
Установка брокера занимает около двух минут. Для подтверждения успешной операции перейдите на портал администрирования и проверьте, что в разделе Брокеры брокер появился в списке со статусом "Работает".
Установите Docker с помощью команды:
sudo apt install docker.io docker-compose
Добавьте в автозагрузку с помощью команды:
sudo systemctl enable docker --now
При необходимости выдайте права на запуск скрипта с помощью команды:
sudo chmod +x ./install.sh
Запустите скрипт:
sudo ./install.sh install
Введите пароль администратора системы.
Укажите имя узла брокера. Имя может быть любым.
Появится сообщение:
"What do you want to do? (1/2)
1. Install first node of new cluster
2. Add new node to existing cluster
Enter 1 or 2"
Укажите "2".
Укажите имя хоста базы данных (БД), например "db.example.com".
Укажите порт "5432".
Укажите имя БД, например "example".
Укажите имя пользователя БД, например "termit".
Введите пароль для БД.
Вставьте скопированный ключ шифрования.
Введите адрес, выбранный на шаге 7, и проверьте статус брокера в меню после аутентификации.
Установка брокера занимает около двух минут. Для подтверждения успешной операции перейдите на портал администрирования и проверьте, что в разделе Брокеры брокер появился в списке со статусом "Работает".
Установите компоненты Docker с помощью команды:
sudo apt-get install docker-ce docker-compose
Запустите и добавьте службу docker в автозагрузку с помощью команды:
sudo systemctl enable docker --now
При необходимости выдайте права на запуск скрипта с помощью команды:
sudo chmod +x ./install.sh
Запустите скрипт:
sudo ./install.sh install
Введите пароль администратора системы.
Укажите имя узла брокера. Имя может быть любым.
Появится сообщение:
"What do you want to do? (1/2)
1. Install first node of new cluster
2. Add new node to existing cluster
Enter 1 or 2"
Укажите "2".
Укажите имя хоста базы данных (БД), например "db.example.com".
Укажите порт "5432".
Укажите имя БД, например "example".
Укажите имя пользователя БД, например "termit".
Введите пароль для БД.
Вставьте скопированный ключ шифрования.
Введите адрес, выбранный на шаге 7, и проверьте статус брокера в меню после аутентификации.
Установка брокера занимает около двух минут. Для подтверждения успешной операции перейдите на портал администрирования и проверьте, что в разделе Брокеры брокер появился в списке со статусом "Работает".
Установите компоненты Docker с помощью команды:
sudo zypper install docker docker-compose docker-compose-switch
Запустите службу с помощью команды:
sudo systemctl enable docker --now
При необходимости выдайте права на запуск скрипта с помощью команды:
sudo chmod +x ./install.sh
Запустите скрипт:
sudo ./install.sh install
Введите пароль администратора системы.
Укажите имя узла брокера. Имя может быть любым.
Появится сообщение:
"What do you want to do? (1/2)
1. Install first node of new cluster
2. Add new node to existing cluster
Enter 1 or 2"
Укажите "2".
Укажите имя хоста базы данных (БД), например "db.example.com".
Укажите порт "5432".
Укажите имя БД, например "example".
Укажите имя пользователя БД, например "termit".
Введите пароль для БД.
Вставьте скопированный ключ шифрования.
Введите адрес, выбранный на шаге 7, и проверьте статус брокера в меню после аутентификации.
Установка брокера занимает около двух минут. Для подтверждения успешной операции перейдите на портал администрирования и проверьте, что в разделе Брокеры брокер появился в списке со статусом "Работает".
В файле конфигурации sshd (/etc/ssh/sshd_config)
, в параметре X11Forwarding
, укажите значение "yes".
Чтобы установить Java 11 на терминальный сервер, выполните команду:
sudo dnf install java-11-openjdk
Чтобы изменить версию Java, используемую по умолчанию, выполните команду:
sudo alternatives --config java
И выберите пункт меню, соответствующий Java 11.
Чтобы установить X2Go server на терминальный сервер, выполните команду:
sudo dnf install x2goserver-xsession x2goserver-fmbindings x2goserver-common x2goserver x2goagent -y
Установите агент, используя скрипт, полученный при создании сервера в консоли администратора СТД "Термит".
В файле конфигурации sshd (/etc/ssh/sshd_config)
, в параметре X11Forwarding
, укажите значение "yes".
В файле конфигурации /etc/systemd/logind.conf
, в параметре KillUserProcesses
задайте значение no
для корректной работы переподключения сессии и перезагрузите терминальный сервер.
Установите компоненты OpenJDK с помощью команды:
sudo apt install openjdk-11-jdk
Подробнее об установке OpenJDK можно прочесть на официальном сайте Astra Linux. |
В случае если ранее были установлены другие версии OpenJDK, выполните дополнительную конфигурацию, выбрав установленную 11 версию с помощью команды:
sudo update-alternatives --config java
Установите компоненты X2Go сервера с помощью команды:
sudo apt install x2goserver-xsession x2goserver-fmbindings x2goserver-common x2goserver-x2goagent
Установите агент, используя скрипт, полученный при создании сервера в консоли администратора СТД "Термит".
Установите пакет xprintidle
из репозитория Debian:
Чтобы добавить репозиторий Debian 10 (замените "buster" на кодовое имя версии Debian, которую вы хотите использовать) и автоматического создания файла debian.list
, выполните команду:
echo "deb http://deb.debian.org/debian buster main" | sudo tee -a /etc/apt/sources.list.d/debian.list
Эта команда создаст файл debian.list
в директории /etc/apt/sources.list.d/
, если ранее он не был создан, и добавит указанную строку в файл.
Чтобы добавить отсутствующие GPG-ключи для репозиториев Debian, выполните команду:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 0E98404D386FA1D9 DCC9EFBF77E11517
Обновите список пакетов с помощью команды:
sudo apt update
Установите xprintidle с помощью apt:
sudo apt install xprintidle
При возникновении затруднений с зависимостями попробуйте разрешить их вручную.
При необходимости удалите репозиторий Debian. Это поможет избежать конфликтов в будущем:
sudo rm /etc/apt/sources.list.d/debian.list
sudo apt update
В файле конфигурации sshd (/etc/ssh/sshd_config)
, в параметре X11Forwarding
, укажите значение "yes".
Установите компоненты OpenJDK с помощью команды:
sudo apt install openjdk-17-jdk
В случае если ранее были установлены другие версии OpenJDK, выполните дополнительную конфигурацию, выбрав установленную 17 версию с помощью команды:
sudo update-alternatives --config java
Установите компоненты X2Go сервера с помощью команды:
sudo apt install x2goserver-xsession x2goserver-fmbindings x2goserver-common x2goserver-x2goagent
Установите агент, используя скрипт, полученный при создании сервера в консоли администратора СТД "Термит".
Установите пакет xprintidle
из репозитория Debian:
Чтобы добавить репозиторий Debian 10 (замените "buster" на кодовое имя версии Debian, которую вы хотите использовать) и автоматического создания файла debian.list
, выполните команду:
echo "deb http://deb.debian.org/debian buster main" | sudo tee -a /etc/apt/sources.list.d/debian.list
Эта команда создаст файл debian.list
в директории /etc/apt/sources.list.d/
, если ранее он не был создан, и добавит указанную строку в файл.
Чтобы добавить отсутствующие GPG-ключи для репозиториев Debian, выполните команду:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 0E98404D386FA1D9 DCC9EFBF77E11517
Обновите список пакетов с помощью команды:
sudo apt update
Установите xprintidle с помощью apt:
sudo apt install xprintidle
При возникновении затруднений с зависимостями попробуйте разрешить их вручную.
При необходимости удалите репозиторий Debian. Это поможет избежать конфликтов в будущем:
sudo rm /etc/apt/sources.list.d/debian.list
sudo apt update
В файле конфигурации sshd (/etc/openssh/sshd_config)
, в параметре X11Forwarding
, укажите значение "yes".
В файле конфигурации /etc/systemd/logind.conf
, в параметре KillUserProcesses
задайте значение no
для корректной работы переподключения сессии и перезагрузите терминальный сервер.
Установите компоненты Java с помощью команды:
sudo apt-get install java-11-openjdk
Установите компоненты X2Go сервера с помощью команды:
sudo apt-get install x2goserver-xsession x2goserver-fmbindings x2goserver-x2goagent
Добавьте X2Go в автозапуск с помощью команды:
sudo systemctl enable x2goserver --now
Установите пакет xprintidle
с помощью команды:
sudo apt-get install xprintidle
Установите агент, используя скрипт, полученный при создании сервера в консоли администратора СТД "Термит".
Ниже описано, как добавить роль, изменить политики, установить OpenJDK 11 и агент на терминальный сервер.
Для Windows Server 2012R2 и Windows Server 2016 (редакции ниже 1803) необходимо:
|
Активируйте роль "Remote Desktop Session Host" ("Узел сеансов удаленных рабочих столов"):
Откройте
.В правом верхнем углу нажмите Управление.
Выберите Добавить роли и компоненты.
Нажмите Далее.
На вкладке Тип установки оставьте по умолчанию опцию Установка ролей и компонентов.
Нажмите Далее.
На вкладке Выбор сервера оставьте по умолчанию Выберите сервер из пула серверов.
Нажмите Далее.
На вкладке Роли сервера активируйте опцию Службы удаленных рабочих столов.
Нажмите
.На вкладке Службы ролей активируйте опцию Remote Desktop Session Host (Узел сеансов удаленных рабочих столов) и нажмите Добавить компоненты.
Нажмите
.После установки и добавления роли перезагрузите ВМ.
Включите политику "Разрешить удаленный запуск любых программ" и выключите политику "Ограничить пользователей служб удаленных рабочих столов одним сеансов служб удаленных рабочих столов":
Откройте консоль MMC.
В левом верхнем углу нажмите Файл и выберите Добавить или удалить оснастку.
В доступных оснастках выберите Редактор объектов групповой политики.
В параметре Объект групповой политики оставьте по умолчанию Локальный компьютер.
Параметры ниже могут быть настроены с использованием групповой политики или локальной. |
Нажмите
.Раскройте Политика "Локальный компьютер".
Раскройте
.Выберите
.Нажмите два раза правой кнопкой мыши на политику "Разрешить удаленный запуск любых программ".
Активируйте опцию Включено и нажмите ОК.
Нажмите два раза правой кнопкой мыши на политику "Ограничить пользователей служб удаленных рабочих столов одним сеансов служб удаленных рабочих столов".
Активируйте опцию Отключено и нажмите ОК.
Откройте cmd.exe
и примените политики с помощью команды gpupdate /force
или перезагрузите сервер.
После успешной операции в выводе команды появится сообщение "Computer Policy update has completed successfully".
Настройте разрешение на подключение пользователей по RDP:
Удобным способом откройте Управление компьютером.
Выберите Локальные пользователи и группы.
Выберите
.Двойным кликом мыши нажмите на Пользователи удаленного рабочего стола.
Нажмите Добавить.
В поле Введите имена выбираемых объектов (примеры): введите Пользователи домена.
Нажмите
.Загрузите OpenJDK 11 и выполните шаги по установке. На шаге Custom Setup включите установку переменной окружения JAVA_HOME:
Установите агент, используя скрипт, полученный при создании сервера в консоли администратора СТД "Термит".
В этом разделе описано, как установить шлюз удаленного доступа для аутентификации по LDAP.
Установите компонент openssh-server
:
sudo dnf install openssh-server
sudo apt install openssh-server
sudo apt install openssh-server
sudo zypper install openssh-server
sudo apt-get install openssh-server
Настройте шлюз удаленного доступа через ввод в домен. Подробнее о вводе в домен смотрите в статье на сайтах:
Чтобы установить клиент:
В браузере, в адресной строке введите адрес, по которому доступна СТД "Термит", например https://broker.example.com.
Введите имя пользователя и пароль.
Пользователь входит под доменной учетной записью. |
В левом меню выберите раздел Скачать клиент.
Скачайте Термит клиент для Windows 7/8.1 или Термит клиент для Windows 10/11 и установите его.
Также можно установить клиент в "тихом" режиме. Информация о ходе выполнения отображаться не будет. Для установки в таком режиме добавьте параметр /S
: "C:%путь до exe файла%\termit-desktop-2.1.*.exe" /S
.
Скачайте Термит клиент для Mac OS и выполните шаги по установке.
Скачайте Клиент X2Go для Mac OS, соответствующий вашей ОС, и выполните шаги по установке.
Скачайте XQuartz и выполните шаги по установке.
Скачайте и установите приложение Microsoft Remote Desktop из App Store или с сайта macadmins.software, нажав на значок напротив "Remote Desktop Standalone Installer".
При подключении к сессии на терминальном сервере Windows будет открыто приложение Microsoft Remote Desktop и окно для ввода пароля. После ввода пароля запустится сессия. Во время сессии завершать работу приложения Microsoft Remote Desktop нельзя, так как это приведет к отключению от сессии.
Перед запуском клиента в настройках необходимо разрешить использование СТД "Термит". Для этого выберите в меню | , затем в боковом меню нажмите Конфиденциальность и безопасность, прокрутите вниз до параметра Разрешить использование приложений, загруженных из:.
Скачайте Термит клиент для Linux deb.
Установите FreeRDP:
Измените параметры файла sources
с помощью команды:
sudo mcedit /etc/apt/sources.list
Укажите пароль.
Измените параметры файла sources
и сохраните.
В большинстве дистрибутивов Astra Linux исходный файл sources.list содержит только репозиторий на CD/DVD для установки с диска. Для использования дополнительных репозиториев Astra Linux добавьте ресурсы с официального сайта Astra Linux в файл sources.list .
|
Обновите репозиторий с помощью команды:
sudo apt update
Установите FreeRDP:
sudo apt install freerdp2-x11
Установите клиент Термит:
sudo apt install ./termit-desktop-2.1.*-amd64.deb
Где:
./termit-desktop-2.1.*-amd64.deb
— название файла.
Скачайте Термит клиент для Linux rpm и выполните шаги по установке.
Установите FreeRDP:
Обновите репозиторий с помощью команды:
sudo dnf update
Установите FreeRDP:
sudo dnf install freerdp-krb
Установите клиент Термит:
sudo dnf install ./termit-desktop-2.1.*-amd64.rpm
Где:
./termit-desktop-2.1.*-amd64.rpm
— название файла.
Скачайте Термит клиент для Linux rpm.
Установите FreeRDP:
Обновите репозиторий с помощью команды:
sudo apt-get update
Установите FreeRDP:
sudo apt-get install freerdp
Установите клиент Термит:
sudo apt-get install ./termit-desktop-2.1.*-amd64.rpm
Для корректного запуска клиента Термит установите бит setuid:
sudo chmod 4755 /opt/Термит/chrome-sandbox
Для успешного подключения к СТД "Термит" необходимо, чтобы используемый SSL-сертификат был добавлен в список доверенных на клиенте.
Скопируйте файл корневого сертификата в каталог /etc/pki/ca-trust/source/anchors/
с помощью команды:
sudo cp %Путь_к_сертификату% /etc/pki/ca-trust/source/anchors/
Где: %Путь_к_сертификату% — полный путь к файлу сертификата в формате PEM
.
Чтобы применить изменения, выполните команды:
sudo update-ca-trust force-enable
sudo update-ca-trust extract
Перезапустите браузер и проверьте доверие сертификату, открыв адрес брокера Термит.
Сертификат должен быть в формате |
Если формат сертификата отличается, необходимо выполнить его конвертацию используя утилиту openssl
, например:
Если сертификат имеет кодировку DER
:
openssl x509 -inform DER -in %Исходный_Сертификат% -out %Конечный_Сертификат%
Если исходный сертификат имеет кодировку PEM:
openssl x509 -inform PEM -in %Исходный_Сертификат% -out %Конечный_Сертификат%
Где:
%Исходный_Сертификат% — путь к исходному сертификату "certificate.cer".
%Конечный_Сертификат% — путь к конечному сертификату, например "certificate.crt".
Скопируйте полученные выше сертификаты в каталог /usr/local/share/ca-certificates
с помощью команды:
sudo cp %Путь_к_сертификату% /usr/local/share/ca-certificates
Где: %Путь_к_сертификату% — полный путь к файлу сертификата.
Чтобы применить изменения, выполните команду:
sudo update-ca-certificates
Перезапустите браузер и проверьте доверие сертификату, открыв адрес брокера Термит.
Для систем Linux иногда необходима дополнительная ручная конфигурация хранилищ браузеров Firefox и Chrome\Chromium:
|
Подробнее об установке сертификата можно прочесть на официальном сайте
Скопируйте корневой сертификат в хранилище сертификатов с помощью команды ниже. Сертификат должен быть в формате .CRT
.
sudo cp %путь_к_сертификату% /etc/pki/ca-trust/source/anchors/
Обновите сертификаты с помощью команды:
sudo update-ca-trust
Запустите сертификат двойным нажатием на него и выберите опцию Установить сертификат.
Выберите опцию Текущий пользователь:
При работе с правами администратора установка возможна в хранилище сертификатов компьютера (для всех пользователей). |
Выберите опцию Поместить все сертификаты в следующие хранилище, нажмите Обзор и выберите Доверенные корневые центры сертификации.
При наличии промежуточного центра сертификации повторите шаги выше, выбрав хранилище Промежуточные центры сертификации на шаге 3. |
Перезапустите браузер и проверьте доверие сертификату, открыв адрес брокера Термит.
Запустите сертификат двойным нажатием на него, сертификат будет добавлен в приложение Связка ключей.
Найдите в приложении добавленный сертификат или цепочку сертификатов.
Укажите необходимый уровень доверия.
Деинсталляция компонентов СТД "Термит" включает в себя удаление:
брокера;
агента;
клиента.
При необходимости удалите XQuartz и X2Go клиенты на MacOS. |
Чтобы удалить брокер терминального сервера:
Перейдите в каталог, куда был распакован дистрибутив.
Запустите скрипт с параметром uninstall
:
sudo ./install.sh uninstall
При деинсталляции брокера база данных удаляется вручную. Повторное использование базы данных для новой инсталляции невозможно. |
Чтобы удалить агент:
Перейдите в каталог, где был запущен скрипт установки агента.
Удалите с помощью команды:
sudo ./agent-installer linux-uninstall
Чтобы удалить агент:
Эта операция может быть выполнена только с правами администратора. |
Перейдите в каталог, куда был установлен агент.
Удалите с помощью команды:
.\agent-installer.exe windows-uninstall
Чтобы удалить клиент:
Откройте Finder.
В боковом меню Finder нажмите Программы.
Удалите клиент.
Чтобы удалить клиент:
Введите Панель управления в поле поиска на панели задач, а затем в списке результатов выберите Панель управления.
Перейдите в
.Удалите клиент.
Также можно удалить клиент в "тихом" режиме. Информация о ходе выполнения отображаться не будет. Для удаления в таком режиме добавьте параметр /S
: "C:\Program Files\termit-desktop\Uninstall Термит.exe" /S
.