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

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

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

Установка

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

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

Установка Ansible

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

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

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

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

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

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

sudo apt install ansible

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

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

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

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

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

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

naice-v0.8-ansible.tar.gz

Архив можно скачать командой:

wget https://docs.eltex-co.ru/download/attachments/590781551/naice-v0.8-ansible.tar.gz

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

tar -xzvf naice-v0.8-ansible.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"
    }


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

  • если PostgreSQL планируется устанавливать в docker-контейнере (по умолчанию):

    ansible-playbook install-naice.yml
  • если PostgreSQL планируется устанавливать в виде deb-пакетов:

    Установка PostgreSQL как сервиса доступна только на хост с операционной системой Ubuntu 22.04 и Ubuntu 24.04.

    ansible-playbook install-naice.yml -e "externally_installed_postgres=True"

Во время установки сервисов 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).

Переменные 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, который используется для обновления.

Переменные 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.

Переменные 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Время жизни данных в кеше.
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_NODE_INTERFACE{{ ansible_host }}Адрес интерфейса ноды (используется в схеме с резервирвоанием).
AQUILA_NODE_PORT127.0.0.1Список нод участников кластера (используется в схеме с резервирвоанием)).
AQUILA_NODE_PORT5703Порт ноды для взаимодействия (используется в схеме с резервирвоанием)).
Переменные настроек отправки аккаунтинга TACACS+ в формате syslog
SYSLOG_ENABLED:falseВключение syslog логгера.
SYSLOG_HOST:{{ ansible_host }}Адрес сервера syslog для отправки логов.
SYSLOG_PORT:514Порт сервера syslog.
SYSLOG_FACILITY:AUTHPRIVТип сообщений syslog.
SYSLOG_LEVEL:INFOУровень логирования syslog логгера.

Переменные для настройки сертификата для 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.
AQUILA_LOGGING_LEVELDEBUGУровень логирования сервиса NAICE-Aquila.



  • Нет меток