| Примечание |
|---|
Начиная с версии 1.36 установка в Docker производится с помощью плейбуков Ansible. В случае наличия Docker версии SoftWLC, установленной с помощью скрипта установщика рекомендуется произвести миграцию в Docker версию Ansible по иструкции: v1.37_Миграция однохостовой установки из Docker в Docker Ansible Установка в Deb не поддерживается с версии 1.36. В случае наличия Deb версии SoftWLC необходимо мигрировать в версию Docker Ansible по иструкции: v1.37_Миграция решения из Deb в Docker с использованием Ansible Данная инструкция предназначенна именно для обновления схемы SoftWLC Docker Ansible. |
...
| Примечание |
|---|
Перед обновлением необходимо выполнить обновление пакетов на серверах с помощью команд sudo apt update && sudo apt upgrade |
...
Актуальная версия плейбуков
| Подсказка |
|---|
| Актуальная версия плейбуков: 1.37 от |
...
| Подсказка |
|---|
Узнать текущую версию скрипта и плейбуков можно с помощью команды: | Блок кода |
|---|
| sudo ./eltex-softwlc-helper-ansible-latest.sh --version |
Команда добавлена, начиная с 10 ноября 2025 года. |
...
| Примечание |
|---|
Во время обновления появятся 3 запроса на обновление параметров и конфигураций: 1) Запрос на создание бэкапа конфигурации. При выборе Y, нажатии на Enter, создастся архив с файлами конфигурации Ansible. Выбор по умолчанию - Y. Выбрать во время обновления - Y. | Блок кода |
|---|
| Do you want to backup your configuration files ? [Y/n] (default="Y"): Y |
2) Запрос на замену параметров в файлах директории softwlc-ansible/*. При выборе Y все файлы в директории softwlc-ansible (за исключением my_softwlc/*) будут заменены на дефолтные из архива. Выбор по умолчанию - N. Выбрать во время обновления - Y. | Блок кода |
|---|
| You already have a softwlc-ansible configuration directory. Do you want to replace this configuration with default parameters from the archive? [y/N] (default="N"): Y |
3) Запрос на замену параметров в файлах директории my_softwlc/*. При выборе Y все файлы в директории my_softwlc будут заменены на дефолтные из sample/*, удаляя все настройки пользователя, если таковые были. Выбор по умолчанию - N. Есть 2 способа обновить данный файл: - Первый - выбрать во время обновления - Y.
| Блок кода |
|---|
| You already have my_softwlс configurations. Do you want to replace this configuration with default parameters from inventory/sample ? [y/N] (default="N"): Y |
| Предупреждение |
|---|
После этого файл с пользовательскими наcтройками будет сохранён как all.yml.backup. Если ранее параметры были изменены пользователем - потребуется их восстановление из этого файла. |
- Второй - заранее привести файл all.yml к следующему виду (с указанием изменённых ранее параметров), выбрав после в данном пункте - N:
| Блок кода |
|---|
| language | bash |
|---|
| theme | RDark |
|---|
| firstline | 1 |
|---|
| title | inventory/my_softwlc/group_vars/all.yml |
|---|
| linenumbers | true |
|---|
| collapse | true |
|---|
| ---
# Данный файл содержит переменные, имеющие преймущество перед дефолтными, и настраивается скриптом и пользователем.
# =======================================================================================
# ПОЛЬЗОВАТЕЛЬСКИЕ НАСТРОЙКИ, ОТСУТСТВУЮЩИЕ В ДАННОМ ФАЙЛЕ, УКАЗЫВАТЬ ЗДЕСЬ
# =======================================================================================
# ==================================== Global params ====================================
# Путь установки SoftWLC
softwlc_installation_path: "/opt/eltex-softwlc"
ansible_playbook_dir: "/home/user/softwlc-ansible"
ems_ip: "{{ ansible_host }}"
external_ip: "{{ ansible_host }}"
virtual_ip: "192.168.1.100"
gateway_ip: "192.168.1.1"
# Standalone установка default
is_default_install: true
# Резервирование - GLOBAL
is_reservation_install: false
# Репликация Galera мультихост - GLOBAL
is_replication_galera_install: false
# Публичный репозиторий
eltex_hub: hub.eltex-co.ru/softwlc
# Приватные репозиторий (УДАЛИТЬ ПЕРЕД ПУБЛИКАЦИЕЙ)
# eltex_private_hub: ems-release.registry.eltex.loc
# eltex_private_hub: ems-feature.registry.eltex.loc
# Номер версии
swlc_version: "1.37"
ems_version: "3.41"
airtune_version: "1.7.4"
# Часовой пояс
tz: Asia/Novosibirsk
# ================================== Creds/service configs ==================================
# Сервисный логин/пароль администратора (Необходим для доступа пользователя в ЛК, NBI, Portal Constructor. Используется в eltex-johnny, eltex-mariadb, eltex-jobs)
nbi_softwlc_service_admin_login: admin
nbi_softwlc_service_admin_password: password
# Сервисный логин/пароль пользователя (Cервисная учетная запись предназначенная для взаимодействия системных модулей. Используется в eltex-wifi-cab, eltex-pcrf, eltex-mariadb)
nbi_softwlc_service_user_login: softwlc_service
nbi_softwlc_service_user_password: softwlc
# Пароли от root для mysql
mysql_root_user: root
mysql_root_password: root
mysql_old_root_password: root
# Учетная запись сервисов для доступа к БД
mysql_user: javauser
mysql_password: javapassword
# Доступ для базы radius
radius_db_login: radius
radius_db_password: radpass
# Параметры подключения к БД
mysql_server_host: eltex-mariadb
# Порт, на котором будет запущена БД в контейнере (также необходим для прямого подключения к БД)
mysql_container_port: 3306
# Порт, на который подключаются сервисы (в дефолтной установке равен mysql_container_port)
mysql_server_port: "{{ mysql_container_port }}"
mariadb_max_connections: 500
# Доступ в h2-консоль
bob_h2_user: sa
bob_h2_password: h2bob
# FTP Доступ
ems_vsftpd_ftp_user: ftp
ems_vsftpd_ftp_password: ftp
# Ключи radius/bras
ems_radius_client_secret: eltex
pcrf_aaa_secret: testing123
pcrf_bras_coa_secret: testing123
# Резервирование - rsync
rsync_backup_user: backup
rsync_backup_password: rspasswd
# Резервирование - ProxySQL
proxysql_admin_login: admin
proxysql_admin_password: admin
monitor_login: monitor
monitor_password: monitor
# Резервирование - PCRF Cluster
# Запуск кластеризации
pcrf_cluster_enable: false
# Порт для обмена данными с нодами в кластере
pcrf_cluster_event_bus_port: 5801
# Публичный адрес ноды
pcrf_cluster_event_bus_public_host: 192.168.0.1
pcrf_cluster_event_bus_host: 0.0.0.0
# Настройки режима кластера Hazelcast (Заполнены данными для примера. Настраиваются индивидуально)
# Публичный адрес ноды
pcrf_hz_network_public_address: 192.168.0.1
# Порт Hazelcast. 5701 по умолчанию.
pcrf_hz_network_port: 5701
# Список адресов членов кластера, включая себя
pcrf_hz_network_join_tcp_ip_members: 192.168.0.1,192.168.0.2
# Резервирование - APB Cluster
# Запуск кластеризации
apb_cluster_enabled: false
# Публичный адрес ноды
apb_cluster_public_node_address: 192.168.0.1
# Размер пачки событий для публикации
apb_cluster_notifications_publish_batch_size: 50
# Период публикации событий
apb_cluster_notifications_publish_period_seconds: 3
# Количество потоков обрабатывающих события
apb_cluster_notifications_processing_threads: 4
# Размер пачки обрабатываемых событий
apb_cluster_notifications_processing_batch_size: 100
# Адреса членов кластера. Указываются через индекс
apb_cluster_members_0: 192.168.0.1
apb_cluster_members_1: 192.168.0.2
# Конфгигурации NGW сервиса
# Конфигурационный файл для идентификации пользователя по входящему SMS (от пользователя)
ngw_sms_incoming_config: smsc.conf
# Конфигурационный файл для идентификации пользователя по исходящему SMS (пользователю)
ngw_sms_outgoing_config: smsc.conf
# Конфигурационный файл для идентификации пользователя по входящему звонку (от пользователя)
ngw_call_incoming_config:
# Конфигурационный файл для идентификации пользователя по исходящему звонку (пользователю)
ngw_call_outgoing_config:
# Конфигурационный файл для исходящей почты
ngw_email_outgoing_config: email.conf
# Настройки логирования сервисов
apb_log_level: INFO
bob_log_level: INFO
bruce_log_level: INFO
doors_log_level: INFO
disconnect_log_level: INFO
ems_log_level: INFO
jobs_log_level: INFO
johnny_log_level: INFO
logging_log_level: INFO
mercury_log_level: INFO
ngw_log_level: INFO
pcrf_log_level: INFO
portal_log_level: INFO
portal_constructor_log_level: INFO
nbi_log_level: INFO
wids_log_level: INFO
wificab_log_level: INFO
# Настройки логирования сервисов (консоль)
apb_console_level: INFO
bob_console_level: INFO
bruce_console_level: INFO
doors_console_level: INFO
disconnect_console_level: INFO
ems_console_level: INFO
jobs_console_level: INFO
johnny_console_level: INFO
logging_console_level: INFO
mercury_console_level: INFO
ngw_console_level: INFO
pcrf_console_level: INFO
portal_console_level: INFO
portal_constructor_console_level: INFO
nbi_console_level: INFO
wids_console_level: INFO
wificab_console_level: INFO
# Настройка перенаправления логов в Graylog
graylog_gelf_host: udp:localhost
graylog_gelf_port: 12201
graylog_gelf_level: "OFF"
restore_filename: backup_file.tar.gz
# Настройка проксирования radius
proxy_vars:
# Включение проксирования
radius_proxy_auth: 0
# Включение проксирования SSID(не может одновременно работать с обычным проксированием)
radius_proxy_ssid_enabled: 0
# Включение проксирования аккаунтинга
radius_proxy_acct: 0
# Настройка домена
radius_proxy_domain_regex: ^(.+\.)?enterprise\.root$
# failover либо load-balance
radius_proxy_auth_failover_type: fail-over
# Настройки radius-сервера на который будет осуществлять поксирование (в случае отсутствия параметров, будут поставлены дефолтные значения)
radius_proxy_host: 127.0.0.1
radius_proxy_port: 1812
radius_proxy_secret: eltex
# Для проксирования на AD выставить значение radius_proxy_auth_status_check в 'none'
radius_proxy_auth_status_check: status-server
radius_proxy_auth_response_window: 20
radius_proxy_auth_revive_interval: 60
radius_proxy_auth_check_interval: 30
radius_proxy_auth_check_timeout: 4
radius_proxy_auth_num_answers_to_alive: 3
radius_proxy_auth_zombie_period: 40
# -----------------------------------------------------------------------------------------------------
# Если необходимо настроить проксирование на группу серверов то аналогично настройкам выше
# добавить, но с указанием индекса radius_proxy<N>_...
#radius_proxy1_host: 127.0.0.2
#radius_proxy1_port: 1812
#radius_proxy1_secret: eltex1
#radius_proxy1_auth_status_check: status-server
#radius_proxy1_auth_response_window: 20
#radius_proxy1_auth_revive_interval: 60
#radius_proxy1_auth_check_interval: 30
#radius_proxy1_auth_check_timeout: 4
#radius_proxy1_auth_num_answers_to_alive: 3
#radius_proxy1_auth_zombie_period: 40
# -----------------------------------------------------------------------------------------------------
# Если необходимо проксировать разные домены - аналогично примерам выше, но с указанием постфикса в формате _N
#radius_proxy_domain_regex_2: ^(.+\.)?enterprise2\.root$
#radius_proxy_host_2: 127.0.0.2
#radius_proxy_port_2: 1812
#radius_proxy_secret_2: eltex1
# -----------------------------------------------------------------------------------------------------
# Для проксирования SSID:
#radius_proxy_ssid_value: EAP_TLS
#radius_proxy_ssid_failover_type: fail-over
#radius_proxy_ssid_host: 127.0.0.3
#radius_proxy_ssid_port: 1812
#radius_proxy_ssid_secret: eltex
# Для проксирования на AD выставить значение radius_proxy_ssid_status_check в 'none'
#radius_proxy_ssid_status_check: none
#radius_proxy_ssid_response_window: 20
#radius_proxy_ssid_revive_interval: 60
#radius_proxy_ssid_check_interval: 30
#radius_proxy_ssid_check_timeout: 4
#radius_proxy_ssid_num_answers_to_alive: 3
#radius_proxy_ssid_zombie_period: 40 |
|
...
Более подробные возможности работы через Ansible рассмотрены здесь
Миграция шаблонов
В версии 1.36 была проведена унификация шаблнов для ТД типа Fastpath WEP/WOP-2/12ac, WEP/WOP-xL, WEP-3ax и WOP-2ac-LR2/5
При обновлении с версии 1.35 и ниже необходимо произвести миграцию шаблонов.
| Предупреждение |
|---|
Миграция шаблонов производится только после обновления SoftWLC на актуальную версию. |
Для миграции старых шаблонов предполагается использовать специальный скрипт миграции, представленный ниже:
templates_migration.zip
1) Скрипт необходимо загрузить на сервер или виртуальную машину, где расположен установленный SoftWLC
2) Необходимо разархивировать полученный архив следующей командой:
| Блок кода |
|---|
|
unzip templates_migration.zip |
3) В конфигурационном файле необходимо настроить следующие параметры:
- mysql.host - адрес сервера, на котором установлена СУБД MariaDB
- mysql.port - порт сервера, на котором установлена СУБД MariaDB
- mysql.username - логин пользователя javauser СУБД MariaDB
- mysql.password - пароль пользователя javauser СУБД MariaDB
- docker.use_docker - режим работы скрипта
- При использовании установки в deb-пакетах, установить параметр на false
- При использовании установки в docker-контейнерах, установить параметр на true
- docker.docker_path - путь установки до папки eltex-ems. Необходимо сменить путь /home/tester/eltex-softwlc/ на актуальный для вас
4)Обновление pip и установка зависимостей, необходимых для запуска скрипта:
| Предупреждение |
|---|
Для запуска скрипта должен быть установлен python3 и pip3 (для ОС Astra Linux версия python 3.7) |
| Блок кода |
|---|
|
pip3 install --upgrade pip
pip3 install -r requirements.txt |
5) Запуск скрипта:
| Блок кода |
|---|
|
python3 migrate_script.py |
| Примечание |
|---|
| Рекомендуется ручная перепроверка шаблонов перед использованием |