Точки подключений

Общие сведения о точках подключений

Настройка точек подключений позволяет регистрировать Шлюз на разных Фермах Termidesk (Termidesk VDI).

Добавление точки подключения выполняется одним из способов:

Добавление точки подключения осуществляется через объект gw (см. подраздел Объект gw).

При работе Шлюза совместно с Виртуальным Сервером (т.е. одновременным использованием и функционала Шлюза, и функционала балансировки) следует учесть особенности настройки:

  • на Шлюзе должен отсутствовать Серверный SSL-Профиль. В то же время у Виртуального Сервера он должен быть задан. Это нужно, поскольку Виртуальный Сервер является точкой входа для пользовательских подключений, и при такой конфигурации он будет принимать входящие зашифрованные соединения, расшифровывать их и передавать уже открытый трафик на Шлюз;

  • рекомендуется исключить возможность прямого обращения к Шлюзу из внешней сети, так как он обрабатывает незашифрованный трафик. Для этого в настройках Шлюза необходимо указать, чтобы он прослушивал подключения только на локальном интерфейсе (например, 127.0.0.1 или 127.0.0.2 и т.д.).

Добавление точки подключения из CLI

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

  • указание имени Шлюза:

set gw server <имя>
  • указание IP-адреса Виртуального Сервера:

set gw server <имя> vip ip <IP-адрес>
  • указание порта Виртуального Сервера:

set gw server <имя> vip port <порт>
  • указание существующего Серверного SSL-Профиля:

set gw server <имя> ssl-profile-id <SSL-Профиль>
  • указание существующего VRF (по умолчанию – default):

set gw server <имя> vrf <имя_VRF>
  • (опционально) настройка поддержки протокола UDP для протокола TERA на Шлюзе:

    • указание IP-адреса Виртуального Сервера для TERA:

      set gw server <имя> tera-udp vip ip <IP-адрес_TERA>
      IP-адрес Виртуального Сервера для TERA может принимать любое значение, т.е. IP-адрес может отличаться от IP-адреса Шлюза или может быть таким же. Указывается IP-адрес именно Виртуального Сервера, если Шлюз скрывается за Виртуальным Сервером.
    • указание порта Виртуального Сервера для TERA (по умолчанию – 443):

      set gw server <имя> tera-udp vip port <порт_TERA>
    • указание VRF для TERA (по умолчанию – default):

      set gw server <имя> tera-udp vrf <имя_VRF_TERA>
    • указание IP-адреса источника, т.е. адреса, с которого Шлюз устанавливает UDP-соединение с рабочим местом Termidesk:

      set gw server <имя> tera-udp src ip <IP-адрес_источника>
      Значение 0.0.0.0 указывает на использование всех IP-адресов.
    • указание порта источника (по умолчанию – 0):

      set gw server <имя> tera-udp src port <порт_источника>
    • указание VRF источника (по умолчанию – default):

      set gw server <имя> tera-udp src vrf <имя_VRF_источника>
  • настройка взаимодействия с компонентом «Универсальный диспетчер» Termidesk:

    • указание URL, поддерживаемого компонентом «Универсальный диспетчер» Termidesk с ролью «Портал пользователя» для обслуживания API-запросов по валидации подключений, запрашиваемых через Шлюз:

      set gw server <имя> checktoken url <URL>
      Следует использовать актуальные значения версий API для соответствующей версии компонента «Универсальный диспетчер» Termidesk.
    • указание существующего IP-Фонда, используемого для взаимодействия с компонентом «Универсальный диспетчер» Termidesk:

      set gw server <имя> checktoken ipset-id <IP-Фонд>
    • указание существующего Клиентского SSL-Профиля (по умолчанию – backend-default):

      set gw server <имя> checktoken ssl-profile-id <SSL-Профиль>
  • настройка переподключения Шлюза к рабочим местам Termidesk:

    • указание количества разрешенных переподключений Шлюза к рабочим местам Termidesk (значение от 0 до 10, по умолчанию – 0);

      Разные протоколы удаленного доступа могут требовать разных значений параметра:

      • для RDP нужно использовать ненулевое значение, поскольку некоторые функции (например, перенаправление USB в гостевую ОС рабочего места по протоколу RDP) могут требовать переподключения;

      • для TERA и SPICE нужно использовать значение по умолчанию (0).

      set gw server <имя> tcp-downstream reconnect <количество_переподключений>
    • указание существующего IP-фонда для взаимодействия с рабочими местами Termidesk:

      set gw server <имя> tcp-downstream ipset-id <IP-Фонд>
    • указание существующего Клиентского SSL-Профиля для взаимодействия с рабочими местами Termidesk (по умолчанию – backend-default):

      set gw server <имя> tcp-downstream ssl-profile-id <SSL-Профиль>
  • настройка клиента RabbitMQ:

    • указание URL-адреса для подключения к серверу RabbitMQ:

      set gw server <имя> rabbitmq url <URL-адрес>
    • указание имени пользователя для подключения к серверу RabbitMQ:

      set gw server <имя> rabbitmq user <имя>

      Так же имя пользователя может быть получено из Хранилища секретов. Пример значения параметра:

      • kv://secret/rabbit#username – для kv версии 1;

      • kv://secret/data/rabbit#username – для kv версии 2.

    • указание пароля пользователя для подключения к серверу RabbitMQ:

      set gw server <имя> rabbitmq pass <пароль>

      Так же пароль пользователя может быть получен из Хранилища секретов. Пример значения параметра:

      • kv://secret/rabbit#password – для kv версии 1;

      • kv://secret/data/rabbit#password – для kv версии 2.

    • указание существующего IP-Фонда для взаимодействия с RabbitMQ:

      set gw server <имя> rabbitmq ipset-id <IP-Фонд>
    • указание времени (в секундах) ожидания ответа от сервера RabbitMQ (значение от 1 до 60, по умолчанию – 10):

      set gw server <имя> rabbitmq timeout <время>
    • указание интервала (в секундах) обновления регистрационной информации (URL и другие данные) Шлюза (значение от 10 до 100000, по умолчанию – 60):

      set gw server <имя> rabbitmq refreshtime <интервал>
    • указание существующего Клиентского SSL-Профиля (по умолчанию – backend-default):

      set gw server <имя> rabbitmq ssl-profile-id <SSL-Профиль>
    • указание координатора маршрутизации сообщений, определенного в RabbitMQ:

      set gw server <имя> rabbitmq exchange <координатор>
    • указание ключа маршрутизации RabbitMQ, используемого для маршрутизации задачи в очереди:

      set gw server <имя> rabbitmq routingkey <ключ_маршрутизации>
    • указание способа передачи данных (по умолчанию – false):

      set gw server <имя> rabbitmq single <false/true>

      Возможные значения:

      • true – передача данных до первого подтверждения;

      • false – передача данных по циклу (бесконечно).

  • (опционально) указание комментария для сервера:

set gw server <имя> description <комментарий>
  • применение заданных настроек:

commit
  • сохранение настроек:

write

Пример конфигурации Шлюза:

set gw
set gw server GW-Farm-01
set gw server GW-Farm-01 ssl-profile-id
set gw server GW-Farm-01 vip ip 192.0.2.100
set gw server GW-Farm-01 vip port 1000
set gw server GW-Farm-01 vrf default
set gw server GW-Farm-01 websocket pingtimeout 30
set gw server GW-Farm-01 checktoken url https://192.0.2.20/api/wsproxy/v6.1/verify
set gw server GW-Farm-01 checktoken ssl-profile-id backend-default
set gw server GW-Farm-01 tcp-downstream reconnect 0
set gw server GW-Farm-01 tera-udp
set gw server GW-Farm-01 tera-udp vip ip 198.51.100.100
set gw server GW-Farm-01 tera-udp vip port 443
set gw server GW-Farm-01 tera-udp vrf default
set gw server GW-Farm-01 tera-udp src ip 203.0.113.49
set gw server GW-Farm-01 tera-udp src port 0
set gw server GW-Farm-01 tera-udp src vrf default

Добавление точки подключения из WUI

Для отображения списка точек подключений следует перейти «Настройки – Termidesk Шлюз – Точки подключений».

По умолчанию записи представлены в табличном виде и упорядочены согласно столбцу «Имя».

Основные параметры списка приведены в таблице (см. таблицу Основные параметры списка точек подключений).

Таблица 1. Основные параметры списка точек подключений
Параметр Описание

«Имя»

Наименование Шлюза

«IP-адрес»

IP-адрес Виртуального Сервера для Шлюза

«Порт»

Порт Виртуального Сервера для Шлюза

«VRF»

VRF для Шлюза

Для добавления точки подключения следует перейти «Настройки – Termidesk Шлюз – Точки подключений» и нажать экранную кнопку [Добавить].

Затем заполнить данные, перечисленные в столбце «Параметр» следующей таблицы (см. таблицу Данные для добавления точки подключения).

Таблица 2. Данные для добавления точки подключения
Параметр Описание

Общие настройки Шлюза

«Имя»

Наименование Шлюза

«IP-адрес»

IP-адрес Виртуального Сервера

«Порт»

Порт Виртуального Сервера

«TLS Профиль Сервера»

Серверный SSL-Профиль

«VRF»

Выбор VRF.

Значение по умолчанию: «default»

«Комментарий»

Комментарий для сервера

Настройки TERA

«TERA UDP»

Настройка поддержки протокола UDP для протокола TERA на Шлюзе.

Активация параметра открывает доступ к настройкам протокола TERA, отключение параметра закрывает доступ к настройкам протокола TERA

«TERA IP»

IP-адрес Виртуального Сервера для TERA.

Параметр «TERA IP» может принимать любое значение, т.е. IP-адрес может отличаться от IP-адреса Шлюза или может быть таким же. Указывается IP-адрес именно Виртуального Сервера, если Шлюз скрывается за Виртуальным Сервером.

Доступно при активированном параметре «TERA UDP»

«TERA Порт»

Порт Виртуального Сервера для TERA.

Значение по умолчанию: «443».

Доступно при активированном параметре «TERA UDP»

«VRF»

VRF для TERA.

Значение по умолчанию: «default».

Доступно при активированном параметре «TERA UDP»

«IP Источника»

Выбор IP-адреса источника, т.е. адрес, с которого Шлюз устанавливает UDP-соединение с рабочим местом Termidesk.

Значение «0.0.0.0» указывает на использование всех IP-адресов.

Доступно при активированном параметре «TERA UDP»

«Порт Источника»

Порт источника.

Значение по умолчанию: «0».

Доступно при активированном параметре «TERA UDP»

«VRF»

VRF источника.

Значение по умолчанию: «default».

Доступно при активированном параметре «TERA UDP»

Область «Проверка Токена»

«URL»

URL, поддерживаемый компонентом «Универсальный диспетчер» Termidesk с ролью «Портал пользователя» для обслуживания API-запросов по валидации подключений, запрашиваемых через Шлюз.

Следует использовать актуальные значения версий API для соответствующей версии компонента «Универсальный диспетчер» Termidesk.

«Фонд IP»

Выбор IP-Фонда, используемого для взаимодействия с компонентом «Универсальный диспетчер» Termidesk

«TLS Профиль»

Выбор Клиентского SSL-Профиля.

Значение по умолчанию: «backend-default»

Область «Подключение к рабочим местам»

«Количество переподключений»

Количество разрешенных переподключений Шлюза к рабочим местам Termidesk.

Возможные значения: от 0 до 10.

Значение по умолчанию: «0»

«Фонд IP»

Выбор IP-Фонда для взаимодействия с рабочими местам Termidesk

«TLS Профиль»

Выбор Клиентского SSL-Профиля.

Значение по умолчанию: «backend-default»

Настройки координатора

«URL»

URL-адрес для подключения к серверу RabbitMQ

«Пользователь»

Имя пользователя для подключения к серверу RabbitMQ.

Так же имя пользователя может быть получено из Хранилища секретов. Пример значения параметра:

  • «kv://secret/rabbit#username» – для kv версии 1;

  • «kv://secret/data/rabbit#username» – для kv версии 2

«Пароль»

Пароль пользователя для подключения к серверу RabbitMQ.

Так же пароль пользователя может быть получен из Хранилища секретов. Пример значения параметра:

  • «kv://secret/rabbit#password» – для kv версии 1;

  • «kv://secret/data/rabbit#password» – для kv версии 2

«Фонд IP»

Выбор IP-Фонда для взаимодействия с RabbitMQ

«Timeout»

Время (в секундах) ожидания ответа от сервера RabbitMQ.

Возможные значения: от 1 до 60.

Значение по умолчанию: «10»

«Интервал ожидания»

Интервал (в секундах) обновления регистрационной информации (URL и другие данные) Шлюза.

Возможные значения: от 10 до 100000.

Значение по умолчанию: «60»

«TLS Профиль»

Выбор Клиентского SSL-Профиля

«Exchange»

Координатор маршрутизации сообщений, определенный в RabbitMQ. Отвечает за маршрутизацию сообщений в разные очереди

«Ключ»

Ключ маршрутизации RabbitMQ, используемый для маршрутизации задачи в очереди.

Значение по умолчанию: «termidesk_appnode»

«Single»

Настройка способа передачи данных.

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

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

Копируются все исходные параметры, кроме имени.
  • отметить ее в списке и нажать экранную кнопку [Копировать];

  • в открывшейся форме заполнить имя создаваемой точки подключения. Если имя уже существует, конфигурация будет перезаписана.

Для изменения точки подключения нужно:

  • либо отметить ее в списке и нажать экранную кнопку [Изменить];

  • либо нажать левой кнопкой мыши на ее имя.

Для удаления точки подключения нужно:

Для удаления нескольких точек подключений отметить их в списке.
  • отметить ее в списке и нажать экранную кнопку [Удалить];

  • подтвердить удаление, нажав экранную кнопку [Удалить] на запрос об удалении.

Объект gw

Доступные команды объекта gw приведены в таблице (см. таблицу Доступные команды объекта gw).

Таблица 3. Доступные команды объекта gw
Команда Описание

Создание Шлюза

set gw server <имя>

Имя Шлюза

Настройка Шлюза

set gw server <имя> checktoken <значение>

Настройка взаимодействия с компонентом «Универсальный диспетчер» Termidesk.

Для параметра checktoken могут быть указаны следующие параметры:

  • ipset-id – IP-Фонд, используемый для взаимодействия с компонентом «Универсальный диспетчер» Termidesk;

  • ssl-profile-id – Клиентский SSL-Профиль (по умолчанию – backend-default);

  • url – URL, поддерживаемый компонентом «Универсальный диспетчер» Termidesk с ролью «Портал пользователя» для обслуживания API-запросов по валидации подключений, запрашиваемых через Шлюз

    Следует использовать актуальные значения версий API для соответствующей версии компонента «Универсальный диспетчер» Termidesk.

set gw server <имя> description <значение>

Комментарий для сервера

set gw server <имя> rabbitmq <значение>

Настройка клиента RabbitMQ.

Для параметра rabbitmq могут быть указаны следующие параметры:

  • exchange – координатор маршрутизации сообщений, определенный в RabbitMQ. Отвечает за маршрутизацию сообщений в разные очереди;

  • ipset-id – IP-Фонд для взаимодействия с RabbitMQ;

  • pass – пароль пользователя для подключения к серверу RabbitMQ;

  • refreshtime – интервал (в секундах) обновления регистрационной информации (URL и другие данные) Шлюза (значение от 10 до 100000, по умолчанию – 60);

  • routingkey – ключ маршрутизации RabbitMQ, используемый для маршрутизации задачи в очереди (по умолчанию – termidesk_appnode);

  • single – способ передачи данных (по умолчанию – false). Возможные значения:

    • true – передача данных до первого подтверждения;

    • false – передача данных по циклу (бесконечно);

  • ssl-profile-id – Клиентский SSL-Профиль (по умолчанию – backend-default);

  • timeout – время (в секундах) ожидания ответа от сервера RabbitMQ (значение от 1 до 60, по умолчанию – 10);

  • url – URL-адрес для подключения к серверу RabbitMQ;

  • user – имя пользователя для подключения к серверу RabbitMQ

set gw server <имя> ssl-profile-id <значение>

Серверный SSL-Профиль

set gw server <имя> tcp-downstream <значение>

Настройка переподключения Шлюза к рабочим местам Termidesk.

Для параметра tcp-downstream могут быть указаны следующие параметры:

  • ipset-id – IP-Фонд для взаимодействия с рабочим местом Termidesk;

  • reconnect – количество разрешенных переподключений сессии пользователя (значение от 0 до 10, по умолчанию – 0);

    Разные протоколы удаленного доступа могут требовать разных значений параметра:

    • для RDP нужно использовать ненулевое значение, поскольку некоторые функции (например, перенаправление USB в гостевую ОС рабочего места по протоколу RDP) могут требовать переподключения;

    • для TERA и SPICE нужно использовать значение по умолчанию (0).

  • ssl-profile-id – Клиентский SSL-Профиль (по умолчанию – backend-default)

set gw server <имя> tera-udp <значение>

Настройка поддержки протокола UDP для протокола TERA на Шлюзе.

Для параметра tera-udp могут быть указаны следующие параметры:

  • src ip – IP-адрес источника, т.е. адрес, с которого Шлюз устанавливает UDP-соединение с рабочим местом Termidesk;

    Для параметра src ip значение 0.0.0.0 указывает на использование всех IP-адресов.
  • src port – порт источника (по умолчанию – 0);

  • src vrf – VRF источника (по умолчанию – default);

  • vip ip – IP-адрес Виртуального Сервера для TERA;

    Параметр vip ip может принимать любое значение, т.е. IP-адрес может отличаться от IP-адреса Шлюза или может быть таким же. Указывается IP-адрес именно Виртуального Сервера, если Шлюз скрывается за Виртуальным Сервером.
  • vip port – порт Виртуального Сервера для TERA (по умолчанию – 443);

  • vrf – VRF для TERA (по умолчанию – default)

set gw server <имя> vip <значение>

Настройка Виртуального Сервера.

Для параметра vip могут быть указаны следующие параметры:

  • ip – IP-адрес Виртуального Сервера;

  • port – порт Виртуального Сервера

set gw server <имя> vrf <значение>

Имя VRF (по умолчанию – default)

set gw server <имя> websocket <значение>

Настройка подключения к компоненту «Клиент» Termidesk.

Для параметра websocket могут быть указаны следующие параметры:

  • pingtimeout – время ожидания (в секундах) соединения (значение от 0 до 100000, по умолчанию – 30)

Настройка клиента RabbitMQ

set gw rabbitmq exchange <значение>

Координатор маршрутизации сообщений, определенный в RabbitMQ. Отвечает за маршрутизацию сообщений в разные очереди

set gw rabbitmq ipset-id <значение>

IP-Фонд для взаимодействия с RabbitMQ

set gw rabbitmq pass <значение>

Пароль пользователя для подключения к серверу RabbitMQ.

Так же пароль пользователя может быть получен из Хранилища секретов

set gw rabbitmq refreshtime <значение>

Интервал (в секундах) обновления регистрационной информации (URL и другие данные) Шлюза (значение от 10 до 100000, по умолчанию – 60)

set gw rabbitmq routingkey <значение>

Ключ маршрутизации RabbitMQ, используемый для маршрутизации задачи в очереди (по умолчанию – termidesk_appnode)

set gw rabbitmq single <значение>

Способ передачи данных (по умолчанию – false).

Возможные значения:

  • true – передача данных до первого подтверждения;

  • false – передача данных по циклу (бесконечно)

set gw rabbitmq ssl-profile-id <значение>

Клиентский SSL-Профиль (по умолчанию – backend-default)

set gw rabbitmq timeout <значение>

Время (в секундах) ожидания ответа от сервера RabbitMQ (значение от 1 до 60, по умолчанию – 10)

set gw rabbitmq url <значение>

URL-адрес для подключения к серверу RabbitMQ

set gw rabbitmq user <значение>

Имя пользователя для подключения к серверу RabbitMQ.

Так же имя пользователя может быть получено из Хранилища секретов

Настройка управляющего сервера Шлюза

set gw mgt listen <значение>

Настройка прослушивания входящих подключений.

Для параметра listen могут быть указаны следующие параметры:

  • ip – IP-адрес прослушивания входящих подключений;

  • port – порт прослушивания входящих подключений

set gw mgt metrics <значение>

Настройка получения метрик Шлюза.

Для параметра metrics могут быть указаны следующие параметры:

  • path – путь для получения метрик Шлюза (по умолчанию – /api/health/metrics);

  • token – токен доступа для получения метрик Шлюза (так же токен может быть получен из Хранилища секретов)

    Для интеграции с Termidesk значение может быть получено из параметра METRICS_ACCESS_KEY, определенного в конфигурационном файле /etc/opt/termidesk-vdi/termidesk.conf узла компонента «Универсальный диспетчер» Termidesk.

set gw mgt path <значение>

Путь для получения статистики Шлюза (по умолчанию – /api/health)

set gw mgt ssl-profile-id <значение>

Серверный SSL-Профиль

set gw mgt token <значение>

Токен доступа для получения статистики Шлюза.

Для интеграции с Termidesk значение может быть получено из параметра HEALTH_CHECK_ACCESS_KEY, определенного в конфигурационном файле /etc/opt/termidesk-vdi/termidesk.conf узла компонента «Универсальный диспетчер» Termidesk.

Так же токен может быть получен из Хранилища секретов