Параметры конфигурирования компонента
Параметры Шлюза задаются переменными, описанными в файле /etc/opt/termidesk-vdi/termidesk.conf, а также аргументами командной строки.
Перечень доступных переменных и аргументов приведен в таблице.
Информация в таблице относится к ранее установленному с Termidesk Шлюзу termidesk-wsproxy.
| Наименование переменной | Значение по умолчанию | Описание | Аргумент командной строки |
|---|---|---|---|
WSPROXY_PORT | 5099 | Порт прослушивания службы | Не задан |
WSPROXY_BIND_ADDRESS | 127.0.0.1 | Адрес прослушивания службы. При распределенной установке необходимо использовать значение 0.0.0.0, чтобы порт 5099 прослушивался не только localhost, если планируется принимать запросы на подключения с внешних систем (например, с балансировщиков нагрузки) | Не задан |
WSPROXY_HEALTH_CHECK_PORT | 8101 | Порт веб-сервера для обслуживания API-запросов по состоянию Шлюза ( По умолчанию переменная не используется (закомментирована) | Не задан |
WSPROXY_HEALTH_CHECK_CERT | /etc/opt/termidesk-vdi/wsproxy-healthcheck.pem | Путь к сертификату (открытому ключу), который используется для защиты подключения API-запросов по состоянию Шлюза ( По умолчанию переменная не используется (закомментирована). Примечание: сертификат - артефакт, содержащий информацию о владельце ключа и подтверждающий принадлежность ключа владельцу | Не задан |
WSPROXY_HEALTH_CHECK_KEY | /etc/opt/termidesk-vdi/wsproxy-healthcheck.key | Путь к закрытому ключу, который используется для защиты подключения API-запросов по состоянию Шлюза ( По умолчанию переменная не используется (закомментирована). Примечание: ключ - последовательность псевдослучайных чисел, сгенерированная особым образом | Не задан |
LOG_LEVEL | INFO | Аргумент командной строки применяется для изменения уровня логирования Шлюза. Изначально уровень логирования применяется из значения переменной
Пример строки: Затем выполнить перезапуск конфигурации и службы:
| --loglevel |
termidesk-gateway.Параметры конфигурирования нового Шлюза задаются из конфигурационного файла /etc/termidesk/termidesk-gateway.conf при условии определения переменных в файле /lib/systemd/system/termidesk-gateway.service.
При необходимости переопределить параметры запуска Шлюза через интерфейс командной строки, необходимо сначала остановить службу:
:~$ sudo systemctl stop termidesk-gateway
Помимо аргументов командной строки параметры запуска службы могут быть переопределены в unit-файле службы termidesk- gateway /lib/systemd/system/termidesk-gateway.service.
Пример файла /lib/systemd/system/termidesk-gateway.service:
[Unit]
Description=Termidesk Gateway
After=network.target
[Service]
Environment=wsServerIP=0.0.0.0
Environment=wsServerPort=5099
Environment=urlCheckToken=http: /127.0.0.1:8000/api/wsproxy/v1/verify
Environment=gatewayLogMode="-l"
Environment=wsIdleTimeout=30
Environment=mgtServerIP=0.0.0.0
Environment=mgtServerPort=8444
Environment=wssServerIP=0.0.0.0
Environment=wssServerPort=8443
Environment=sslKey=/etc/termidesk/ssl-cert-snakeoil.key
Environment=sslCert=/etc/termidesk/ssl-cert-snakeoil.pem
Environment=healthCheckAccessKey=a0e08d1b0e95dfea4f431d5849b934e09ac5067b
EnvironmentFile=-/etc/termidesk/termidesk-gateway.conf
Restart=on-failure
RestartSec=5
User=termidesk-gateway
Group=termidesk-gateway
ExecStart=/usr/bin/termidesk-gateway ${gatewayLogMode} \
-wsServerIP=${wsServerIP} -wsServerPort=${wsServerPort} \
-urlCheckToken=${urlCheckToken} -wsIdleTimeout=${wsIdleTimeout} \
-mgtServerIP=${mgtServerIP} -mgtServerPort=${mgtServerPort} \
-healthCheckAccessKey=${healthCheckAccessKey} \
-wssServerIP=${wssServerIP} \
-wssServerPort=${wssServerPort} \
-sslKey=/etc/termidesk/ssl-cert-snakeoil.key \
-sslCert=/etc/termidesk/ssl-cert-snakeoil.pem
[Install]
WantedBy=multi-user.target
Для задания параметров конфигурирования нового Шлюза из файла необходимо:
- создать каталог
/etc/termidesk/, если его нет:
:~$ sudo mkdir /etc/termidesk/
- создать пустой файл
/etc/termidesk/termidesk-gateway.conf:
:~$ sudo touch /etc/termidesk/termidesk-gateway.conf
- отредактировать файл
termidesk-gateway.conf, указав необходимые значения для параметров:
# Адреса, на которых принимать входящие подключения wsServerIP=0.0.0.0 # Прослушиваемый порт для входящих подключений wsServerPort=5099 # Адрес брокера, по которому будет осуществляться проверка пользовательских подключений в случае комплексной установки # Если программный комплекс Termidesk установлен в распределенном варианте, вместо 127.0.0.1 следует указать адрес балансировщика urlCheckToken=https://127.0.0.1/api/wsproxy/v1/verify # Интервал установки соединения (в секундах) wsIdleTimeout=30 # Режим журналирования. gatewayLogMode=-l - включить отладку уровня INFO. # gatewayLogMode="-d" - включить отладку уровня DEBUG. # Пустое значение параметра gatewayLogMode= - выключить отладку. # Адрес для доступа к API # Если нужно, чтобы доступ был у внешних систем, то вместо 127.0.0.1 следует указать 0.0.0.0 mgtServerIP=127.0.0.1 # Порт для доступа к API mgtServerPort=8102 # Ключ доступа для аутентификации запросов к API. Указание значения ключа обязательно # При задании ключа его размер должен составлять от 0 до 64 символа, должны использоваться символы в шестнадцатеричной системе (0-9, a-f) healthCheckAccessKey=a0e08d1b0e95dfea4f431d5849b934e09ac5067b
- выполнить перезагрузку службы и модуля:
:~$ systemctl daemon-reload & systemctl restart termidesk-gateway.service
Доступные параметры, а также аргументы командной строки для нового Шлюза приведены в таблице.
Для получения информации по доступным параметрам из интерфейса командной строки, необходимо выполнить команду:
:~$ termidesk-gateway --help
| Наименование переменной | Значение по умолчанию | Описание | Аргумент командной строки |
|---|---|---|---|
wsServerPort | 5099 | Порт прослушивания службы для входящих подключений | --wsServerPort |
| 127.0.0.1 | Адрес прослушивания входящих подключений при комплексной установке. При распределенной установке необходимо использовать значение | --wsServerIP |
| 10000 | Порт прослушивания службы для входящих подключений по протоколу SSL | --wssServerPort |
| 127.0.0.1 | Адрес прослушивания входящих подключений по протоколу SSL при комплексной установке. При распределенной установке необходимо использовать значение | --wssServerIP |
| Нет | Путь к файлу ключа для соединения SSL. Пример команды, в которой переопределены параметры запуска службы Шлюза, указаны пути к файлам ключа и сертификата и включен отладочный режим: :~$ termidesk-gateway --wssServerIP=0.0.0.0 --wssServerPort=8443 --sslKey=/etc/ssl/private/ssl-cert-snakeoil.key --sslCert=/etc/ssl/certs/ssl-cert-snakeoil.pem --debug При использовании сертификатов и ключей на файлы :~$ sudo chmod 644 /etc/termidesk/ssl-cert-snakeoil.key :~$ sudo chmod 644 /etc/termidesk/ssl-cert-snakeoil.pem И перезапустить :~$ sudo systemctl restart termidesk-gateway.service | --sslKey |
| Нет | Путь к файлу сертификата для соединения SSL. Пример команды для переопределения параметра приведен выше | --sslCert |
| Нет | Парольная фраза для соединения SSL | --sslPassPhrase |
| Нет | Путь к файлу с ключами Диффи-Хеллмана для соединения SSL | --sslDhParams |
| Нет | Путь к корневому сертификату, на котором выпущен сертификат, указанный в параметре Используется для проверки подлинности указанного в параметре | --sslCa |
| Нет | Используемый алгоритм для преобразований для соединения SSL | --sslCiphers |
urlCheckToken |
https://127.0.0.1/api/wsproxy/v1/verify
| IP-адрес или FQDN диспетчера Termidesk для обслуживания API-запросов по состоянию Шлюза в случае комплексной установки. Если программный комплекс Termidesk установлен в распределенном варианте, следует изменить значение | --urlCheckToken |
Не задано |
30
| Интервал установки соединения (в секундах) | --wsIdleTimeout |
gatewayLogMode | Нет | Активация и переключение режима журналирования. Значение задается через файл При значении « Активировать режим можно также через аргумент командной строки, для этого выполнить: Пример: Информация будет выводиться в интерфейс командной строки. Для прекращения вывода и отключения режима необходимо нажать сочетание клавиш <Ctrl>+<C> | |
mgtServerIP |
127.0.0.1
| Задание IP-адреса или FQDN доступа к API Шлюза. Код 200 в ответе на API-запрос свидетельствует о работоспособности Шлюза. При распределенной установке следует задать значение Запрос с параметрами по умолчанию успешно выполнится только с узла, на котором установлен Шлюз: :~$ wget http://localhost:8102/api/health Для того чтобы получить состояние Шлюза с другого узла, нужно задать параметру :~$ termidesk-gateway --wsServerIP=0.0.0.0 --wsServerPort=5099 --urlCheckToken=http://<FQDN_Узла>/api/wsproxy/v1/verify --wsIdleTimeout=30 --mgtServerIP=0.0.0.0 --mgtServerPort=8102 --healthCheckAccessKey=6622b09199c62bcf9418ad846dd0e4bbdfc6ee4b Значение также может быть переопределено через файл | --mgtServerIP |
mgtServerPort |
8102
| Задание порта доступа к API Шлюза. По умолчанию используется порт Пример команды для переопределения параметров запуска Шлюза для доступа к API из внешних систем: :~$ termidesk-gateway --wsServerIP=0.0.0.0 --wsServerPort=5099 --urlCheckToken=http://<FQDN_Узла>/api/wsproxy/v1/verify --wsIdleTimeout=30 --mgtServerIP=0.0.0.0 --mgtServerPort=8102 --healthCheckAccessKey=6622b09199c62bcf9418ad846dd0e4bbdfc6ee4b Значение также может быть переопределено через файл | --mgtServerPort |
healthCheckAccessKey
|
a0e08d1b0e95dfea...
| Задание ключа доступа для аутентификации запросов к API Шлюза. Пример команды для переопределения параметра приведен выше. Значение также может быть переопределено через файл При задании значения ключа следует руководствоваться правилом, что:
| --healthCheckAccessKey |
Не задан |
Нет
| Вывод версии Шлюза | --version |
Пример команды проверки состояния компонента через утилиту curl для нового Шлюза termidesk-gateway:
:~$ curl -v -s -X 'GET' "${HOSTNAME}:8102/api/health" -H 'accept: application/json' -H "Authorization: Token ${HEALTH_CHECK_ACCESS_KEY}" --fail -w "\n%{http_code}\n"