...
Обновляем список пакетов
Блок кода language bash theme DJango # apt update
Устанавливаем пакет
Блок кода language bash theme DJango # apt install eltex-sorm2-replicator
После установки пакет нужно настроить и перезапустить сервис. При обновление пакета требуется ручной запуск. Конфигурационный файл лежит в директории /etc/eltex-sorm2-replicator/eltex-sorm2-replicator.json
Блок кода language yml theme DJango { "acct.address" : "0.0.0.0", "acct.port" : [41813], "acct.receive.buffer.byte" : 134217728, "web.monitoring.port" : 7071, "cluster.enable" : false, "cluster.eventBusPort" : 5802, "radius" : { "url": "jdbc:mysql://localhost/radius?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&socketTimeout=5000&autoReconnect=true&useSSL=false", "user": "javauser", "password": "javapassword", "max_pool_size": 16 }, "sql.ems" : { "url": "jdbc:mysql://localhost/eltex_ems?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&socketTimeout=5000&autoReconnect=true&useSSL=false", "user": "javauser", "password": "javapassword", "max_pool_size": 16 }, "sql.wireless" : { "url": "jdbc:mysql://localhost/wireless?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&socketTimeout=5000&autoReconnect=true&useSSL=false", "user": "javauser", "password": "javapassword", "max_pool_size": 16 }, "mongosql.sorm2" : { "connection_stringurl": "mongodbjdbc:mysql://localhost:27017/eltex_sorm2?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&socketTimeout=5000&autoReconnect=true&useSSL=false", "user": "javauser", "password": "javapassword", "max_pool_size": 16 }, "mongosql.pcrf" : { "connection_stringurl": "mongodbjdbc:mysql://localhost:27017/eltex_pcrf?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&socketTimeout=5000&autoReconnect=true&useSSL=false", "user": "javauser", "password": "javapassword", "max_pool_size": 16 }, "global.clients" : { "enabled" : false, "clients" : [ { "host" : "127.0.0.1", "port" : 11813, "secret": "eltex" } ] }, "sorm3" : { "enabled" : true, "host" : "127.0.0.1", "port" : 21, "period_s" : 900, "user" : "ftp", "pass" : "ftp", "acct_dir" : null }, "sorm2" : { "enabled" : true, "federated" : false }, "dpi.step.logic" : { "enabled" : false, "verbose" : false } }
- Блок «radius» содержит адрес подключения к БД radius в MySQL;
- Блок «sql.ems» содержит адрес подключения к БД eltex_ems в MySQL;
- Блок «sql.wireless» содержит адрес подключения к БД wireless в MySQL;
- Блок «mongoБлок «sql.sorm2» содержит адрес подключения к БД sorm2 в MongoDBMySQL;
- Блоке «mongoБлоке «sql.pcrf» содержит адрес подключения к БД pcrf в MongoDBMySQL;
- Блок «global.clients» активирует пересылку входящего потока RADIUS accounting на дополнительный сервер;
- Блок «sorm3» содержит настройки для подключения к FTP серверу;
- Блок «sorm2» активирует пересылку копии RADIUS accounting на региональные съемники. Активация требуется если оригинальные RADIUS accounting не проходит через съемник.
- "federated" : true/false, при включенной опции ищет съемники которые были заданны в личном кабинете в "Настройки" , затем вкладка "СОРМ-2"
- Блок «dpi.step.logic» активирует обогащение траффика для DPI.
enabled=false - не вычитывает SSID, высылает все пакеты, не подставляет новые статусы
enabled=true - вычитывает SSID, подcтавляет аргументы dpi и cms в radiusverbose=false - высылает пакет только если dpi = 1 (точка и ссид)
verbose=true - всегда высылает пакет, в пакете значения dpi 0 или 1
Для корректной работы модуля нужно изменить адреса подключения к БД и FTP серверу. Для подключения к кластеру MongoDB нужно указать адреса серверов через запятую, пример:
"connection_string": "mongodb://100.110.22.36:27017,100.110.22.37:27017/pcrf?replicaSet=WIFI"
Eltex-sorm2-replicator распределяет файл в папках FTP сервера по дням, чтобы не столкнуться с проблемой Все файлы в одной директории на FTP. Имя директории имеет вид yyyyMMdd (годМесяцДень). Если бы все файлы сохранялись в одной директории, то рано или позно мы бы уперлись в Maximum number of files per directory, значение которого варьируется в зависимости от типа файловой системы, или банальные неудобства (задержки) при навигации по файлам. Таким образом путь к файлу будет иметь вид yyyyMMdd/file.csv. Корневую директорию для файлоы на FTP сервере можно изменить в параметре acct_dir. Например, acct_dir: ACCO. Тогда путь к файлу будет иметь вид ACCO/yyyyMMdd/file.csv. По умолчанию acct_dir: null, путь к файлу yyyyMMdd/file.csv.
...
5.4 Настройка пересылки RADIUS accounting
5.4.1 Пересылка средствами сервиса eltex-pcrf (рекомендуемый способ)
Подсказка |
---|
Начиная с версии 1.32 в сервисе eltex-pcrf поддержана пересылка RADIUS accounting на указанный адрес:порт. Такой способ настройки проще, чем пересылка с помощью IP-tables и не вызывает конфликтов с правилами IP-tables для Docker (при установке SoftWlC в докере) |
Для настройки пересылки аккаунтинга с помощью eltex-pcrf нужно включить пересылку в конфигурации сервиса и выполнить перезапуск сервиса.
Если pcrf установлен как deb-пакет:
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
"acct.sorm.address" : "<IP Адрес хоста с sorm2 replicator>",
"acct.sorm.port" : 41813,
"acct.sorm.mirroring.enabled" : true,
|
Если сервис eltex-pcrf запущен в виде докер-контейнера
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
PCRF_acct.sorm.address=<IP хоста Sorm2>
PCRF_acct.sorm.port=41813
PCRF_acct.sorm.mirroring.enabled=true |
Далее нужно выполнить перезапуск сервиса
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
sudo service eltex-pcrf restart |
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
sudo ./eltex-softwlc-helper-docker_1.33.sh --recreate-service eltex-pcrf |
5.4.2 Пересылка с помощью IP-Tables
На серверах принимающих RADIUS accounting нужно настроить пересылку в Eltex-sorm2-replicator, при помощи набора правил iptables. Данные правила копируют оригинальный пакет пришедший на DST порт 1813 или 31813 и отправляют его на DST порт 41813 в Eltex-sorm2-replicator. У исходящего пакета производится подмена SRC и DST IP-адресов.
Настройку производим на RADIUS-серверах SoftWLC (Eltex-pcrf и Eltex-radius). Создаем файл IPTables-sorm2 с содержимым:
...
Для активации подключения к БД mongo SORM2 и подключения к API интерфейсу Eltex-sorm2-replicator, в конфигурационном файле "radius_nbi_config.txt" необходимо исправить следующие строки:
...
Нужно активировать подключение к БД mongo SORM2 и подключение к API интерфейсу Eltex-sorm2-replicator
Блок кода | ||||
---|---|---|---|---|
| ||||
#Eltex# Eltex.SORM2.replicator MongoDBMariaDB 'sorm2' connect* sorm2.mongodbjdbc.enabled=truedriver=org.gjt.mm.mysql.Driver sorm2.mongodbjdbc.uridbUrl=mongodbjdbc:mysql://localhost:270173306/eltex_sorm2 #Eltex.?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000 sorm2.jdbc.username=javauser sorm2.jdbc.password=javapassword sorm2.jdbc.maxPoolSize=48 sorm2.jdbc.inUse=yes # Eltex.SORM2.replicator host to use API* sorm2.enabled=true sorm2.url=http://192100.168110.1073.21180:7071 sorm2.username=admin sorm2.password=password #Для подключения к кластеру MongoDB нужно указать адреса серверов через запятую, пример: sorm2.mongodb.uri=mongodb://10.62.18.36:27017,10.62.18.37:27017/sorm2?replicaSet=WIFI |
Для применения конфигурации нужно перезапустить Tomcat7
...
nbi:
Блок кода | ||||
---|---|---|---|---|
| ||||
sudo service eltex-radius-nbi restart |
5.6 Настройка IP-адресов региональных съемников в ЛК B2B
...
Далее заполняем все поля. "Кодовое слово" - кодовое слово radius, будет передаваться вместе с атрибутами radius. Данные профилей сохраняются в коллекцию MongoDB сохраняются в БД eltex_sorm2.profiles.
1. "Имя" : имя съемника, обязательный параметр, после сохранения его изменить нельзя.
...
и нажимаем "Сохранить". Данные привязок профилей к доменам сохраняются MongoDB в БД eltex_sorm2.links. Один съемник может быть использован многократно в различных доменах.
...
Предупреждение | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||
Большая часть параметров кэшируется и инвалидируется только по времени.
Там где инвалидации кэша по запросу нет, запись будет жить со старыми параметрами в течение TTL, потом удалиться и при следующем обращении заново закачается из БД с новыми параметрами. То есть параметры DPI например, применяются не мгновенно, а в ближайшие 600 секунд. |
...