Общее описание

Система NAICE поставляется в виде образов для запуска контейнеров в системе контейнеризации и управления приложениями Docker. Для управления всеми компонентами системы используется плагин Docker Compose, предназначенный для решения различных задач для мультиконтейнерных приложений. БД Postgres может быть при необходимости установлена в виде приложения.

Для автоматизации установки используются плейбуки Ansible.

Установка

Ниже приведена инструкция по выполнению однохостовой установки.

Инструкция по установке с резервированием системы приведена в статье v0.8_3.6 Резервирование.

Установка Ansible

Для запуска плейбуков необходимо установить Ansible на хост, с которого есть доступ по SSH до целевого хоста.

Запускать плейбук непосредственно на целевом хосте не рекомендуется.

Рекомендуемая ОС хоста для запуска плейбука - Ubuntu 22.04 Jammy и новее.

Минимальная версия Ansible для корректной работы плейбуков установки 2.10.8.

Для корректной установки на ОС Astra Linux 1.7.5 / 1.7.6 требуется версия Ansible не выше 2.16.3.

Официальная документация по установке Ansible.

Помимо способов, описанных в документации, возможна установка ПО на Linux-хост через утилиту apt:

sudo apt install ansible

Пакет доступен в базовых репозиториях большинства дистрибутивов Linux.

Получение файлов для работы плейбука 

NAICE является лицензируемым продуктом, для активации функционала необходима лицензия. См. v0.8_ru_2. Лицензирование.

На момент установки наличие лицензии необязательно, активировать продукт можно.

До активации лицензии используется демо режим, в котором ограничено максимально количество сетевых устройств и активных эндпоинтов количеством 15 шт.

Для разворачивания системы необходимо поместить приложенный архив ansibleNaice-v0.8.tar.gz на хост, с которого будет осуществляться запуск плейбука, в отдельную папку.

ansibleNaice-v0.8.tar.gz

wget https://docs.eltex-co.ru/download/attachments/612051146/ansibleNaice-v0.8.tar.gz


Затем необходимо распаковать архив:

tar -xzvf ansibleNaice-v0.8.tar.gz

Предварительная подготовка перед установкой

Подготовка хоста, с которого будет выполняться запуск плейбуков Ansible

  1. Установите утилиту sshpass, если она не установлена, командой:

    sudo apt install sshpass


  2. Опционально: требуется только если планируется разворачивать СУБД Postgresql в виде deb-пакетов (по умолчанию установка выполняется в виде docker-контейнеров). Установите коллекции Ansible, необходимые для работы плейбуков:

    ansible-galaxy collection install community.postgresql

Настройка доступа к хостам для установки 

  1. Для настройки хоста, на который будет выполняться развертывание системы, требуется отредактировать файл hosts.yml. В переменной ansible_host необходимо указать IP-адрес или доменное имя целевого хоста:

    ---
    common:
      hosts:
        common_host:
          ansible_host: <IP-адрес или доменное имя хоста для NAICE>


    Указанный IP-адрес или доменное имя хоста будет добавлен в параметр в Subject Alternative Name при генерации самоподписанного сертификата во время установки сервисов NAICE. 


  2. Создать конфигурационный файл ansible.cfg из шаблона:

    cp -v ansible.cfg.template ansible.cfg


  3. Настроить режим доступа к хосту по SSH в файле ansible.cfg в зависимости от предпочитаемого варианта:
    1. по логину/паролю:

      [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)>


    2. по ключу (предварительно необходимо сгенерировать и поместить ключ на целевой хост):

      [defaults]
      inventory = hosts.yml
      host_key_checking = True
      private_key_file = <путь к файлу ключа>
      deprecation_warnings = False


  4. Проверить корректность указанных настроек и наличие доступа до удаленного хоста с помощью команд: 

    ansible all --list-hosts  # проверить список хостов
    ansible all -m ping       # проверить доступ до хостов

    Пример вывода, если хост доступен:

    common_host | SUCCESS => {
        "ansible_facts": {
            "discovered_interpreter_python": "/usr/bin/python3"
        },
        "changed": false,
        "ping": "pong"
    }

Проверка доступонсти центрального сервера лицензирования компании "Элтекс" (Online ELM):

Между NAICE и ELM должна быть обеспечена сетевая связность. Для проверки доступности можно выполнить на хосте с NAICE команду:

curl -k https://elm.eltex-co.ru:8099/elm/Hello

Если сервер ELM доступен, то вывод команды будет иметь вид:

{"status":2,"result":"OK","server-info":{"version":"1.5","build":"10","root":true,"serverType":"elm","daemonMode":"server","serverMode":"root","protocolSupported":2,"protocolActual":4,"server-type":"elm","protocol-supported":2,"protocol-actual":4}}

Настройка подключения к серверу лицензирования Onliine ELM через HTTP-proxy

Система NAICE поддерживает подключение к серверу лицензирования Online ELM через HTTP-proxy сервер

Поддерживаемые режимы работы:

Для настройки подключения через HTTP-proxy сервер необходимо задать следующие параметры в файле конфигурации group_vars/all.yml:

gulo_proxy_host: "<IP-адрес HTTP-proxy сервера>"
gulo_proxy_port: "<порт HTTP-proxy сервера>"
gulo_proxy_login: "<логин для аутентификации на HTTP-proxy сервере>"
gulo_proxy_password: "<пароль для аутентификации на HTTP-proxy сервере>"

По умолчанию все параметры имеют пустые значения, что означает прямое подключение к серверу Online ELM.

Если аутентифкация на HTTP-proxy сервере не используется - переменные gulo_proxy_login и gulo_proxy_password необходимо оставить пустыми.

Между  NAICE и HTTP-proxy сервером, через который будет проходить трафик до сервера Online ELM, должна быть обеспечена стабильная сетевая связность. Для проверки доступности сервера лицензирования через HTTPS-proxy сервер можно выполнить на хосте с NAICE следующие команды:

curl -k -x http://<IP адрес HTTP-proxy>:<порт HTTP-proxy> https://elm.eltex-co.ru:8099/elm/Hello
curl -k -x http://http://user:password@<IP адрес HTTP-proxy>:<порт HTTP-proxy>https://elm.eltex-co.ru:8099/elm/Hello

Если сервер Online ELM доступен, то вывод команды будет иметь вид:

{"status":2,"result":"OK","server-info":{"version":"1.5","build":"10","root":true,"serverType":"elm","daemonMode":"server","serverMode":"root","protocolSupported":2,"protocolActual":4,"server-type":"elm","protocol-supported":2,"protocol-actual":4}}

Указание адреса сервера лицензий (при лицензировании с 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"}

Замена сертификатов по умолчанию для работы протокола EAP-PEAP (опционально) 

  1. Для работы метода аутентифкации EAP-PEAP (по логину/паролю пользователя) требуется наличие валидного сертиката на стороне RADIUS-сервера NAICE. По умолчанию публичный сертифкат встроен в контейнер naice-radius и готов к работе. При необходимости замены данный сертифкат может быть заменен на другой. Для корректной установки потребуется:
    1. Сертификат корневого сервера ЦС;

    2. Сертификат для сервера NAICE;

    3. Приватный ключ сертификата сервера NAICE.

  2. Сертификаты требуется расположить в папке плейбуков Ansible roles/docker/files/tls.

  3. В секции переменных плейбука group_vars/all.yml, отвечающих за установку сертификатов для работы EAP-PEAP требуется указать переменные, чтобы включить интеграцию:

    # параметры сертификатов
    # требует настройки ТОЛЬКО ЕСЛИ планируется использовать сторонний сертификат сервера в radius
    # перед запуском плейбука требуется создать папку сертификатов на целевой машине и положить в неё все требуемые сертификаты
    # для включения установки сертификатов протокола EAP необходимо расположить файлы сертификатов сервера в папке ansible/roles/docker/files/tls
    radius_cert_dir_copy: false   # включить копирование сертификатов из директории ansible/roles/docker/files/tls
    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   # имя файла сертификата сервера


    Описание параметров, которые необходимо настроить для работы протокола EAP-TLS:

    ПараметрНазначение
    radius_cert_dir_copyПеременная, отвечающая за копирование сертификатов из папки на целевой хост и использование их в сервисе nacie-radius.
    radius_certs_ca_cert_fileИмя файла корневого сертификата ЦС.
    radius_certs_private_key_fileИмя файла приватного ключа сервера.
    radius_certs_private_key_password

    Пароль к файлу приватного ключа сервера. Если значение не указано, считается что пароль не используется. В пароле не допускается использовать символы: $, ', ", `, знаки скобок и пробел.

    radius_certs_certificate_fileИмя файла сертификата, который будет использоваться naice-radius при подключении пользователя по протоколу EAP-PEAP.


Добавление сертификатов для работы протокола EAP-TLS (опционально) 

  1. Для работы метода аутентификации EAP-TLS, настройка которой подробно рассмотрена в разделе v0.8_ru_4.7 Пример настройки EAP-TLS аутентификации, требуется выпустить сертификат, предназначенный для использования NAICE, и расположить его на хосте, с которого будет запускаться выполнение плейбука Ansible. Для корректной установки требуются:

    1. Сертификат корневого сервера ЦС;

    2. Сертификат для сервера NAICE;

    3. Приватный ключ сертификата сервера NAICE.

  2. Сертификаты требуется расположить в папке плейбуков Ansible roles/docker/files/eap-tls.

  3. В секции переменных плейбука 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Имя файла сертификата, который будет использоваться naice-radius при подключении пользователя по протоколу EAP-TLS.
    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_urlURL для обращения к 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, отличный от адреса управления.

Установка NAICE 

Для установки сервисов NAICE используется плейбук install-naice.yml. В зависимости от указанного в переменной externally_installed_postgres в файле group_vars/all.yml СУБД POstgresql может быть установлена в виде контейнера докер или в виде deb-пакетов. По умолчанию установка СУБД Postgresql выполняется в контейнере вместе с с остальными сервисами NAICE.

Запустите плейбук install-naice.yml для установки движка Docker, плагина Docker-compose и запуска через этот плагин сервисов NAICE:

Во время установки сервисов NAICE для пользовательских интерфейсов lemmus, gavia и larus автоматически выполняется генерация самоподписанного сертификата. При наличии собственного заверенного сертификата после установки сервисов предусмотрена возможность заменить самоподписанный сертификат на собственный. Подробную информацию об использовании сертификатов безопасности можно найти здесь.


Время запуска контейнеров в связи с использованием механизма healthcheck для проверки успешности старта сервисов может занять до нескольких минут. Дождитесь полного выполнения плейбука.

Проверка состояния сервисов после установки 

Проверить успешность запуска контейнеров можно, перейдя в директорию для установки NAICE (по умолчанию - /etc/docker-naice/ ) и выполнив команду для просмотра списка и статуса контейнеров docker compose ps -a. Вывод команды должен быть примерно следующим:

$ sudo docker compose ps -a
WARN[0000] /etc/docker-naice/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion 
NAME           IMAGE                                                    COMMAND                  SERVICE        CREATED       STATUS                 PORTS
naice-aquila   naice-release.registry.eltex.loc/naice-aquila:0.8        "java -cp @/app/jib-…"   naice-aquila   3 hours ago   Up 3 hours (healthy)   0.0.0.0:49->49/tcp, [::]:49->49/tcp, 0.0.0.0:8091-8092->8091-8092/tcp, [::]:8091-8092->8091-8092/tcp
naice-gavia    naice-release.registry.eltex.loc/naice-gavia:0.8         "java -cp @/app/jib-…"   naice-gavia    3 hours ago   Up 3 hours (healthy)   0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp
naice-gulo     naice-release.registry.eltex.loc/naice-gulo:0.8          "java -cp @/app/jib-…"   naice-gulo     3 hours ago   Up 3 hours (healthy)   0.0.0.0:8089-8090->8089-8090/tcp, [::]:8089-8090->8089-8090/tcp
naice-lemmus   naice-release.registry.eltex.loc/naice-lemmus:0.8        "java -cp @/app/jib-…"   naice-lemmus   3 hours ago   Up 3 hours (healthy)   0.0.0.0:8083->8083/tcp, [::]:8083->8083/tcp
naice-lepus    naice-release.registry.eltex.loc/naice-lepus:0.8         "java -cp @/app/jib-…"   naice-lepus    3 hours ago   Up 3 hours (healthy)   0.0.0.0:8087->8087/tcp, [::]:8087->8087/tcp, 0.0.0.0:67->1024/udp, [::]:67->1024/udp
naice-nats     naice-build-hosted.registry.eltex.loc/naice/nats:0.7.1   "docker-entrypoint.s…"   nats           3 hours ago   Up 3 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     naice-release.registry.eltex.loc/naice-ovis:0.8          "java -cp @/app/jib-…"   naice-ovis     3 hours ago   Up 3 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-radius   naice-release.registry.eltex.loc/naice-radius:0.8        "/docker-entrypoint.…"   naice-radius   3 hours ago   Up 3 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    naice-release.registry.eltex.loc/naice-ursus:0.8         "java -cp @/app/jib-…"   naice-ursus    3 hours ago   Up 3 hours (healthy)   0.0.0.0:8081-8082->8081-8082/tcp, [::]:8081-8082->8081-8082/tcp
naice-vulpus   naice-release.registry.eltex.loc/naice-vulpus:0.8        "java -cp @/app/jib-…"   naice-vulpus   3 hours ago   Up 3 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      naice-release.registry.eltex.loc/naice-web:0.8           "/docker-entrypoint.…"   naice-web      3 hours ago   Up 3 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.8Версия сервисов бэкенда (naice-gavia, naice-lemmus, naice-ovis, naice-ursus).

FRONTEND_VERSION_TAG

0.8Версия сервиса фронтенда (naice-web, известный как larus).
POSTGRES_VERSION_TAG0.8.4Версия контейнерезированного образа БД postgres.
RADIUS_VERSION_TAG0.8Версия контейнерезированного образа FreeRadius.
NATS_VERSION_TAG0.7.1Версия контейнерезированного образа NATS.
ELTEX_HUBhub.eltex-co.ru/naiceВнешний репозиторий со стабильными версиями сборок ПО.

BACKEND_HUB

ELTEX_HUBПеременная, хранящая текущий выбранный репозиторий для загрузки сервисов бэкенда.

FRONTEND_HUB

ELTEX_HUBПеременная, хранящая текущий выбранный репозиторий для загрузки сервиса фронтенда.
RADIUS_HUBELTEX_HUBПеременная, хранящая текущий выбранный репозиторий для загрузки контейнера с FreeRADIUS.
CI_HUBhub.eltex-co.ruВнешний репозиторий для сборок сопутствующих продуктов (PostgreSQL).
HOSTNAMEБерется значение имени хоста из /etc/hostname при установке плейбуком ansibleИмя хоста, на котором развернута система NAICE. Необходимо для лицензирования. Менять его после активации лицензии запрещено.

Переменные Gavia

GAVIA_PORT8080Порт, на котором работает сервис внутри контейнера. (предупреждение)
GAVIA_HOST_PORT8080Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом.

Переменные 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_DBursusНаименование БД, используемой сервисом.

URSUS_POSTGRES_JDBC_URL

jdbc:postgresql://{{ ansible_host }}:5432/ursusURL для взаимодействия с БД с помощью JDBC.
URSUS_GRPC_ADMIN_SERVICE_ADDRESSdns:/naice-ursus:8082Адрес GRPC-сервера сервиса naice-ursus. По этому адресу происходит взаимодействие naice-gavia и naice-ursus.
URSUS_OUI_UPDATE_TIME_S86400Периодичность обновления списка MAC OUI, с.
URSUS_OUI_UPDATETrueВключить/выключить обновление списка MAC OUI.
URSUS_OUI_UPLOAD_FILE_URLhttps://standards-oui.ieee.org/oui/oui.csvАдрес списка MAC OUI, который используется для обновления.
URSUS_EVENTS_CLEAN_CRON0 0 3 * * *Настройка интервала очистки таблицы событий в БД, по умолчанию раз в сутки в 3 часа.
URSUS_EVENTS_TO_DELETE_DAYS14Количество дней, в течении которых события храняться в БД.
URSUS_DEFAULT_EVENT_LOG_LOCALEruЯзык журнала событий, может принимать значения ru, en.

Переменные Lemmus

LEMMUS_PORT8083Порт, на котором работает сервис внутри контейнера. (предупреждение)
LEMMUS_HOST_PORT8083Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом.
LEMMUS_POSTGRES_USERNAMEursusПользователь для доступа сервиса в СУБД PostgreSQL.
LEMMUS_POSTGRES_PASSWORDursusПароль пользователя для доступа сервиса в СУБД PostgreSQL.
LEMMUS_ISSUER_URLhttps://{{ ansible_host }}:8083URL для запроса токена другими сервисами.
LEMMUS_REDIRECTShttps://{{ ansible_host }}:8080/actuator/health, https://{{ ansible_host }}:443/loginURL для перенаправления клиента после получения токена.
LEMMUS_ACCESS_TTL_S3600Время жизни токена в секундах.
LEMMUS_REFRESH_TTL_S7200Время в секундах, в течение которого токен можно продлить.

Переменные PostgreSQL

POSTGRES_USERpostgresПользователь, создаваемый при установке и настройке СУБД.
POSTGRES_PASSWORDpostgresПароль пользователя, создаваемый при установке и настройке СУБД.

Переменные Ovis

OVIS_PORT8084Порт, на котором работает сервис внутри контейнера. (предупреждение)
OVIS_HOST_PORT8084Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом.
OVIS_GRPC_PORT8085Порт, на котором работает GRPC для сервиса внутри контейнера. (предупреждение)
OVIS_GRPC_HOST_PORT8085Порт, в который пробрасывается порт GRPC для сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом.
OVIS_GRPC_SERVICE_ADDRESSdns:/naice-ovis:${OVIS_GRPC_PORT}Адрес, на который выполняется запрос о состоянии сервиса.
OVIS_CACHE_TTL_S86400

Время жизни кэша naice-ovis в секундах, в течение которого он хранит настройки аутентификации и авторизации. По истечении этого времени настройки перечитываются.

OVIS_SESSION_IDLE_S86400Время жизни неактивных сессии пользователей, с.
OVIS_POSTGRES_JDBC_URLjdbc:postgresql://{{ ansible_host }}:5432/ursusАдрес подключения к БД.
OVIS_POSTGRES_USERNAMEovisЛогин подключения к БД.
OVIS_POSTGRES_PASSWORDovisПароль подключения к БД.
OVIS_LDAP_ENABLE_CACHEtrueВключить кэширование атрибутов пользователя при обращении к внешнему источнику идентификации по протоколу LDAP.
OVIS_LDAP_CACHE_TTL_S10Время хранения в кэше информации об атрибутах пользователя, с.
OVIS_LDAP_CONNECT_TIMEOUT_MS3000Таймаут подключения к внешнему источнику идентификации по протоколу LDAP, мс.
OVIS_LDAP_READ_TIMEOUT_MS7000Таймаут чтения данных из внешнего источника идентификации по протоколу LDAP, мс.
OVIS_LDAP_REFERRAL_VALUEignore

Возможность перехода по реферальным ссылкам полученным от LDAP. 

Возможные значения: ignore - не следовать, follow - следовать.

OVIS_LDAP_POOL_SIZE10Размер пула коннектов к внешнему источнику идентификации типа LDAP.
OVIS_LDAP_POOL_MAX_SIZE10Максимально допустимое количество коннектов к внешнему источнику идентификаций типа LDAP.
OVIS_NODE_INTERFACE{{ ansible_host }}IP-адрес/DNS-имя интерфейса для взаимодействие с соседним инстансом при работе в схеме с резервированием.
OVIS_NODE_MEMBERS127.0.0.1IP-адреса/DNS-имена инстансов участвующих в резервировании.
OVIS_NODE_PORT5701Порт для взаимодействия с соседним инстансов при работе в схеме с резервирвоанием.
OVIS_NETLOGON_LIB_SOCKET_TIMEOUT_MS5000Таймаут обмена данными с внешним источником идентификации (типа Active Directory) по протоколу netlogon, мс.
OVIS_NETLOGON_LIB_CONNECT_TIMEOUT_MS5000Таймаут подключения к внешнему источнику идентификации (типа Active Directory) по протоколу netlogon, мс.
OVIS_NETLOGON_LIB_CLIENT_CACHE_ENABLEDtrueВключить кэширование сессии компьютера  при обращении к внешнему источнику идентификации (типа Active Directory) по протоколу netlogon, мс.
OVIS_NETLOGON_LIB_CLIENT_CACHE_TTL_S1800Время хранения в кэше сессии компьютера, с.
OVIS_NETLOGON_LIB_CLIENT_CACHE_PERIOD_S180Интервал проверки наличия в кэше сессии компьютера, с.
OVIS_NETLOGON_LIB_DNS_CACHE_TTL_S3600Время хранения в кэше информации о контроллерах домена после выполнения DNS-запроса типа SRV, с.
OVIS_NETLOGON_LIB_DNS_CACHE_PERIOD_S360Интервал проверки наличия в кэше информации о контроллерах домена после выполнения DNS-запроса типа SRV, с.

Переменные Larus (WEB)

LARUS_PORT4200Порт, на котором работает сервис внутри контейнера. (предупреждение)
LARUS_HOST_PORT80Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом.
FRONTEND_API_URLhttps://{{ ansible_host }}:8080/api/v1URL для взаимодействия с сервисом naice-gavia.
FRONTEND_AUTHORIZATION_URLhttps://{{ ansible_host }}:8083URL для редиректа на страницу авторизации.
FRONTEND_WEB_URLhttps://{{ ansible_host }}:443URL на котором работает WEB-интерфейс.

Переменные NATS

NATS_PORT4222Порт, на котором работает сервис. (предупреждение)
NATS_MONITORING_PORT8222Порт, через который выполняется мониторинг сервиса.
NATS_EXPORTER_PORT7777Порт, через который сервис отдает метрики в формате prometheus.
NATS_ADDRESSnats://naice-nats:${NATS_PORT}Адрес, на котором работает сервис.
NATS_PROMETHEUS_EXPORTER_ARGS"-connz -varz -channelz -serverz -subz"Аргументы командной строки, которые используется при формировании метрик prometheus. (предупреждение)

NATS_CLUSTER_PORT

6222Порт для взаимодействия nats в кластере.

Переменные Vulpus

VULPUS_PORT8086Порт, на котором работает сервис внутри контейнера. (предупреждение)
VULPUS_HOST_PORT8086Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом.
VULPUS_GRPC_PORT8088Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия по gRpc.
VULPUS_POSTGRES_USERNAMEvulpusЛогин для подключения к БД.
VULPUS_POSTGRES_PASSWORDvulpusПароль для подключения к БД.
VULPUS_POSTGRES_JDBC_URLjdbc:postgresql://{{ ansible_host }}:5432/lepusАдрес БД для подключения.
VULPUS_GRPC_SERVICE_ADDRESSdns:/naice-vulpus:${VULPUS_GRPC_PORT}Порт, на котором внутри контейнера работает gRpc-сервер.

Переменные Lepus

LEPUS_PORT8087Порт, на котором работает сервис внутри контейнера. (предупреждение)
LEPUS_HOST_PORT8087Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом.
LEPUS_REPOSITORY_BATCH_SIZE500Размер пакета сохранения проб в БД (количество).
LEPUS_POSTGRES_USERNAMElepusЛогин для подключения к БД.
LEPUS_POSTGRES_PASSWORDlepusПароль для подключения к БД.
LEPUS_POSTGRES_JDBC_URLjdbc:postgresql://{{ ansible_host }}:5432/lepusАдрес БД для подключения.
LEPUS_DHCP_PROBE_ENABLEDtrueВключение/отключение сбора DHCP-проб.
LEPUS_DHCP_PROBE_PORT1024Внутренний порт в контейнере для сбора DHCP-проб. В него пробрасывается порт сервиса из контейнера на хостовую машину.
LEPUS_DHCP_PROBE_HOST_PORT67Внешний порт сервиса для сбора DHCP-проб.
LEPUS_DHCP_PROBE_SCHEDULE_CLEAR_PROBES_AFTER_DAYS30Время хранения DHCP-проб в БД.
LEPUS_DHCP_PROBE_SCHEDULE_CLEAN_EXPIRED_CRON0 0 * * * *Расписание для запуска задачи по очистке устаревших DHCP-проб в БД.

Переменные Gulo

GULO_PORT8089Порт, на котором работает сервис внутри контейнера. (предупреждение)
GULO_HOST_PORT8089Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом.
GULO_GRPC_PORT8090Порт, на котором работает GRPC для сервиса внутри контейнера. (предупреждение)
GULO_GRPC_HOST_PORT8090Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом.
GULO_GRPC_SERVICE_ADDRESSdns:/naice-gulo:${GULO_GRPC_PORT}Адрес, на который выполняется запрос о состоянии сервиса.
GULO_ELM_SERVER_URLhttps://elm.eltex-co.ru:8099URL до сервера ELM.
GULO_ELM_PROXY_HOST
Адрес HTTP-proxy сервера
GULO_ELM_PROXY_PORT
Порт HTTP-proxy сервера
GULO_ELM_PROXY_LOGIN
Логин для аутентификации на HTTP-proxy сервере
GULO_ELM_PROXY_PASSWORD
Пароль для аутентификации на HTTP-proxy сервере
GULO_EPG_URLhttps://epg-service:8100Адрес сервиса EPG

Переменные Aquila

AQUILA_PORT8091Порт, на котором работает сервис внутри контейнера. (предупреждение)
AQUILA_HOST_PORT8091Порт, в который пробрасывается порт сервиса из контейнера на хостовую машину. Используется для взаимодействия с сервисом.
AQUILA_TACACS_PORT49Порт для обработки входящих запросов по протоколу TACACS+.
AQUILA_GRPC_PORT8092Порт, на котором работает GRPC сервиса.
AQUILA_GRPC_SERVICE_ADDRESSdns:/naice-aquila:${AQUILA_GRPC_PORT}Адрес, на котором работает GRPC сервиса.
AQUILA_CACHE_TTL_S300Время жизни кэша naice-ovis в секундах, в течение которого он хранит настройки аутентификации и авторизации. По истечении этого времени настройки перечитываются.
AQUILA_POSTGRES_JDBC_URLjdbc:postgresql://{{ ansible_host }}:5432/aquilaАдрес БД для подключения.
AQUILA_POSTGRES_USERNAMEaquilaЛогин для подключения к БД.
AQUILA_POSTGRES_PASSWORDaquilaПароль для подключения к БД.
AQUILA_POSTGRES_DBaquilaИмя БД для подключения
AQUILA_DB_POOL_SIZE25Количество коннектов для подключения к БД.
AQUILA_DB_POOL_MIN_IDLE5Минимальное количество коннектов для подлючения БД в режиме ожидания.
AQUILA_DB_POOL_IDLE_TIMEOUT60000Время ожидания ответа при подключении к БД, мс.
AQUILA_DB_POOL_CONNECTION_LIFETIME1800000Время жизни соединения к БД, с.
AQUILA_FLUSH_SEC60

Интервал сохранения сессий и аккаунтинга в БД, с.

AQUILA_SESSIONS_CLEAN_CRON0 0 * * * *Интервал очистки сессий и аккаунтинга из БД, по умолчанию каждый час.
AQUILA_SESSION_TO_DELETE_DAYS31Срок хранения информации о сессиях в БД.
AQUILA_ACCOUNTING_TO_DELETE_DAYS31Срок хранения информации об аккаунтинге в БД.

Переменные EPG

EPG_TAG

1.0-1 

Версия сервиса EPG
EPG_LOG_FILE_MAX_SIZE

10

Максимальный размер одного log файла в МБ
EPG_LOG_FILE_MAX_COUNT

4

Максимальное количество log файлов в ротации
EPG_KERNEL_LOG_LEVEL

info

Уровень логирования для логов типа "kernel" сервиса EPG
EPG_DEBUG_LOG_LEVEL

off

Уровень логирования для логов типа "debug" сервиса EPG
EPG_NETWORKING_LOG_LEVEL

info

Уровень логирования для логов типа "networking" сервиса EPG
EPG_HOST_PORT

8100

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

Переменные для настройки сертификата для HTTPS

SSL_CERT/etc/docker-naice/https/server.crtПуть до файла сертификата.
SSL_CERT_KEY/etc/docker-naice/https/server.keyПуть до файла закрытого ключа сертификата.
SSL_CERT_PASS
Пароль от закрытого ключа; по умолчанию  без пароля.

Переменные RADIUS

Общие переменные
RADIUS_AUTH_PORT1812Порт аутентификации для обработки RADIUS-запросов аутентификации. (предупреждение)
RADIUS_ACCT_PORT1813Порт для обработки RADIUS-аккаунтинга. (предупреждение)
RADIUS_EXPORTER_PORT9812Порт, через который сервис отдает метрики в формате prometheus.
RADIUS_LOG_PATH/var/log/radiusФайл на хостовой машине для хранения логов работы сервиса.
RADIUS_REST_OVIS_IP{{ ansible_host }}IP-адрес для подключения к сервису NAICE-Ovis. (предупреждение)
RADIUS_REST_OVIS_PORT8084Порт для подключения к сервису NAICE-Ovis.
RADIUS_POSTGRES_DB_HOST{{ ansible_host }}IP-адрес подключения к БД.
RADIUS_POSTGRES_DB_PORT5432Порт подключения к БД.
RADIUS_POSTGRES_DB_LOGINradiusЛогин для подключения к БД.
RADIUS_POSTGRES_DB_PASSWORDradiusПароль для подключения к БД.
RADIUS_POSTGRES_DB_NAMEursusНаименование БД для подключения. (предупреждение)
Переменные для настройки авторизации по протоколу EAP-PEAP
RADIUS_CERTS_CA_CERT_FILEtrusted_server.crtНаименование файла внешнего сертификата CA.
RADIUS_CERTS_PRIVATE_KEY_FILEtrusted_server.kНаименование внешнего приватного ключа сертификата.
RADIUS_CERTS_PRIVATE_KEY_PASSWORDне заданоПароль к файлу приватного ключа сертификата сервера; оставьте пустым, если файл приватного ключа не запаролен.
RADIUS_CERTS_CERTIFICATE_FILEtrusted_server_chain.crtНаименование файла внешнего сертификата, который будет использовать FreeRADIUS.
Переменные для настройки авторизации по протоколу EAP-TLS
RADIUS_EAP_TLS_CERTS_CA_CERT_FILEtrusted_server.crtНаименование файла внешнего сертификата CA.
RADIUS_EAP_TLS_CERTS_PRIVATE_KEY_FILEtrusted_server.kИмя файла приватного ключа сертификата сервера.
RADIUS_EAP_TLS_CERTS_PRIVATE_KEY_PASSWORDне заданоПароль к файлу приватного ключа сертификата сервера; оставьте пустым, если файл приватного ключа не запаролен.
RADIUS_EAP_TLS_CERTS_CERTIFICATE_FILEtrusted_server_chain.crtНаименование файла внешнего сертификата, который будет использовать FreeRADIUS.
Переменные для работы с сервисом проверки статуса отозванных сертификатов (OCSP)
RADIUS_EAP_TLS_OCSP_ENABLEfalseВключение проверки статуса отзыва сертификата по протоколу OCSP.
RADIUS_EAP_TLS_OCSP_OVERRIDE_URLfalseИспользование URL сервиса OCSP из сертификата.
RADIUS_EAP_TLS_OCSP_URLhttp://127.0.0.1/ocspURL для обращения к сервису OCSP.
RADIUS_EAP_TLS_OCSP_SOFTFAILfalse"Мягкая" проверка доступа к серверу проверки OSCP - если сервер недоступен, процесс не завершится, а продолжится.
RADIUS_EAP_TLS_OCSP_TIMEOUT0Таймаут обращения к серверу OSCP.
RADIUS_EAP_TLS_OCSP_USE_NONCEtrueВключение одноразового кода в запрос - nonce, который может быть включен в соответствующий ответ.

Переменные уровня логирования сервисов

ROOT_LOGGING_LEVELDEBUGКорневой уровень логирования. Логи сервисов выше данного уровня не отображаются.
URSUS_LOGGING_LEVELDEBUGУровень логирования сервиса NAICE-Ursus.
GAVIA_LOGGING_LEVELDEBUGУровень логирования сервиса NAICE-Gavia.
LEMMUS_LOGGING_LEVELDEBUGУровень логирования сервиса NAICE-Lemmus.
OVIS_LOGGING_LEVELDEBUGУровень логирования сервиса NAICE-Ovis.
LEPUS_LOGGING_LEVELDEBUGУровень логирования сервиса NAICE-Lepus.
VULPUS_LOGGING_LEVELDEBUGУровень логирования сервиса NAICE-Vulpus.
GULO_LOGGING_LEVELDEBUGУровень логирования сервиса NAICE-Gulo.
AQUILA_LOGGING_LEVELDEBUGУровень логирования сервиса NAICE-Aquila.