Общее описание
Система NAICE поставляется в виде образов для запуска контейнеров в системе контейнеризации и управления приложениями Docker. Для управления всеми компонентами системы используется плагин Docker Compose, предназначенный для решения различных задач для мультиконтейнерных приложений. БД Postgres может быть при необходимости установлена в виде приложения.
Для автоматизации установки используются плейбуки Ansible.
Установка
Ниже приведена инструкция по выполнению однохостовой установки.
Инструкция по установке с резервированием системы приведена в статье v0.7_3.6 Резервирование.
Установка Ansible
Для запуска плейбуков необходимо установить Ansible на хост, с которого есть доступ по SSH до целевого хоста.
Запускать плейбук непосредственно на целевом хосте не рекомендуется.
Рекомендуемая ОС хоста для запуска плейбука - Ubuntu 22.04 Jammy и новее.
Официальная документация по установке Ansible.
Помимо способов, описанных в документации, возможна установка ПО на Linux-хост через утилиту apt
:
sudo apt install ansible
Пакет доступен в базовых репозиториях большинства дистрибутивов Linux.
Получение файлов для работы плейбука
NAICE является лицензируемым продуктом, для активации функционала необходима лицензия. См. v0.7_2. Лицензирование.
На момент установки наличие лицензии необязательно, активировать продукт можно позже в момент первого входа в WEB-интерфейс. До активации лицензии функционал будет заблокирован.
Для разворачивания системы необходимо поместить приложенный архив "ansibleNaice.tar.gz" на хост, с которого будет осуществляться запуск плейбука, в отдельную папку.
Затем необходимо распаковать архив:
tar -xzvf ansibleNaice.tar.gz
Предварительная подготовка перед установкой
Подготовка хоста, с которого будет выполняться запуск плейбуков ansible
Установите утилиту sshpass, если она не установлена, командой:
sudo apt install sshpass
Установите коллекции Ansible, необходимые для работы плейбуков:
ansible-galaxy collection install community.postgresql
Конфигурирование доступа к хостам для установки
Для настройки хоста, на который будет выполняться развертывание системы, требуется отредактировать файл "hosts.yml". В переменной
ansible_host
необходимо указать IP-адрес или доменное имя целевого хоста:--- common: hosts: common_host: ansible_host: <IP-адрес или доменное имя хоста для NAICE>
Указанный IP-адрес или доменное имя хоста будет добавлен в параметр в Subject Alternative Name при генерации самоподписанного сертификата во время установки сервисов NAICE.
Создать конфигурационный файл "ansible.cfg" из шаблона:
cp -v ansible.cfg.template ansible.cfg
- Настроить режим доступа к хосту по SSH в файле "ansible.cfg" в зависимости от предпочитаемого варианта:
по логину/паролю:
[defaults] inventory = hosts.yml host_key_checking = False deprecation_warnings = False
и дополнить "hosts.yml":
--- common: hosts: common_host: ansible_host: <IP-адрес или доменное имя хоста для NAICE> ansible_user: <логин пользователя> ansible_ssh_pass: <пароль пользователя> ansible_become_pass: <пароль для повышения привилегий (sudo)>
по ключу (предварительно необходимо сгенерировать и поместить ключ на целевой хост):
[defaults] inventory = hosts.yml host_key_checking = True private_key_file = <путь к файлу ключа> deprecation_warnings = False
Проверить корректность указанных настроек и наличие доступа до удаленного хоста с помощью:
ansible all --list-hosts # проверить список хостов ansible all -m ping # проверить доступ до хостов
Пример вывода, если хост доступен:
common_host | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python3" }, "changed": false, "ping": "pong" }
Указание адреса сервера лицензий (при лицензировании с Offline ELM)
В случае, если выбрана схема лицензирования с Offline ELM, необходимо указать адрес сервера в файле переменных плейбука "group_vars/all.yml":
gulo_elm_server_url: https://<IP адрес Offline ELM>:<порт Offline ELM>
По умолчанию Offline ELM запущен на порту 8099.
Если лицензирование выполняется на центральном сервере компании "Элтекс" (Online ELM), то изменять значение переменной не нужно.
Между NAICE и ELM должна быть обеспечена сетевая связность. Для проверки доступности можно выполнить на хосте с NAICE команду:
curl -k https://<IP адрес ELM>:<порт ELM>/elm/Hello
Если сервер ELM доступен, то вывод команды будет иметь вид:
{"server-info":{"version":"1.4","build":"14","root":false,"serverType":"elm","daemonMode":"server","serverMode":"offline","protocolSupported":3,"protocolActual":3,"server-type":"elm","protocol-supported":3,"protocol-actual":3},"status":2,"result":"OK"}
Включение интеграции с MS AD (при необходимости)
При необходимости интеграции с Active Directory в файле переменных плейбука "group_vars/all.yml" требуется указать корректные переменные и включить интеграцию (v0.7_4.1 Пример настройки интеграции с Active Directory):
use_ms_ad: True radius_ms_ad_ip: '192.168.0.1' radius_kerberos_ad_user_login: 'fill_login' radius_kerberos_ad_user_password: 'fill_password' radius_kerberos_workgroup: 'WS' radius_kerberos_kdc: 'WS.LOC' radius_kerberos_admin_server: 'LABMS.WS.LOC' radius_samba_ou_structure: 'Computers'
Описание параметров интеграции с MS AD:
Параметр | Назначение |
---|---|
use_ms_ad | Включить интеграцию с MS AD, True / False. |
radius_ms_ad_ip | IP-адрес сервера MS AD. |
radius_kerberos_ad_user_login | Логин пользователя для подключения к серверу MS AD, в формате <имя пользователя>@<домен MS AD, в котором он находится>. |
radius_kerberos_ad_user_password | Пароль пользователя для подключения к серверу MS AD. |
radius_kerberos_workgroup | Домен MS AD, в котором будет выполняться авторизация пользователей, заглавными буквами. |
radius_kerberos_kdc | Полное доменное имя MS AD, заглавными буквами. |
radius_kerberos_admin_server | Полное имя сервера с MS AD вместе с полным именем домена, заглавными буквами. |
radius_samba_ou_structure | Подразделение (OU), в которое требуется добавить сервер NAICE при регистрации в MS AD. По умолчанию все компьютеры добавляются в подразделение Computers. |
Требования к учетной записи (УЗ), под которой осуществляется взаимодействие NAICE с MS AD
УЗ, которая используется для взаимодействия с MS AD должна иметь возможность добавлять компьютеры в домен MS AD.
УЗ требуется делегировать управление "Чтение информации о всех пользователях", используя функционал MS AD.
В соответствии с ограничениями по умолчанию в MS AD, любой авторизованный пользователь может добавить до 10 компьютеров в домен, поэтому его можно поместить в группу "Гости домена" или любую другую группу - он сможет добавлять компьютер в домен.
Если используется нестандартное подразделение (OU) для добавления сервера с NAICE в MS AD - УЗ должна иметь права добавлять компьютер в требуемое подразделение.
Требования к DNS серверу, который используется сервером NAICE при взаимодействии с MS AD
Взаимодействие с NIACE с MS AD осуществляется через доменные имена, указанные в параметрах "radius_kerberos_admin_server" и "radius_kerberos_admin_server".
DNS-сервер, к которому обращается NAICE должен корректно выполнять преобразование данных имен в IP-адреса.
Отдельно следует обратить внимание на то, что при наличии нескольких IP-адресов на сервере с MS AD, его DNS-сервер будет случайным образом выдавать данные адреса при разрешении данных имен. В этом случае требуется обеспечить IP-связность до всех адресов MS AD с сервера NAICE.
Узнать какой DNS-сервер используется можно командой "resolvectl status", при этом следует обратить внимание на то, что для разных интерфейсов могут использоваться различные IP-адреса DNS сервера.
Если в вводе команды ничего нет - возможно DNS-сервер прописан в файле "/etc/resolv.conf":
$ cat /etc/resolv.conf nameserver 192.168.0.1
Проверить корректность определения необходимых доменных имен, которые содержатся в переменных "radius_kerberos_kdc" и "radius_kerberos_admin_server" можно командами:
dig WS.LOC # Указать имя домена из переменной radius_kerberos_kdc dig LABMS.WS.LOC # Указать имя сервера MS AD из переменной radius_kerberos_admin_server
Доменные имена обязательно должны резолвиться в секции ответа "ANSWER SECTION".
В случае если имена не резолвится - необходимо обеспечить корректную работу DNS-сервера до установки Eltex-NAICE, в противном случае интеграция с MS AD будет неработоспособна.
Если в ответе возвращается несколько IP-адресов соответствующих имени - необходимо убедиться до все они доступны с сервера, где устанавливается Eltex-NAICE.
Добавление сертификатов для работы протокола EAP-TLS (необязательно)
Для работы метода аутентификации EAP-TLS, настройка которой подробно рассмотрена в разделе v0.7_4.7 Пример настройки EAP-TLS аутентификации, требуются выпустить сертификат, предназначенный для использования NAICE, и расположить его на хосте, с которого будет запускаться выполнение плейбука Ansible. Для корректной установки требуются:
Сертификат корневого сервера ЦС
Сертификат для сервера NAICE
Приватный ключ сертификата сервера NAICE.
Сертификаты требуется расположить в папке плейбуков Ansible "roles/docker/files/eap-tls".
В секции переменных плейбука "group_vars/all.yml", отвечающих за установку сертификатов для работы EAP-TLS требуется указать переменные, чтобы включить интеграцию:
# параметры для авторизации по протоколу EAP-TLS # параметры сертификатов # для включения установки сертификатов протокола EAP-TLS необходимо расположить файлы сертификатов сервера в папке ansible/roles/docker/files/eap-tls radius_eap_tls_cert_dir_copy: false # включить (true) или выключить (false) копирование сертификатов из директории ansible/roles/docker/files/eap-tls radius_eap_tls_certs_ca_cert_file: trusted_server.crt # имя файла корневого (CA) сертификата radius_eap_tls_certs_private_key_file: trusted_server.k # имя файла приватного ключа сертификата сервера radius_eap_tls_certs_private_key_password: # пароль к файлу приватного ключа сертификата сервера, оставьте пустым, если файл приватного ключа не запаролен radius_eap_tls_certs_certificate_file: trusted_server_chain.crt # имя файла серверного сертификата # настройки проверки статуса отозванных сертификатов по протоколу OCSP radius_eap_tls_ocsp_enable: 'true' # Включение проверки статуса отзыва сертификата по протоколу OCSP radius_eap_tls_ocsp_override_url: 'true' # Использовать URL сервиса OCSP из сертификата radius_eap_tls_ocsp_url: 'http://100.110.2.12/ocsp' # URL для обращения к сервису OCSP radius_eap_tls_ocsp_softfail: 'true' # Мягкая проверка доступа к серверу проверки OSCP, если сервер недоступен, процесс не завершится, а продолжится radius_eap_tls_ocsp_timeout: 0 # Таймаут обращения к серверу OSCP radius_eap_tls_ocsp_use_nonce: 'true' # Позволяет включить одноразовый код в запрос - nonce, который может быть включен в соответствующий ответ
Описание параметров, которые необходимо настроить для работы протокола EAP-TLS:
Параметр Назначение radius_eap_tls_cert_dir_copy Переменная, отвечающая за копирование сертификатов из папки на целевой хост и использование их в сервисе "nacie-radius" radius_eap_tls_certs_ca_cert_file Имя файла корневого сертификата ЦС. radius_eap_tls_certs_private_key_file Имя файла приватного ключа сервера. radius_eap_tls_certs_private_key_password Пароль к файлу приватного ключа сервера. Если значение не указано - считается что пароль не используется. В пароле не допускается использовать символы: $, ', ", `, знаки скобок и пробел.
radius_eap_tls_certs_certificate_file Имя файла сертификата сервера. radius_eap_tls_ocsp_enable Включить проверку статуса отзыва сертификата по протоколу OCSP (false | true). По умолчанию false (проверка отключена). radius_eap_tls_ocsp_override_url Откуда брать URL OCSP -сервера: false - использовать URL из сертификата клиента; true - использовать URL из настройки radius_eap_tls_ocsp_url. По умолчанию false. radius_eap_tls_ocsp_url URL для обращения к OCSP-серверу (разрешен только http режим). radius_eap_tls_ocsp_softfail Поведение в случае недоступности OCSP-сервера (false | true): false - прекратить аутентификацию, если не удается получить доступ; true - продолжить аутентификацию без проверки отзыва сертификата, если OCSP-сервер не доступен. radius_eap_tls_ocsp_timeout Таймаут обращения к серверу OCSP (секунды). По умолчанию 0. radius_eap_tls_ocsp_use_nonce Включить одноразовый код nonce в запрос на проверку сертификата для предотвращения подмены запроса (false | true): false - не включать, true - включить. По умолчанию true.
Прочие переменные (необязательно)
При необходимости измените значения других переменных окружения в "group_vars/all.yml". Например, можно изменить директорию установки сервисов NAICE или установить адрес NAICE, отличный от адреса управления.
Установка PostgreSQL
Предусмотрены два варианта дистрибуции СУБД - установка сервиса и разворачивание docker-контейнера. Рекомендуемый вариант - docker-контейнер.
A. Установка PostgreSQL в docker-контейнере
Убедитесь, что переменная "externally_installed_postgres" в файле "group_vars/all.yml" имеет значение false.
PostgreSQL будет установлен далее вместе с остальными сервисами NAICE.
B. Установка PostgreSQL как сервиса
Установка PostgreSQL как сервиса плейбуком доступна только на хост с операционной системой Ubuntu 22.04 и Ubuntu 24.04.
Запустите специальный плейбук, который установит postgresql-15, подготовит конфигурационные файлы, создаст необходимые БД и пользователей:
ansible-playbook common-naice-databases.yml
Установка сервисов NAICE
Запустите плейбук common-naice-services.yml
для установки движка Docker, плагина Docker-compose и запуска через этот плагин сервисов NAICE:
если PostgreSQL планируется устанавливать в docker-контейнере (рекомендуется):
ansible-playbook common-naice-services.yml
если PostgreSQL установлен как сервис ранее указанным плейбуком:
ansible-playbook common-naice-services.yml -e "externally_installed_postgres=true"
Во время установки сервисов NAICE для пользовательских интерфейсов lemmus, gavia и larus автоматически выполняется генерация самоподписанного сертификата. При наличии собственного заверенного сертификата после установки сервисов предусмотрена возможность заменить самоподписанный сертификат на собственный. Подробную информацию об использовании сертификатов безопасности можно найти здесь.
Время запуска контейнеров в связи с использованием механизма healthcheck для проверки успешности старта сервисов может занять до нескольких минут. Дождитесь полного выполнения плейбука.
Проверить успешность запуска контейнеров можно перейдя в директорию для установки NAICE (по умолчанию - /etc/docker-naice/
) и выполнив команду для просмотра списка и статуса контейнеров docker compose ps -a
. Вывод команды должен быть примерно следующим:
$ sudo docker compose ps -a NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS naice-gavia nexus.eltex.loc:9015/naice-gavia:0.7 "java -cp @/app/jib-…" naice-gavia 11 hours ago Up 11 hours (healthy) 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp naice-gulo nexus.eltex.loc:9015/naice-gulo:0.7 "java -cp @/app/jib-…" naice-gulo 11 hours ago Up 11 hours (healthy) 0.0.0.0:8089-8090->8089-8090/tcp, :::8089-8090->8089-8090/tcp naice-lemmus nexus.eltex.loc:9015/naice-lemmus:0.7 "java -cp @/app/jib-…" naice-lemmus 11 hours ago Up 11 hours (healthy) 0.0.0.0:8083->8083/tcp, :::8083->8083/tcp naice-lepus nexus.eltex.loc:9015/naice-lepus:0.7 "java -cp @/app/jib-…" naice-lepus 11 hours ago Up 11 hours (healthy) 0.0.0.0:8087->8087/tcp, :::8087->8087/tcp, 0.0.0.0:67->1024/udp, [::]:67->1024/udp naice-nats nexus.eltex.loc:9012/naice/nats:0.7.1 "docker-entrypoint.s…" nats 11 hours ago Up 11 hours (healthy) 0.0.0.0:4222->4222/tcp, :::4222->4222/tcp, 0.0.0.0:6222->6222/tcp, :::6222->6222/tcp, 0.0.0.0:7777->7777/tcp, :::7777->7777/tcp, 0.0.0.0:8222->8222/tcp, :::8222->8222/tcp naice-ovis nexus.eltex.loc:9015/naice-ovis:0.7 "java -cp @/app/jib-…" naice-ovis 11 hours ago Up 11 hours (healthy) 0.0.0.0:5701->5701/tcp, :::5701->5701/tcp, 0.0.0.0:8084-8085->8084-8085/tcp, :::8084-8085->8084-8085/tcp naice-postgres nexus.eltex.loc:9012/naice/postgres:0.7.1 "docker-entrypoint.s…" postgres 11 hours ago Up 11 hours (healthy) 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp naice-radius nexus.eltex.loc:9015/naice-radius:0.7 "/docker-entrypoint.…" naice-radius 11 hours ago Up 11 hours (healthy) 0.0.0.0:1812-1813->1812-1813/udp, :::1812-1813->1812-1813/udp, 0.0.0.0:9812->9812/tcp, :::9812->9812/tcp naice-ursus nexus.eltex.loc:9015/naice-ursus:0.7 "java -cp @/app/jib-…" naice-ursus 11 hours ago Up 11 hours (healthy) 0.0.0.0:8081-8082->8081-8082/tcp, :::8081-8082->8081-8082/tcp naice-vulpus nexus.eltex.loc:9015/naice-vulpus:0.7 "java -cp @/app/jib-…" naice-vulpus 11 hours ago Up 11 hours (healthy) 0.0.0.0:5702->5702/tcp, :::5702->5702/tcp, 0.0.0.0:8086->8086/tcp, :::8086->8086/tcp, 0.0.0.0:8088->8088/tcp, :::8088->8088/tcp naice-web nexus.eltex.loc:9015/naice-web:0.7 "/docker-entrypoint.…" naice-web 11 hours ago Up 11 hours (healthy) 80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp, 0.0.0.0:80->4200/tcp, [::]:80->4200/tcp
Приложения
Приложение A. Значение переменных окружения из .env
Условные обозначения:
- - не рекомендуется к редактированию.
Переменная | Значение по умолчанию | Описание |
---|---|---|
Переменные для дистрибуции | ||
BACKEND_VERSION_TAG | 0.7 | Версия сервисов бэкенда (naice-gavia, naice-lemmus, naice-ovis, naice-ursus) |
FRONTEND_VERSION_TAG | 0.7 | Версия сервиса фронтенда (naice-web, известный как larus) |
POSTGRES_VERSION_TAG | 0.7.1 | Версия контейнерезированного образа БД postgres |
RADIUS_VERSION_TAG | 0.7 | Версия контейнерезированного образа FreeRadius |
NATS_VERSION_TAG | 0.7.1 | Версия контейнерезированного образа NATS |
ELTEX_HUB | hub.eltex-co.ru/naice | Внешний репозиторий со стабильными версиями сборок ПО |
BACKEND_HUB | ELTEX_HUB | Переменная, хранящая текущий выбранный репозиторий для загрузки сервисов бэкенда |
FRONTEND_HUB | ELTEX_HUB | Переменная, хранящая текущий выбранный репозиторий для загрузки сервиса фронтенда |
RADIUS_HUB | ELTEX_HUB | Переменная, хранящая текущий выбранный репозиторий для загрузки контейнера с FreeRADIUS |
CI_HUB | hub.eltex-co.ru | Внешний репозиторий для сборок сопутствующих продуктов (PostgreSQL) |
Переменные Gavia | ||
GAVIA_PORT | 8080 | Порт, на котором работает сервис внутри контейнера. |
GAVIA_HOST_PORT | 8080 | Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом. |
Переменные Ursus | ||
URSUS_PORT | 8081 | Порт, на котором работает сервис внутри контейнера. |
URSUS_HOST_PORT | 8081 | Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом. |
URSUS_GRPC_PORT | 8082 | Порт, на котором работает GRPC для сервиса внутри контейнера. |
URSUS_GRPC_HOST_PORT | 8082 | Порт, в который пробрасывается порт GRPC для сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом. |
URSUS_POSTGRES_USERNAME | ursus | Пользователь для доступа сервиса в СУБД PostgreSQL. |
URSUS_POSTGRES_PASSWORD | ursus | Пароль пользователя для доступа сервиса в СУБД PostgreSQL. |
URSUS_POSTGRES_DB | ursus | Наименование БД, используемой сервисом |
URSUS_POSTGRES_JDBC_URL | jdbc:postgresql://{{ ansible_host }}:5432/ursus | URL для взаимодействия с БД с помощью JDBC. |
URSUS_GRPC_ADMIN_SERVICE_ADDRESS | dns:/naice-ursus:8082 | Адрес GRPC сервера сервиса naice-ursus. По этому адресу происходит взаимодействие naice-gavia и naice-ursus. |
URSUS_OUI_UPDATE_TIME_S | 86400 | Периодичность обновления списка MAC OUI, с |
URSUS_OUI_UPDATE | True | Включить/выключить обновление списка MAC OUI |
URSUS_OUI_UPLOAD_FILE_URL | https://standards-oui.ieee.org/oui/oui.csv | Адрес списка MAC OUI, который используется для обновления |
Переменные Lemmus | ||
LEMMUS_PORT | 8083 | Порт, на котором работает сервис внутри контейнера. |
LEMMUS_HOST_PORT | 8083 | Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом. |
LEMMUS_POSTGRES_USERNAME | ursus | Пользователь для доступа сервиса в СУБД PostgreSQL. |
LEMMUS_POSTGRES_PASSWORD | ursus | Пароль пользователя для доступа сервиса в СУБД PostgreSQL. |
LEMMUS_ISSUER_URL | https://{{ ansible_host }}:8083 | URL для запроса токена другими сервисами. |
LEMMUS_REDIRECTS | https://{{ ansible_host }}:8080/actuator/health, https://{{ ansible_host }}:443/login | URL для перенаправления клиента после получения токена. |
LEMMUS_ACCESS_TTL_S | 3600 | Время жизни токена в секундах. |
LEMMUS_REFRESH_TTL_S | 7200 | Время в секундах, в течении которого токен можно продлить. |
Переменные PostgreSQL | ||
POSTGRES_USER | postgres | Пользователь, создаваемый при установке и настройке СУБД. |
POSTGRES_PASSWORD | postgres | Пароль пользователя, создаваемый при установке и настройке СУБД. |
Переменные Ovis | ||
OVIS_PORT | 8084 | Порт, на котором работает сервис внутри контейнера. |
OVIS_HOST_PORT | 8084 | Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом. |
OVIS_GRPC_PORT | 8085 | Порт, на котором работает GRPC для сервиса внутри контейнера. |
OVIS_GRPC_HOST_PORT | 8085 | Порт, в который пробрасывается порт GRPC для сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом. |
OVIS_GRPC_SERVICE_ADDRESS | dns:/naice-ovis:${OVIS_GRPC_PORT} | Адрес, на который выполняется запрос о состоянии сервиса. |
OVIS_CACHE_TTL_S | 86400 | Время жизни кэша naice-ovis в секундах, в течении которого он хранит настройки аутентификации и авторизации. По истечении этого времени настройки перечитываются. |
OVIS_SESSION_IDLE_S | 86400 | Время жизни неактивных сессии пользователей, с. |
OVIS_POSTGRES_JDBC_URL | jdbc:postgresql://{{ ansible_host }}:5432/ursus | Адрес подключения к БД |
OVIS_POSTGRES_USERNAME | ovis | Логин подключения к БД |
OVIS_POSTGRES_PASSWORD | ovis | Пароль подключения к БД |
Переменные Larus (WEB) | ||
LARUS_PORT | 4200 | Порт, на котором работает сервис внутри контейнера. |
LARUS_HOST_PORT | 80 | Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом. |
FRONTEND_API_URL | https://{{ ansible_host }}:8080/api/v1 | URL для взаимодействия с сервисом naice-gavia. |
FRONTEND_AUTHORIZATION_URL | https://{{ ansible_host }}:8083 | URL для редиректа на страницу авторизации. |
FRONTEND_WEB_URL | https://{{ ansible_host }}:443 | URL на котором работает WEB-интерфейс. |
Переменные NATS | ||
NATS_PORT | 4222 | Порт, на котором работает сервис |
NATS_MONITORING_PORT | 8222 | Порт, через который выполняется мониторинг сервиса |
NATS_EXPORTER_PORT | 7777 | Порт, через который сервис отдает метрики в формате prometheus |
NATS_ADDRESS | nats://naice-nats:${NATS_PORT} | Адрес, на котором работает сервис |
NATS_PROMETHEUS_EXPORTER_ARGS | "-connz -varz -channelz -serverz -subz" | Аргументы командной строки, которые используется при формировании метрик prometheus |
NATS_CLUSTER_PORT | 6222 | Порт для взаимодействия nats в кластере |
Переменные Vulpus | ||
VULPUS_PORT | 8086 | Порт, на котором работает сервис внутри контейнера. |
VULPUS_HOST_PORT | 8086 | Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом. |
VULPUS_GRPC_PORT | 8088 | Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия по gRpc. |
VULPUS_POSTGRES_USERNAME | vulpus | Логин для подключения к БД. |
VULPUS_POSTGRES_PASSWORD | vulpus | Пароль для подключения к БД. |
VULPUS_POSTGRES_JDBC_URL | jdbc:postgresql://{{ ansible_host }}:5432/lepus | Адрес БД для подключения. |
VULPUS_GRPC_SERVICE_ADDRESS | dns:/naice-vulpus:${VULPUS_GRPC_PORT} | Порт, на котором внутри контейнера работает gRpc сервер. |
Переменные Lepus | ||
LEPUS_PORT | 8087 | Порт, на котором работает сервис внутри контейнера. |
LEPUS_HOST_PORT | 8087 | Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом. |
LEPUS_REPOSITORY_BATCH_SIZE | 500 | Размер пакета сохранения проб в БД (количество) |
LEPUS_POSTGRES_USERNAME | lepus | Логин для подключения к БД. |
LEPUS_POSTGRES_PASSWORD | lepus | Пароль для подключения к БД. |
LEPUS_POSTGRES_JDBC_URL | jdbc:postgresql://{{ ansible_host }}:5432/lepus | Адрес БД для подключения. |
LEPUS_DHCP_PROBE_ENABLED | true | Включение/отключение сбора DHCP проб. |
LEPUS_DHCP_PROBE_PORT | 1024 | Внутренний порт в контейнере для сбора DHCP проб. В него пробрасывается порт сервиса из контейнера на хостовую машину. |
LEPUS_DHCP_PROBE_HOST_PORT | 67 | Внешний порт сервиса для сбора DHCP проб. |
LEPUS_DHCP_PROBE_SCHEDULE_CLEAR_PROBES_AFTER_DAYS | 30 | Время хранения DHCP проб в БД. |
LEPUS_DHCP_PROBE_SCHEDULE_CLEAN_EXPIRED_CRON | 0 0 * * * * | Расписание для запуска задачи по очистке устаревших DHCP проб в БД. |
Переменные Gulo | ||
GULO_PORT | 8089 | Порт, на котором работает сервис внутри контейнера. |
GULO_HOST_PORT | 8089 | Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом. |
GULO_GRPC_PORT | 8090 | Порт, на котором работает GRPC для сервиса внутри контейнера. |
GULO_GRPC_HOST_PORT | 8090 | Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом. |
GULO_GRPC_SERVICE_ADDRESS | dns:/naice-gulo:${GULO_GRPC_PORT} | Адрес, на который выполняется запрос о состоянии сервиса. |
GULO_ELM_SERVER_URL | https://elm.eltex-co.ru:8099 | URL до сервера ELM. |
Переменные для настройки сертификата для HTTPS | ||
SSL_CERT | /etc/docker-naice/https/server.crt | Путь до файла сертификата |
SSL_CERT_KEY | /etc/docker-naice/https/server.key | Путь до файла закрытого ключа сертификата |
SSL_CERT_PASS | Пароль от закрытого ключа; по умолчанию - без пароля | |
Переменные RADIUS | ||
Общие переменные | ||
RADIUS_AUTH_PORT | 1812 | Порт аутентификации для обработки RADIUS-запросов аутентификации. |
RADIUS_ACCT_PORT | 1813 | Порт для обработки RADIUS-аккаунтинга. |
RADIUS_EXPORTER_PORT | 9812 | Порт, через который сервис отдает метрики в формате prometheus. |
RADIUS_LOG_PATH | /var/log/radius | Файл на хостовой машине для хранения логов работы сервиса. |
RADIUS_REST_OVIS_IP | {{ ansible_host }} | IP-адрес для подключения к сервису NAICE-Ovis. |
RADIUS_REST_OVIS_PORT | 8084 | Порт для подключения к сервису NAICE-Ovis. |
RADIUS_POSTGRES_DB_HOST | {{ ansible_host }} | IP-адрес подключения к БД. |
RADIUS_POSTGRES_DB_PORT | 5432 | Порт подключения к БД. |
RADIUS_POSTGRES_DB_LOGIN | radius | Логин для подключения к БД. |
RADIUS_POSTGRES_DB_PASSWORD | radius | Пароль для подключения к БД. |
RADIUS_POSTGRES_DB_NAME | ursus | Наименование БД для подключения. |
Переменные для настройки авторизации по протоколу EAP-PEAP | ||
RADIUS_CERTS_DIR_PATH | не задано | Директория, где располагается внешний (пользовательский) сертификат, который необходимо использовать при работе FreeRADIUS. По умолчанию не указывается, т.к. имеется встроенный валидный сертификат. |
RADIUS_CERTS_CA_CERT_FILE | trusted_server.crt | Наименование файла внешнего сертификата CA. |
RADIUS_CERTS_PRIVATE_KEY_FILE | trusted_server.k | Наименование внешнего приватного ключа сертификата. |
RADIUS_CERTS_PRIVATE_KEY_PASSWORD | не задано | Пароль к внешнему приватному ключу сертифката. |
RADIUS_CERTS_CERTIFICATE_FILE | trusted_server_chain.crt | Наименование файла внешнего сертификата, который будет использовать FreeRADIUS. |
Переменные для настройки авторизации по протоколу EAP-TLS | ||
RADIUS_EAP_TLS_CERTS_CA_CERT_FILE | trusted_server.crt | Имя файла корневого (CA) сертификата |
RADIUS_EAP_TLS_CERTS_PRIVATE_KEY_FILE | trusted_server.k | Имя файла приватного ключа сертификата сервера |
RADIUS_EAP_TLS_CERTS_PRIVATE_KEY_PASSWORD | Пароль к файлу приватного ключа сертификата сервера; оставьте пустым, если файл приватного ключа не запаролен | |
RADIUS_EAP_TLS_CERTS_CERTIFICATE_FILE | trusted_server_chain.crt | Имя файла серверного сертификата |
Переменные для работы с сервисом проверки статуса отозванных сертификатов (OCSP) | ||
RADIUS_EAP_TLS_OCSP_ENABLE | false | Включение проверки статуса отзыва сертификата по протоколу OCSP |
RADIUS_EAP_TLS_OCSP_OVERRIDE_URL | false | Использовать URL сервиса OCSP из сертификата |
RADIUS_EAP_TLS_OCSP_URL | http://127.0.0.1/ocsp | URL для обращения к сервису OCSP |
RADIUS_EAP_TLS_OCSP_SOFTFAIL | false | "Мягкая" проверка доступа к серверу проверки OSCP - если сервер недоступен, процесс не завершится, а продолжится |
RADIUS_EAP_TLS_OCSP_TIMEOUT | 0 | Таймаут обращения к серверу OSCP |
RADIUS_EAP_TLS_OCSP_USE_NONCE | true | Включить одноразовый код в запрос - nonce, который может быть включен в соответствующий ответ |
Переменные для настройки интеграции с MS AD | ||
RADIUS_MS_AD | False | Включение/отключение интеграции с MS AD. По умолчанию отключено. |
RADIUS_MS_AD_IP | 192.168.1.1 | IP-адрес сервера MS AD. |
RADIUS_KERBEROS_AD_USER | fill_login | Логин для подключения к серверу MS AD. |
RADIUS_KERBEROS_AD_USER_PASSWORD | fill_password | Пароль для подключения к серверу MS AD. |
RADIUS_KERBEROS_ADMIN_SERVER | LABMS.WS.LOC | Полный адрес сервера MS AD. |
RADIUS_KERBEROS_KDC | WS.LOC | Полный адрес домена MS AD, в котором будет работать Eltex-NAICE. |
RADIUS_KERBEROS_WORKGROUP | WS | Домен MS AD, в котором будет работать Eltex-NAICE. |
RADIUS_KERBEROS_LOGS_PATH | /var/log/kerberos | Файл на хостовой машине для хранения логов работы kerberos. |
Переменные уровня логирования сервисов | ||
ROOT_LOGGING_LEVEL | DEBUG | Корневой уровень логирования. Логи сервисов выше данного уровня не отображаются. |
URSUS_LOGGING_LEVEL | DEBUG | Уровень логирования сервиса NAICE-Ursus |
GAVIA_LOGGING_LEVEL | DEBUG | Уровень логирования сервиса NAICE-Gavia |
LEMMUS_LOGGING_LEVEL | DEBUG | Уровень логирования сервиса NAICE-Lemmus |
OVIS_LOGGING_LEVEL | DEBUG | Уровень логирования сервиса NAICE-Ovis |
LEPUS_LOGGING_LEVEL | DEBUG | Уровень логирования сервиса NAICE-Lepus |
VULPUS_LOGGING_LEVEL | DEBUG | Уровень логирования сервиса NAICE-Vulpus |