Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Содержание



Версия документа

Дата выпуска

Содержание изменений

Версия 1.0

21.08.2017

Первая публикация.

Версия 1.1

21.09.2017

Выгрузка в СОРМ-3 изменений в записях пользователей Wi-Fi

Версия 1.3

24.10.2017

Добавление данных оператора в выгрузку СОРМ-3

Версия 1.4

07.12.2017

Добавление параметра sorm3.enabled

Версия 1.6

27.02.2018

Корректировка п.5.3.3

Версия 1.7

20.04.2018

Формата даты в выгрузках приведен к виду yyyy-MM-dd HH:mm:ss
Изменен период запуска eltex-radius-sorm3-federal с раз в 15 минут на раз в сутки, п.5.2.

Версия 1.814.05.2019

Добавлен DPI
Изменилась структура съемников


Общая архитектура

1.1 Сетевая архитектура решения

Рисунок 1 – Общая сетевая топология решения


Между ESR и точками доступа поднимаются SoftGRE-туннели сквозь L3-инфраструктуру оператора. От каждой точки доступа формируется два туннеля: Management-туннель для передачи трафика управления и Data-туннель для передачи абонентского трафика.
Внутри Management-туннеля передается трафик управления точкой доступа в отдельной сети управления. Данная подсеть невидима для L3-сегмента оператора, скрываясь за заголовками GRE-туннеля. Внутри Data-туннеля передается абонентский трафик. Этот трафик терминируется на ESR и далее маршрутизируется в сеть оператора (в сторону его NAT).

1.2 Порядок прохождения трафика в схеме BRAS L3



Рисунок 2 – Порядок прохождения трафика в схеме BRAS

Данная схема актуальна:

  • Для ТД «Элтекс» работающих c Hotspot авторизацией и интеграцией с HotWiFi;
  • Для ТД других производителей, включенных через ESR работающих в режиме clietn, с Hotspot авторизацией.

Клиент, подключается к открытой SSID, отправляет DHCP запрос. Этот запрос проходя через ESR-10 инкапсулируется в GRE туннель и передается к ESR. На ESR DHCP-relay перенаправляет запросы к серверу SoftWLC. Ответ проходит в обратном направлении до клиента. Клиенту выдается IP адрес.
При прохождении авторизации на WEB портале, HTTP запросы пользователя проксируются в ESR, при этом происходит замена Source адреса (USER IP) клиента на адрес ESR (PROXY IP). Поэтому между ESR и SoftWLC весь HTTP(S) трафик будет идти с IP адресом ESR а не клиента. Весь остальной трафик будет идти с USER IP адресом.
После прохождения авторизации, весь трафик пользователя в сторону NAT, будет идти без подмены Source адреса (USER IP). Если используется функционал URL фильтрация, то после прохождения авторизации HTTP(S) трафик пользователя проксируются в ESR, при этом происходит замена Source адреса (USER IP) клиента на адрес ESR (PROXY IP). Поэтому между ESR и NAT весь HTTP(S) трафик будет идти с IP адресом ESR а не клиента. Весь остальной трафик будет идти с USER IP адресом. При прохождении через NAT, для трафика пользователя будет устанавливаться «Белый» IP адрес NAT.
При снятии трафика СОРМ, должна учитываться эта реализация.

1.3 Порядок прохождения трафика в схеме ТД «Элтекс»


Рисунок 3 – Порядок прохождения трафика в схеме ТД «Элтекс»

Данная схема актуальна:

  • Для ТД «Элтекс» работающих c Hotspot авторизацией;
  • Для ТД «Элтекс» работающих с авторизацией Enterprise.

При прохождении авторизации на WEB портале, HTTP запросы пользователя проксируются в ТД. После прохождения авторизации весь трафик клиента будет идти с IP-адреса (User IP), который он получил по DHCP.

1.4 Передача трафика RADIUS accounting через сеть

На ТД «Элтекс» настроены SSID с авторизацией Enterprise, данные RADIUS accounting передаются с ТД в GRE туннеле до ESR (в VRF AP), а затем к SoftWLC в (VRF Baskbone).
На ТД «Элтекс» c Hotspot авторизацией данные RADIUS accounting передаются с ТД в GRE туннеле до ESR (в VRF AP), а затем к SoftWLC в (VRF Baskbone).
На ТД «Элтекс» c Hotspot авторизацией и интеграцией с HotWiFi данные RADIUS accounting формируются на ESR (BRAS), а затем передаются к SoftWLC в (VRF Baskbone).
На ТД других производителей, включенных через ESR в режиме clien, с Hotspot авторизацией, данные RADIUS accounting формируются на ESR (BRAS), а затем передаются к SoftWLC в (VRF Baskbone).
Таким образом весь accounting трафик проходит через VRF Core, от регионального ESR к SoftWLC.

Рисунок 4 – Порядок прохождения RADIUS accounting через сеть оператора



Рисунок 5 – Порядок прохождения RADIUS accounting в системе SoftWLC

1.5 Описание цепочки восстановления местоположения ТД


2 Описание пакета Eltex-sorm2-replicator


Eltex-sorm2-replicator является дополнительным модулем системы SoftWLC. Основные задачи данного модуля:

  • Пересылка копии RADIUS трафика в региональные съемники с учетом регионального признака;
  • Формирование выгрузки по соединениям абонентов (RADIUS accounting) для СОРМ-3,
  • Загрузка данных по соединениям абонентов (RADIUS accounting) на FTP сервер для системы ИС СОРМ «Январь» (МФИ-СОФТ);
  • Обогащение трафика, в RADIUS трафик добавляется флаг . Eltex-DPI-Step-Logic 0/1, который сообщает о том что трафик установлен  на контроль.

На серверах принимающих RADIUS accounting в системе SoftWLC, средствами iptables нужно настроить пересылку всего потока RADIUS accounting c DST портов 1813 и 31813 в сторону Eltex-sorm2-replicator на DST порт 41813. Eltex-sorm2-replicator принимает данный поток, извлекает данные RADIUS протокола формирует csv выгрузку  и определяет адрес съемника для дальнейшей пересылки пакета. Адрес съемника задается в настройках домена в системе SoftWLC (ЛК B2B). Поиск съемника осуществляется вверх по дереву (от домена точки доступа во всех родительских узлах). Таким образом настроить съемник нужно только в доменах уровня МРФ или только в корневом домене, если съемник используется один.

Информация о домене может быть из (в порядке уменьшения приоритета):

  • Наличие option82 в RADIS пакете;
  • RADIUS пакета от ТД «Элтекс», если он содержит Eltex-Ap-Domain;
  • Свойств L2 подсети (ЛК B2B), если присутствует nas ip и L2 интерфейс;
  • Дерева объектов в EMS, если присутствует устройство с IP-адресом совпадающим с nas ip.

После получения данных формируется пакет и отправлять на IP-адрес регионального съёмника, IP-адрес, DST порт и ключ RADIUS берутся из настроек съемника (ЛК B2B). Таким образом в регион уходит трафик предназначенный только для него, а не весь поток RADIUS accounting.
Информация по соединениям абонентов выгружается в файл:

  • IP_ACC_N_yyyyMMdd_Hhmm.csv;

где N ‐ IP‐адрес Eltex-sorm2-replicator в HEX, с которого выгружается данный файл.

При выставлено флаге DPI в EMS,  Eltex-sorm2-replicator   добавляется атрибут Eltex-DPI-Step-logic  и отправляет обогащенный  трафик на указанный  съемник,   далее по данному флагу будет происходить анализ трафика на стороне DPI.

Важно!

Если ни одним из способов не удалось найти Ap-Domain точки доступа, то трафик не может быть отправлен на Региональный съемник (привязки которых настраиваются в пункте 4.6).
Однако, в этом случае трафик все равно может быть отправлен на Глобальный съемник (global.clients в eltex-sorm2-replicator.json), если хотя бы один из них настроен в конфигурации. Глобальный съемник получает весь трафик, обрабатываемый sorm2-relicator'ом.

3 Описание пакета Eltex-radius-sorm3-federal


Eltex-radius-sorm3-federal является дополнительным модулем системы SoftWLC. Основная задача данного модуля – подготовка и выгрузка данных об абонентах и базовых станциях на FTP сервер для системы ИС СОРМ «Январь» (МФИ-СОФТ). Работу данного модуля можно разделить на две части:

  1. Выгрузка данных об абонентах и WIFI-базовых станциях из системы SoftWLC.

Доступ к базе данных, в которой хранится информация об абонентах осуществляется через общий Northbound-интерфейс системы, по протоколу SOAP/XML (спецификация представлена в отдельном документе). Доступ к данному API – это обязательное условие работы модуля Eltex-radius-sorm3-federal. Настройка доступа (URL) производится в системных настройках модуля. Запрос информации производится раз в сутки в 04:00.
Информация об hotspot абонентах выгружается в файлы:

  • ABONENTS_yyyyMMdd_Hhmm.csv;
  • ABONENTS_ID_yyyyMMdd_Hhmm.csv.

Информация об enterprise абонентах выгружается в файлы:

  • ABONENTS_ ENTERPRISE_yyyyMMdd_Hhmm.csv;
  • ABONENTS_ ENTERPRISE_ID_yyyyMMdd_Hhmm.csv.

Информация о ваучерах выгружается в файлы:

  • ABONENTS_ VOUCHER_yyyyMMdd_Hhmm.csv
  • ABONENTS_ VOUCHER_ID_yyyyMMdd_Hhmm.csv.

Информация о WIFI-базовых станциях выгружается в файлы:

  • BASE_STATION yyyyMMdd_Hhmm.csv;_
  • BASE_STATION_IP yyyyMMdd_Hhmm.csv;_
  • BASE_STATION_WIFI_ANTENNA yyyyMMdd_Hhmm.csv;_
  • BASE_STATION_WIFI_WRL yyyyMMdd_Hhmm.csv._


Тип выгрузки – инкрементальный. В первой выгрузке содержатся все записи, в последующих выгрузках измененные и новые записи. Данные о базовых станциях выгружаются каждый раз в полном объеме.

    2. Загрузка сформированных данных на FTP сервер.

4 Настройка Eltex-sorm2-replicator

4.1 Установка и настройка Eltex-sorm2-replicator

Установку нужно производить на ОС: Linux Ubuntu Server 16.04 x64 LTS. Для корректного формирования выгрузок, нужно настроить время и часовой пояс. Для работы модуля необходимо установить следующий пакет:
‒ Oracle JDK8.
Для установки Oracle JDK8  нужно выполнить следующие команды:

  1. Скачиваем необходимую версию (рассмотрим пример установки на jre-8u211-linux-x64.tar.gz) 
  2. Создаем директорию для java и распаковываем.
mkdir /usr/lib/jvm
tar -zxf /root/jre-8u211-linux-x64.tar.gz -C /usr/lib/jvm

3. Java машина должна расположиться в директории /usr/lib/jvm/jre1.8.0_211. Теперь нам необходимо создать символьные ссылки на установленную версию java. Делаем это с помощью update-alternatives.

update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jre1.8.0_211/bin/java" 1500
update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jre1.8.0_211/bin/javaws" 1500

4. Зададим переменную JAVA_HOME, которую используют некоторые приложения. Для этого добавляем в файл /etc/environment следующую строку.

JAVA_HOME="/usr/lib/jvm/jre1.8.0_211"

5. Сохраняем его и применяем изменение.

source /etc/environment

6. Проверяем версию.

java -version 
echo $JAVA_HOME

7. Увеличиваем размер буфера сетевых соединений и применяем изменения

  • sudo echo net.core.rmem_max=134217728 >> /etc/sysctl.conf

  • sudo echo net.core.rmem_default=134217728 >> /etc/sysctl.conf

  • sudo sysctl -p

Установка пакета

  1. Устанавливаем пакет Eltex-sorm2-replicator sudo dpkg -i eltex-sorm2-replicator_X.X-XXX_all.deb

  2. После установки пакет нужно настроить и запустить сервис. При обновление пакета требуется ручной запуск. Конфигурационный файл лежит в директории /etc/eltex-sorm2-replicator/eltex-sorm2-replicator.json

    {
      "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&autoReconnect=true",
        "user" : "javauser",
        "password" : "javapassword",
        "max_pool_size" : 16
      },
    
      "sql.ems" : {
        "url" : "jdbc:mysql://localhost/eltex_ems?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&autoReconnect=true",
        "user" : "javauser",
        "password" : "javapassword",
        "max_pool_size" : 16
      },
    
      "mongo.sorm2" : {
        "connection_string": "mongodb://localhost:27017/sorm2"
      },
    
      "mongo.pcrf" : {
        "connection_string": "mongodb://localhost:27017/pcrf"
      },
    
      "global.clients" : {
        "enabled" : true,
        "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" : true,
        "verbose" : true
      }
    }
    
  • Блок «radius» содержит адрес подключения к БД radius в MySQL;
  • Блок «sql.ems» содержит адрес подключения к БД eltex_ems в MySQL;
  • Блок «mongo.sorm2» содержит адрес подключения к БД sorm2 в MongoDB;
  • Блоке «mongo.pcrf» содержит адрес подключения к БД pcrf в MongoDB;
  • Блок «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 в radius

    • verbose=false - высылает пакет только если dpi = 1 (точка и ссид)
      verbose=true - всегда высылает пакет, в пакете значения dpi 0 или 1


Для корректной работы модуля нужно изменить адреса подключения к БД и FTP серверу. Для подключения к кластеру MongoDB нужно указать адреса серверов через запятую, пример:

"connection_string": "mongodb://10.62.18.36:27017,10.62.18.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.

4.2 Настройка  состава  колонок  в выгрузке IP_ACC_N_yyyyMMdd_Hhmm.csv

Для изменения списка  колонок нужно  внести изменения в конфигурационный  файл  /etc/eltex-sorm2-replicator/sorm3-columns.json   и перезапустить   сервис Eltex-sorm2-replicator. 

Содержимое файла sorm3-columns.json:

tester@tester-6:~$ cat /etc/eltex-sorm2-replicator/sorm3-columns.json          
{
  "CONNECTION_TIME": true,
  "REGION_ID": true,
  "POINT_ID": true,
  "LOGIN_TYPE": true,
  "SESSION_ID": true,
  "ALLOCATED_IPV4": true,
  "ALLOCATED_IPV6": true,
  "USER_NAME": true,
  "CONNECT_TYPE": true,
  "CALLING_NUMBER": true,
  "CALLED_NUMBER": true,
  "NAS_IPV4": true,
  "NAS_IPV6": true,
  "NAS_IP_PORT": true,
  "IN_BYTES_COUNT": true,
  "OUT_BYTES_COUNT": true,
  "USER_PASSWORD": true,
  "USER_EQ_MAC": true,
  "USER_EQ_VPI": true,
  "USER_EQ_VCI": true,
  "APN": true,
  "SGSN_IPV4": true,
  "SGSN_IPV6": true,
  "GGSN_IPV4": true,
  "GGSN_IPV6": true,
  "SERVICE_AREA_CODE": true,
  "LAC_START": true,
  "CELL_START": true,
  "TA_START": true,
  "WL_CELL_START": true,
  "WL_MAC_START": true,
  "LAC_END": true,
  "CELL_END": true,
  "TA_END": true,
  "WL_CELL_END": true,
  "WL_MAC_END": true,
  "PHONE_CARD_NUMBER": true,
  "IMSI": true,
  "IMEI": true,
  "ESN": true,
  "POOL": true,
  "L2_INTERFACE": false
}

По умолчанию  включены  все  колонки   кроме "L2_INTERFACE".

4.3 Настройка уведомлений при перезапуске сервиса Eltex-sorm2-replicator

Устанавливаем пакет mailutils ssmtp. Настраиваем адрес smtp сервера и логин/пароль для доступа к нему в /etc/ssmtp/ssmtp.conf

hostname=vagrant-ubuntu-xenial-64
mailhub=mail.eltex.nsk.ru
AuthUser=tester@eltex.nsk.ru
AuthPass=tester
UseTLS=NO
UseSTARTTLS=NO

Настраиваем адрес отправителя в /etc/ssmtp/revaliases:

root:tester@eltex.nsk.ru:mail.eltex.nsk.ru:25

Настраиваем адрес назначения в /etc/default/eltex-sorm2-replicator

#Send notification
NOTIFICATION_ADDR= "email@tester.ru"

Для проверки нужно остановить eltex-sorm2-replicator

service eltex-sorm2-replicator stop

Выполнить скрипт /usr/lib/eltex-sorm2-replicator/check.sh, сервис должен запустится, на адрес назначения придет уведомление.

4.4 Настройка пересылки RADIUS accounting

На серверах принимающих 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 с содержимым:

*raw
#-A OUTPUT -p udp --sport 1813 -j LOG --log-prefix "raw output : "
# отключаем обработку пакетов от локальных процессов conntrack`ом
-A OUTPUT -p udp --sport 1813 -j NOTRACK
-A OUTPUT -p udp --sport 31813 -j NOTRACK
COMMIT
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -p udp --dport 1813 -m mark --mark 1 -j MARK --set-mark 2
-A PREROUTING -p udp --dport 31813 -m mark --mark 1 -j MARK --set-mark 2
-A PREROUTING -p udp --dport 1813 -m mark --mark 0 -j MARK --set-mark 1
-A PREROUTING -p udp --dport 31813 -m mark --mark 0 -j MARK --set-mark 1
-A PREROUTING -p udp --dport 1813 -m mark --mark 1 -j TEE --gateway 127.0.0.1
-A PREROUTING -p udp --dport 31813 -m mark --mark 1 -j TEE --gateway 127.0.0.1
#-A OUTPUT -p udp --dport 1813 -j LOG --log-prefix "mangle output : "
COMMIT

*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
# Подменяет destination в маркированном пакете для sorm2
# send to other host
# 211 - сорм2
# 213 - этот хост
-A PREROUTING -p udp --dport 1813 -m mark --mark 1 -j DNAT --to 192.168.107.211:41813
-A PREROUTING -p udp --dport 31813 -m mark --mark 1 -j DNAT --to 192.168.107.211:41813
-A POSTROUTING -p udp --dport 41813 -m mark --mark 1 -j SNAT --to 192.168.107.213
COMMIT

Где:

192.168.107.211 – IP-адрес Eltex-sorm2-replicator
192.168.107.213 – IP-адрес RADIUS-сервера SoftWLC

Корректируем IP-адреса и загружаем правила из файла IPtables-sorm2:

iptables-restore < IPtables-sorm2

Для сохранения изменений после перезагрузки сервера, нужно установить пакет, а затем выполнить команду:

apt-get install iptables-persistent

service iptables-persistent save

Для включения маршрутизации ip пакетов нужно в файле

/etc/sysctl.conf

Раскомментировать строку

sysctl net.ipv4.ip_forward=1

Применить изменения

sudo sysctl -p

4.5 Настройка Eltex-radius-nbi

Для активации подключения к БД mongo SORM2 и подключения к API интерфейсу Eltex-sorm2-replicator, в конфигурационном файле "radius_nbi_config.txt" необходимо исправить следующие строки:

/etc/eltex-radius-nbi/radius_nbi_config.txt

Нужно активировать подключение к БД mongo SORM2 и подключение к API интерфейсу Eltex-sorm2-replicator

#Eltex.SORM2.replicator MongoDB 'sorm2' connect*
sorm2.mongodb.enabled=true
sorm2.mongodb.uri=mongodb://localhost:27017/sorm2
#Eltex.SORM2.replicator host to use API*
sorm2.enabled=true
sorm2.url=http://192.168.107.211: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

service tomcat7 restart

4.6 Настройка IP-адресов региональных съемников в ЛК B2B


Для корректно работы Eltex-sorm2-replicator, для всех доменов в которых расположены RADIUS клиенты, нужно задать IP-адреса съёмников, данная настройка производится в Личном кабинете B2B.
Для активации меню настройки нужно перейти в меню Настройки-> Система-> Система и активировать настройку «Настройка СОРМ-2 в «Дереве доменов»». Для применения, перезайти в Личный кабинет B2B.

Сначала необходимо создать профиль. Переходим во вкладу "СОРМ-2" и нажимаем кнопку "Добавить"

 

Далее заполняем все поля.  "Кодовое слово" - кодовое слово radius, будет передаваться вместе с атрибутами radius. Данные профилей сохраняются MongoDB sorm2.profiles.

Далее необходимо наш профиль закрепить в "Дереве доменов"  за доменом.  Нажимаем иконку и выбираем тот домен за которым хотим закрепить профиль. 
Данные привязок профилей к доменам сохраняются MongoDB sorm2.links.

5 Настройка Eltex-radius-sorm3-federal

5.1 Установка Eltex-radius-sorm3-federal


Установку нужно производить на ОС: Linux Ubuntu Server 16.04 x64 LTS. Для корректного формирования выгрузок, нужно настроить время и часовой поля. Для работы модуля необходимо установить следующие пакеты:
‒ Oracle JDK8;

Установка JDK8 описана в пункте 4.1 https://docs.eltex-co.ru/pages/viewpage.action?pageId=36480442#id-СОРМ.v2-_Toc4967248094.1УстановкаинастройкаEltex-sorm2-replicator

Запуск установки:

dpkg -i eltex-radius-sorm3-federal_X.X-XXX_all.deb.deb


Пример успешного выполнения:

root@vagrant-ubuntu-xenial-64:~$ sudo dpkg -i eltex-radius-sorm3-federal_1.8-248_all.deb
Selecting previously unselected package eltex-radius-sorm3.
(Reading database ... 63224 files and directories currently installed.)
Preparing to unpack eltex-radius-sorm3-federal_1.8-248_all.deb ...
Unpacking eltex-radius-sorm3 (1.8-248) ...
Setting up eltex-radius-sorm3 (1.8-248) ...
root@vagrant-ubuntu-trusty-64:/home/vagrant#

5.2 Настройка Eltex-radius-sorm3-federal

Конфигурационный файл лежит в директории

/etc/eltex-radius-sorm/eltex-radius-sorm3.conf

Содержимое конфигурационного файла:

app_name=eltex-radius-sorm3-1.8-federal.jar
nbi_ip=192.168.26.205
nbi_port=8080
auth_username=admin
auth_password=password
export_path=/var/log/eltex-radius-sorm3/export_data
domain=
ftp_url=ftp://acs:acs@192.168.26.26:/ftp/
start_count=128
max_count=1000

Где:

  • nbi_ip – IP-адрес сервера с Eltex-radius-nbi;
  • nbi_port – порт SOAP/XML Eltex-radius-nbi;
  • auth_username – логин;
  • auth_password – пароль;
  • ftp_url – настройки доступа до ftp серверам;
  • start_count –  начальное число записей  запрашиваемых  при  старте,  если  скорость  получения данные   высокая  число  увеличивается  в процессе работы;
  • max_count  – максимальное число   записей  запрашиваемых за один  запрос. 


В домашней директории FTP сервера, нужно создать директории:

  • BTS – директория выгрузки справочника базовых станций;
  • ABON – директория выгрузки справочника абонентов;


Выгрузка запускается раз в сутки в 04:00.
Для изменения интервала выгрузки нужно отредактировать задание в CRON:

cat /etc/cron.d/sorm_export
MAILTO=""
00 4 * * * root /usr/share/eltex-radius-sorm3/export_sorm.sh

Важно!

Рекомендуется выбрать период наименьшей загрузки сети и минимизировать возможность пересечения с другими мониторами EMS и cron softwlc.


5.3 Настройка системы управления EMS

5.3.1 Настройка поля «Регион»

Для корректной выгрузки поля REGION_ID в справочники, нужно заполнить поле «Регион» в свойствах домена. Для данного поля работает наследование сверху вниз. Поиск региона проходит от нижестоящего узла к вышестоящему, при нахождение первого узла с заполненным регионом поиск прекращается. Для заполнения поля регион нужно перейти в меню «Домены», Администрирование-> Права и пользователи-> Домены, и отредактировать домен.

Заполнение нужно произвести до запуска пакетов, так как полный список абонентов выгружается при первой выгрузке, в последующих выгрузкаx только измененные и новые записи. Если поле заполнить после запуска Eltex-radius-sorm3-federal, то в первой выгрузке оно будет пустым. Если поле заполнить после запуска Eltex-sorm2-replicator, то в выгрузки RADIUS accounting оно будет пустым.

5.3.2 Заполнение геоданных объектов

Для выполнение требований по СОРМ нужно заполнить адрес установки и географические координаты у ТД.
В привязках правил инициализации ТД добавлены новые поля «Широта» и «Долгота», при добавление нового правила эти поля обязательные для заполнения. Координаты нужно вводить в формате «37.587614». Для заполнения адреса можно воспользоваться функционалом заполнения по КЛАДРу (кнопка «Заполнить местоположение»), если адрес уже заполнен и нужны только географические координаты можно воспользоваться функционалом заполнения геокоординат (кнопка «Заполнения геокоординаты»). Функционал автоматического заполнения местоположения и геокоординат требует доступ до одного серверов:

так как запросы идут с сервера EMS. Выбор системы для геокодирования осуществляется в системных модулях EMS, по умолчанию используется Google.
Альтернативный способ получение координаты через https://yandex.ru/maps или https://www.google.ru/maps
Для активации, геоданных объектов и сделать поля обязательным для заполнения. необходимо выставить флаги «Включить геоданные объектов» и «Включить обязательность геоданных объектов» в системных модулях EMS


Информация в Привязках инициализации и вкладке Доступ меняется синхронно. Изменение в одном месте, автоматически изменяет данные в другом. Повторная инициализация ТД, добавленных до включения блока геоданных, не требуется.

5.3.3 Заполнение поля Framed-IP-Address для WPA Enterprise на ТД «Элтекс»


Для заполнения поля Framed-IP-Address в start пакетах RADIUS accounting нужно включить опцию «Accounting wait IP» в настройках SSID с типом авторизации WPA Enterprise. Данная опция активирует отправку start пакет только после получения IP-адреса клиентом. Опция «Accounting wait IP» отображается если выставлен флаг «Режим суперпользователя» в настройках апплета.

5.3.4 Активация монитора синхронизации устройств

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

5.3.5 Настройка DPI (Step Logic)

Чтобы включить DPI,  необходимо  активировать его  на точке доступа и  на SSID.

Активировать возможно тремя способами.

Первый способ

Включить DPI на конкретной точке доступа, для этого необходимо:

  1. Выбрать точку доступа и перейти во вкладку "Доступ"
  2. Нажать кнопку "Редактировать"  и установить флаг DPI (Step Logic), затем "Принять"  установленные изменения


Второй способ

Данный способ подходит для группового включения на нескольких точках.

  1. Перейти в необходимы домен (в примере addr1)

2. Затем во вкладке "Список устройств", выбрать устройства на которых нужно включить DPI. Для удобства выборки устройств, их можно отсортировать по типу.

3. Далее в "Групповых операциях"  находим "Смена параметров Доступ''  и нажимаем "Выполнить" 

 4. Устанавливаем 2 флага и жмем "Применить

  DPI Включен
     DPI Выключен


После этого на всех выбранных точках доступа будет включен DPI, далее необходимо включить его на SSID.

Это можно сделать через менеджер ssid.

  1. Переходим в "Менеджер SSID"


2. Выбираем SSID на котором хотим включить DPI, и нажимает "Редактировать"

3. Включаем "DPI (Step Logic)" и применяем изменения.

4. Далее необходимо обновить информацию на точках доступа, перейдем в "Привязки SSID",  выберем SSID в котором мы установили флаг и нажмем 

Способ создания SSID с включенным DPI

Данный способ подходит для группового включения на точках с помощью скриптов, путем создания SSID с включенным параметром DPI Step Logic с помощью API NBI.

В данном примере создается SSID с режимом безопасности wpa personal.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:nbi="http://nbi.radius.eltex.org" xmlns:xsd="http://response.object.nbi.radius.eltex.org/xsd">
   <soapenv:Header/>
   <soapenv:Body>
      <nbi:CreateSSID>
         <!--Optional:-->
         <nbi:name>Test_wpa</nbi:name>
         <!--Optional:-->
         <nbi:domain>root</nbi:domain>
         <!--Optional:-->
         <nbi:descr></nbi:descr>
         <!--Zero or more repetitions:-->
         <nbi:params>
            <xsd:name>DPI_Step_Logic</xsd:name>
            <xsd:value>true</xsd:value>
         </nbi:params>
            <nbi:params>
            <xsd:name>Security_Type</xsd:name>
            <xsd:value>1</xsd:value>
         </nbi:params>
          <nbi:params>
            <xsd:name>Broadcast_Key_Refresh_Rate</xsd:name>
            <xsd:value>0</xsd:value>
         </nbi:params>
          <nbi:params>
            <xsd:name>VAP_Status</xsd:name>
            <xsd:value>up</xsd:value>
         </nbi:params>  
          <nbi:params>
            <xsd:name>Radio</xsd:name>
            <xsd:value>ALL</xsd:value>
         </nbi:params>
      </nbi:CreateSSID>
   </soapenv:Body>
</soapenv:Envelope>

Подробнее про NBI можете прочесть по ссылке:

v1.19_NBI


Настройка DPI на этом заканчивается.

Примеры настройки:

  1. Включить DPI для всех SSID на всех точках доступа.
    1.  Через "Cписок устройств" в домене выбрать все точки доступа и  включить на них DPI. 
    2. Через "Менеджер SSID" включить на всех SSID DPI, и нажать кнопку исправить.
  2. Включить DPI для конкретных SSID на всех точках доступа.
    1.  Через "Cписок устройств" в домене выбрать все точки доступа и  включить на них DPI. 
    2. Через "Менеджер SSID" выбрать необходимый SSID, включить DPI, и нажать кнопку исправить.
  3. Включить DPI для всех SSID на конкретных точках доступа клиента.
    1.  Через "Cписок устройств" в домене выбрать нужнфые точки доступа и включить на них DPI,  или во вкладке "Доступ" на каждой точке включить DPI. 
    2. Через "Менеджер SSID" включить на всех SSID DPI, и нажать кнопку исправить.
  4. Включить DPI для конкретного SSID на конкретных ТД.
    1. Через "Cписок устройств" в домене выбрать нужнфые точки доступа и включить на них DPI,  или во вкладке "Доступ" на каждой точке включить DPI. 
    2. Через "Менеджер SSID" выбрать необходимый SSID, включить DPI, и нажать кнопку исправить.


Пример трафика с включенным и выключенным DPI

DPI выключен.

DPI включен.

5.4 Настройка Eltex-radius-nbi

В конфигурационном файле

/etc/eltex-radius-nbi/radius_nbi_config.txt

Нужно активировать параметр sorm3.enabled

#It enables records export to SORM3 while editing wifi users
sorm3.enabled=true

Для применения конфигурации нужно перезапустить Tomcat7

service tomcat7 restart

Этот параметр активирует:

  • Выгрузку изменений в учетных записях пользователей Wi-Fi
  • Проверку наличия данных об операторе (ФИО) при создании и редактировании учетных записей пользователей Wi-Fi

5.5 Настройка Конструктора порталов

После активации параметра sorm3.enabled, взаимодействие с NBI под учетной записью по умолчанию (admin) будет запрещено, если у записи не заполнены обязательные поля. Для корректной работы портала нужно использовать служебную запись softwlc_service/softwlc для взаимодействие с NBI. Для изменения данных доступа к NBI, нужно в конструкторе порталом перейти на вкладку «Доступ к NBI» и прописать новые данные.

5.5 Настройка Личного кабинета B2B

5.6.1 Заполнение обязательных полей у администраторов ЛК B2B

Поля ФИО и номер телефона стали обязательными у учетных записей администраторов ЛК B2B. При создании/редактировании пользователей Wi-Fi, фиксируются данные администратора, который внес изменения в учетную запись. Если поля не заполнены, то администратор не сможет редактировать и создавать учетные записи пользователей Wi-Fi.
Для заполнения данных нужно перейти на вкладку Настройка->Системные пользователи, выбрать учетную запись и заполнять обязательные поля.

5.6.2 Заполнение обязательных полей у пользователей Enterprise

Для выполнения требования по СОРМу, необходимо заполнить обязательные поля у учетных записей пользователей Enterprise. Для корректирования текущих записей нужно в личном кабинете B2B открыть запись для редактирования и заполнить соответствующие поля.

6 Рекомендации по распределению модулей

Модули Eltex-sorm2-replicator и Eltex-radius-sorm3 можно расположить на одном сервере. Для высоконагруженных систем нужно использовать кластер из двух и более нод Eltex-sorm2-replicator. В кластере весь RADIUS трафик приходит на определенную ноду Eltex-sorm2-replicator , а обработка делится между остальными участниками. Eltex-radius-sorm3 нужно запускать только на одной ноде.

7 Настройка кластера Eltex-sorm2-replicator

Для настройки кластера нужно подготовить второй сервер аналогично первому, настройка описана в п. 4. Между серверами Eltex-sorm2-replicator нужно открыть порты 5701 tcp, 5801 tcp На серверах в файлах конфигурации /etc/eltex-sorm2-replicator/hazelcast-cluster.xml нужно указать адреса сетевых интерфейсов (в строках 3 и 24 в примере - адрес самого сервера, в строке 8 адрес сети, где нужно искать участников кластера, в строках 16-17 - список всех членов кластера ), отключить  multicast и  включить  tcp-ip режим обнаружения.

    <network>
        <!-- Write here public address of the node -->
        <public-address>192.168.0.1</public-address>
        <port auto-increment="false" port-count="100">5702</port>
        <outbound-ports>
            <ports>0</ports>
        </outbound-ports>
        <join>
            <multicast enabled="false">
                <trusted-interfaces>
                    <interface>192.168.0.*</interface>
                </trusted-interfaces>
            </multicast>
            <tcp-ip enabled="true">
                <!-- Write here IP of all members of the cluster (including this) -->
                <member>192.168.0.1</member>
                <member>192.168.0.2</member>
            </tcp-ip>
            <discovery-strategies>
            </discovery-strategies>
        </join>
        <interfaces enabled="true">
            <!-- Write here IP of the interface to use for cluster -->
            <interface>192.168.0.1</interface>
        </interfaces>

В конфигурации /etc/eltex-sorm2-replicator/eltex-sorm2-replicator.json  нужно разрешить запуск кластера:

"cluster.enable" : true,

Для проверки кластера, нужно перейти в открыть веб интерфейс Eltex-sorm2-replicator http://server_ip:7071/system. Пример вывода:

{
	"key" : "PcrfErrorCode.success",
	"message" : "Success",
	"code" : 0,
	"args" : [ ],
	"data" : {
	"version" : "1.8-162 (20171017-1233)",
	"java_memory" : {
	"used" : 40,
	"free" : 267,
	"total" : 308,
	"max" : 455
},
	"java" : {
	"vendor" : "Oracle Corporation",
	"title" : "Java Runtime Environment",
	"version" : "1.8.0_144"
},
	"system" : {
		"cpu" : 6
},
	"vertx" : {
	"clustered" : true
},
	"hazelcast" : {
	"cluster" : {
	"members" : {
	"192.168.107.211" : {
	"local" : true
},
	"192.168.107.212" : {
	"local" : false
}
},
	"state" : "ACTIVE"
}
}
}
}

В списке hazelcast должны присутствовать все ноды.


Важно!

Большая часть параметров кэшируется и инвалидируется только по времени. 

таблицаtime to live (TTL) в кэшеинвалидация кэша по запросу
MongoDB sorm2.profiles1200 сevict после редактирования, удаления в NBI
MongoDB sorm2.links1200 сevict после добавления, удаления в NBI
информация об объекте (ap domain, dpi, cms)
MySQL eltex-ems.ELTEX_OBJ_GEO
600 cнет
информация о домене (region_id)
MySQL eltex-ems.DOMAINS, DOMAIN_PARAMS
600 снет
подсети (ap domain)
MongoDB pcrf.subnets
600 снет
ssid (dpi)
MySQL wireless.SSID, SSID_PARAMS
600 cнет

Там где инвалидации кэша по запросу нет, запись будет жить со старыми параметрами в течение TTL, потом удалиться и при следующем обращении заново закачается из БД с новыми параметрами. То есть параметры DPI например, применяются не мгновенно, а в ближайшие 600 секунд.

  • Нет меток