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

<div class="aui-message error aui-message-error">
<p class="title">
<span class="aui-icon icon-error"></span>
<strong>Comala Metadata License Details</strong>
</p>
<p>Invalid commercial evaluation license with a expired error. Please click <a href="https://marketplace.atlassian.com/plugins/org.andya.confluence.plugins.metadata" target="_blank">here</a> to purchase a commercial license.</p>
</div>

Описание

Модуль выполняет функции:

  • Авторизации, аутентификации Wi-Fi пользователей, подключающихся при помощи BRAS (позволяет обслуживать пользователей, используя точки доступа сторонних производителей).
  • Сбор аккаунтинга для всех механизмов авторизации и передача его в базу данных.
  • Контроль за количеством одновременных сессий Wi-Fi пользователей для всех механизмов авторизации.
  • Деаутентификация Wi-Fi пользователей, авторизующихся в режимах WPA-enterprise и через BRAS.
  • Контроль за лицензией и сообщение о приближении к лимиту по времени использования (каждый день после истечения 90%) или по количеству сессий (каждый час при превышении 90% сессий) администратору.


Доступ к технической консоли можно получить по ссылке 'http://<ip address pcrf>:7070/pcrf'.


Управление сервисом

ДействиеКомандаОтвет
Проверка состояния
service eltex-pcrf status

Сервис работает

 * eltex-pcrf process is running

Сервис не работает

* eltex-pcrf process is not running
Запуск сервиса
service eltex-pcrf start

Сервис запустился

 * Starting eltex-pcrf

Сервис уже работает

 * eltex-pcrf is already running
Остановка сервиса
service eltex-pcrf stop

Сервис успешно остановлен

 * Stopping eltex-pcr

Сервис не остановлен, т.к. не был запущен

 * eltex-pcrf is not running
Перезапуск сервиса
service eltex-pcrf restart

Сервис успешно перезапущен

 * Stopping eltex-pcrf
 * Starting eltex-pcrf
 * eltex-pcrf is not running
 * Starting eltex-pcrf  



Конфигурация

/etc/default/eltex-pcrf


Содержит базовые параметры для запуска приложения. Пример дефолтной конфигурации:

# Eltex.PCRF Server daemon parameters

# Location of java binary
JAVA=/usr/bin/java

# Initial size of Java heap
JAVA_INIT_HEAP=256m
# Maximum size of Java heap
JAVA_MAX_HEAP=512m

# To monitor via JMX - jconsole to host:port
#JMX_OPTS="-Dcom.sun.management.jmxremote \
#-Dcom.sun.management.jmxremote.port=8085 \
#-Dcom.sun.management.jmxremote.authenticate=false \
#-Dcom.sun.management.jmxremote.ssl=false \
#-Djava.rmi.server.hostname=127.0.0.1"

# Options for Java Garbage Collector
GC_OPTS="-XX:+UseParallelGC \
-XX:+PrintGCDateStamps \
-XX:+PrintGCDetails \
-XX:+UseGCLogFileRotation \
-XX:NumberOfGCLogFiles=7 \
-XX:GCLogFileSize=5M \
-Xloggc:/var/log/eltex-pcrf/gc.log"
# Without log
#GC_OPTS="-XX:+UseParallelGC"

# Additional arguments to pass to java
HEAP_DUMP_OPTS="-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/eltex-pcrf"

# Summary JAVA_OPTS used by daemon
JAVA_OPTS="$JMX_OPTS $GC_OPTS $HEAP_DUMP_OPTS"

# Send notification
#NOTIFICATION_ADDR="admin@mail.loc"
ПараметрыОписание
# Location of java binary
JAVA=/usr/bin/java
Расположение Java машины
JAVA_INIT_HEAP=256m
JAVA_MAX_HEAP=512m
Количество памяти, выделяемой на работу приложения



/etc/eltex-pcrf/eltex-pcrf.json

{
  "auth.address" : "0.0.0.0",
  "auth.port" : 31812,
  "auth.mac.open.timeout.s" : 3600,
  "auth.mac.welcome.service" : "WELCOME",

  "acct.address" : "0.0.0.0",
  "acct.ports" : [1813, 31813],

  "lease.saver.address" : "0.0.0.0",
  "lease.saver.port" : 4381,

  "aaa.instances" : 5,
  "aaa.host" : "127.0.0.1",
  "aaa.secret" : "testing123",
  "aaa.auth.port" : 1812,
  "aaa.acct.port" : 1813,
  "aaa.rest.port" : 7080,
  "aaa.timeout" : 10,
  "aaa.attempts" : 1,

  "web.monitoring.port" : 7070,

  "cluster.enable" : false,
  "cluster.eventBusPort" : 5801,

  "radius" : {
    "url": "jdbc:mysql://localhost/radius?useUnicode=true&characterEncoding=utf8&connectTimeout=5000&socketTimeout=5000&autoReconnect=true&useSSL=false",
    "user": "javauser",
    "password": "javapassword",
    "max_pool_size": 16
  },

  "mongo.pcrf" : {
    "connection_string": "mongodb://localhost:27017/pcrf?waitQueueMultiple=500&connectTimeoutMS=10000&socketTimeoutMS=0",
    "db_name": "pcrf"
  },

  "mongo.ott" : {
    "connection_string": "mongodb://localhost:27017/ott?waitQueueMultiple=500&connectTimeoutMS=10000&socketTimeoutMS=0",
    "db_name": "ott"
  },

  "session.storage" : {
    "session.check.period.s" : 300,
    "unauth.store.time.s" : 600,
    "interval.number.expired" : 3,
    "min.interval.s" : 45,
    "default.interval.s" : 600
  },

  "bras.coa" : {
    "coa.timeout" : 10,
    "coa.attempts" : 1,
    "remote.coa.port" : 3799,
    "executor.size" : 100,
    "log.clean.period.s" : 600,
    "log.store.period" : {
      "period" : 14,
      "unit" : "D"
    }
  },

  "sql.ems" : {
    "url": "jdbc:mysql://localhost/eltex_ems?useUnicode=true&characterEncoding=utf8&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&connectTimeout=5000&socketTimeout=5000&autoReconnect=true&useSSL=false",
    "user": "javauser",
    "password": "javapassword",
    "max_pool_size": 16
  },

  "sql.auth.service" : {
    "url": "jdbc:mysql://localhost/eltex_auth_service?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8&connectTimeout=5000&socketTimeout=5000&useSSL=false",
    "user": "javauser",
    "password": "javapassword",
    "max_pool_size": 4
  },

  "language" : "en",

  "radius.nbi" : {
    "wdsl.url" : "http://localhost:8080/axis2/services/RadiusNbiService?wsdl",
    "username" : "softwlc_service",
    "password" : "softwlc",
    "connection.timeout.ms" : 30000,
    "request.timeout.ms" : 120000
  },

  "tariffs.update.interval" : {
    "interval" : 1,
    "unit" : "hours"
  },

  "bras.cron.update.interval": {
    "interval" : 1,
    "unit": "hours"
  },

  "filters.cache.dir" : "/var/lib/eltex-pcrf/filters/",

  "clickhouse": {
    "url": "jdbc:clickhouse://localhost:8123/radius",
    "user_name": "javauser",
    "user_password": "javapassword"
  },

  "accounting.options": {
    "use_clickhouse": false,
    "use_mysql": true,
    "batch_interval_ms": 300000,
    "max_queue_load": 100
  }
}


ПараметрыОписание
Настройки авторизации
auth.address
Интерфейс сервера, ожидающий запросы на авторизацию
auth.port

Порт сервера, на который принимаются запросы на атворизацию

auth.mac.open.timeout.s
Длительность "открытой авторизации", используемая, если не переопределено в настройках портала
auth.mac.welcome.service
Сервис доступа, используемый если не переопределен в настройках тарифа
Настройки сбора аккаунтинга
acct.address
Интерфейс сервера, ожидающий аккаунтинг
acct.port
Порт сервера, на который принимаются пакеты аккаунтинга
Настройки для проведения авторизации Wi-Fi пользователей через BRAS
aaa.instances

aaa.host
Адрес сервиса Eltex.RADIUS
aaa.secret
RADIUS key
aaa.auth.port
порт на который отправляются запросы авторизации
aaa.acct.port
порт на который отправляться пакеты аккаунтинга
aaa.rest.port
Порта для обмена служебными командами с Eltex.RADIUS
aaa.timeout
Время ожидания ответа
aaa.attempts
количество попыток отправки пакетов
Порт мониторинга
web.monitoring.port
Порт для работы технологической консоли и мониторинга
Включение кластеризации
cluster.enable
Запуск кластеризации
cluster.eventBusPort
Порт для обмена данными с нодами в кластере
Настройки коннектов к БД MySQL ('radius', 'eltex_ems', 'wireless','sql.auth.service')
url
Строка подключения к базе данных Mysql
user
Логин для подключения к БД
password
Пароль для подключения к БД
max_pool_size
Максимальное количество коннектов, которое можно открыть сервис для подключения
Подключение к БД Mongo( 'pcrf', 'ott')
connection_string
URI для подключения к Mongo
db_name

Название базы, к которой производится подключение (необходимо продублировать то, что указано в URI)

Параметры хранения активных сессий в Mongo
session.check.period.s
Период проверки актуальности хранимых сессий. Если сессия закрыта во время проверки или время ее хранения истекло, она удаляется из базы.
unauth.store.time.s
Период хранения сессий пользователей, созданных на BRAS, авторизация которых не была выполнена.
interval.number.expired
Количество пропущенных интервалов аккаунтинга, после которого сессия считается "зависшей" и подлежит закрытию.
min.interval.s
Минимальное значение интервала аккаунтига, которое используется для расчета зависших сессий.
default.interval.s
Начальное значение интервала аккаунтига, которое сохраняется в сессию сразу после ее создания.
Параметры отправки CoA
coa.timeout

время ожидания ответа на команду

coa.attempts

количество повторных отправок

remote.coa.port
порт, на который будут отправляться команды
executor.size
количество одновременно выполняемых команд
log.store.period
время хранения результатов
log.store.period

время хранения логов выполнения команд

Настройка языка для отображения ошибок
language
Язык, используемый пи логировании, дефолтное значение "en". Можно использовать "ru", однако логи переведены не все.
Настройка подключения к сервису NBI
wdsl.url
Адрес для обращения на сервис NBI
username
Логин от учетной записи
password
Пароль от учетной записи
connection.timeout.ms
Время ожидания при подключении к сервису
request.timeout.ms
Время ожидания ответа при выполнении запроса на сервис
Интервал обновления тарифных планов
interval
Интервал обновления тарифных планов
unit
Единицы измерения интервала (по дефолту измеряется в часах "hours")
Путь к директории с временными файлами  списков URL
filters.cache.dirПуть   к директории
Настройки коннектов к БД Yandex ClickHouse
urlСтрока подключения к базе данных Yandex ClickHouse
user_nameЛогин от учетной записи
user_passwordПароль от учетной записи
Параметры сохранения аккаунтинга
use_clickhouseСохранять  аккаунтинг в базу данных Yandex ClickHouse
use_mysqlСохранять  аккаунтинг в базу данных MySQL
batch_interval_msИнтервал сохранения  аккаунтинга в базу данных
max_queue_loadРазмер очереди при достижение которого запускается сохранение аккаунтинга в базу данных



/etc/eltex-pcrf/hazelcast-cluster-network.xml

В данном файле содержится его конфигурация кластера Hazelcast, используемого для объединения отдельных нод PCRF.

Пример дефолтной конфигруации разделов group и network (содержащих параметры для подключения к соседним нодам PCRF):

<hazelcast>

    <!-- You can separate your clusters in a simple way by specifying group names. -->
    <group>
        <name>dev</name>
    </group>

    <network>
        <!-- Write here public address of the node -->
        <public-address>192.168.0.1</public-address>
        <port auto-increment="false" port-count="100">5701</port>
        <outbound-ports>
            <ports>0</ports>
        </outbound-ports>
        <join>
            <multicast enabled="false"/>
            <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>
        <ssl enabled="false"/>
        <socket-interceptor enabled="false"/>
        <symmetric-encryption enabled="false">
            <algorithm>PBEWithMD5AndDES</algorithm>
            <!-- salt value to use when generating the secret key -->
            <salt>thesalt</salt>
            <!-- pass phrase to use when generating the secret key -->
            <password>thepass</password>
            <!-- iteration count to use when generating the secret key -->
            <iteration-count>19</iteration-count>
        </symmetric-encryption>
    </network>
</hazelcast>


ПараметрыОписание
<name>dev</name>

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

<public-address>192.168.0.1</public-address>
Собственный адрес ноды в кластере
<member>192.168.0.1</member>
<member>192.168.0.2</member>

Список нод, состоящик в кластере(указывать как собственный адрес, так и всех нод состоящих в кластере)

<interface>192.168.0.1</interface>
Адрес интерфейса ноды в кластере (как правило равен public-address)


  • Нет меток