CoA/PoD на примере MPD

Материал из BiTel WiKi

(Различия между версиями)
Перейти к: навигация, поиск
м
 
(8 промежуточных версий не показаны.)
Строка 1: Строка 1:
-
== CoA ==
+
На MPD сервере, в конфигурациооном файле '''mpd.conf''', в секции '''startup:''' , добавить строки:
 +
<source lang='bash'>
 +
set radsrv peer <ip-адрес сервера BGInetAccess/BGInetAccounting> secret
 +
set radsrv open
 +
</source>
-
 
+
В биллинге:
-
 
+
Необходимо создать типы устройств Access+Accounting с пустой конфигурацией; FlowAgent, c установленной галочкой "является источником данных" и конфигурацией:
-
На самом верхнем уровне добавляется устройство с типом Access+Accounting (или ProcessGroup) со следующей конфигурацией:
+
<source lang='bash'>
<source lang='bash'>
-
#типы устройств - Nas-ов
+
# Устройство является источником flow для всех своих дочерних устройств
-
radius.deviceTypeIds=1
+
flow.agent.link={@deviceId}:-1
 +
</source>
 +
И тип устройства MPD с конфигурацией:
 +
<source lang='bash'>
 +
# Порт для отправки PoD и CoA запросов (по умолчанию - порт, заданный в параметрах устройства Хост/порт)
 +
# на mpd5 по умолчанию 3799
 +
#radius.port=<порт устройства>
-
#количество потоков на worker'а
+
# При выдаче access-accept добавлять запись в базу
-
accounting.worker.1.thread.count=1
+
# необходимо, если используется reject-to-accept и по старт пакету нельзя определить в каком состоянии соединение
-
#тарификатор:
+
-
#минимальная сумма трафика, при которой тарифицировать соединение
+
-
accounting.worker.1.tariffication.1.minDeltaAmount=0
+
-
#пауза между заданиями тарификации
+
-
accounting.worker.1.tariffication.1.delay=10
+
-
#максимальное количество тарифицируемых соединений за задание
+
-
accounting.worker.1.tariffication.1.batchSize=100
+
-
#трекер (обработка сессий без наработки):
+
-
#пауза между заданиями трекинга
+
-
accounting.worker.1.tracking.1.delay=20
+
-
#максимальное количество проверенных соединений за задание
+
-
accounting.worker.1.tracking.1.batchSize=100
+
-
 
+
-
#количество потоков на worker'а
+
-
accounting.worker.2.thread.count=1
+
-
#сброс в базу трафиков и наработки
+
-
#минимальная наработка, при которой сбрасывать соединения в базу
+
-
accounting.worker.2.flushing.1.minDeltaAccount=0
+
-
#пауза между заданиями сброса в базу
+
-
accounting.worker.2.flushing.1.delay=20
+
-
#максимальное количество сброшенных соединений в базу за задание
+
-
accounting.worker.2.flushing.1.batchSize=500
+
-
 
+
-
#количество потоков на worker'а
+
-
accounting.worker.3.thread.count=1
+
-
#завершатель соединений
+
-
#пауза между заданиями
+
-
accounting.worker.3.finishing.1.delay=20
+
-
#максимальное количество сброшенных соединений в базу за задание
+
-
accounting.worker.3.finishing.1.batchSize=500
+
-
 
+
-
#при выдаче access-accept добавлять запись в базу
+
-
#необходимо, если используется reject-to-accept и по старт пакету нельзя определить в каком состоянии соединение
+
connection.start.fromAccept=1
connection.start.fromAccept=1
-
#таймаут перевода соединения в статус suspended при остутствии радиус пакетов
+
# таймаут перевода соединения в статус suspended при остутствии радиус пакетов
connection.suspend.timeout=900
connection.suspend.timeout=900
-
#таймаут закрытия соединения при остутствии радиус пакетов (не складывается с connection.suspend.timeout)
+
# таймаут закрытия соединения при остутствии радиус пакетов (не складывается с connection.suspend.timeout)
connection.close.timeout=900
connection.close.timeout=900
-
#атрибуты, выдаваемые при авторизации по реалму default (default - реалм по умолчанию)
+
# Атрибуты, выдаваемые при авторизации по реалму default (default - реалм по умолчанию)
radius.realm.default.attributes=
radius.realm.default.attributes=
-
#категории ip адресов из ресурсов, из которых будут выдаваться адреса ("пул", указывается во вкладке "IP ресурсы")
 
-
radius.realm.default.ipCategories=4
 
-
#коды ошибок, при которых вместо reject выдавать accept с заданными атрибутами
+
# Атрибуты, выдаваемые при rejectToAccept
-
#(пользователю выдается серый адрес и устанавливается HTTP-редирект)
+
-
radius.disable.accessCodes=1,2,3,4,10,11,12
+
-
#атрибуты, выдаваемые при rejectToAccept
+
radius.disable.attributes=mpd-limit=out#1=all shape 32000 pass;mpd-limit=in#1=all rate-limit 32000 pass
radius.disable.attributes=mpd-limit=out#1=all shape 32000 pass;mpd-limit=in#1=all rate-limit 32000 pass
-
#категории ip адресов из ресурсов, из которых будут выдаваться адреса для отключенных ("пул", указывается во вкладке "IP ресурсы")
+
 
-
radius.disable.ipCategories=3
+
# Атрибуты, при наличии которых соединение должно считаться в состоянии DISABLE (т.е. с ограниченным доступом)
-
#атрибуты, при наличии которых соединение должно считаться в состоянии DISABLE (т.е. с ограниченным доступом)
+
#radius.disable.pattern.attributes=
#radius.disable.pattern.attributes=
 +
 +
# Привязка кодов опций модуля к атрибутам
 +
# данные атрибуты будут выдаваться в AccessAccept при удачной авторизации и при наличии активных опций в тарифе или сервисе
 +
radius.inetOption.1.attributes=mpd-limit=out#1=all shape 128000 pass;mpd-limit=in#1=all rate-limit 10000000 pass
 +
radius.inetOption.2.attributes=mpd-limit=out#1=all shape 128000 pass;mpd-limit=in#1=all rate-limit 10000000 pass
 +
radius.inetOption.3.attributes=mpd-limit=out#1=all shape 512000 pass;mpd-limit=in#1=all rate-limit 10000000 pass
-
#привязка кодов опций модуля к атрибутам
 
-
#данные атрибуты будут выдаваться в AccessAccept при удачной авторизации и при наличии активных опций в тарифе или сервисе
 
-
nas.radius.inetOption.1.attributes=mpd-limit=out#1=all shape 128000 pass;mpd-limit=in#1=all rate-limit 10000000 pass
 
-
nas.radius.inetOption.2.attributes=mpd-limit=out#1=all shape 128000 pass;mpd-limit=in#1=all rate-limit 10000000 pass
 
-
nas.radius.inetOption.3.attributes=mpd-limit=out#1=all shape 512000 pass;mpd-limit=in#1=all rate-limit 10000000 pass
 
-
#----------------------------
+
# Вендор атрибута, где хранится MAC-адрес
-
#параметры активации сервисов
+
#radius.macAddress.vendor=9
-
#----------------------------
+
# Код атрибута, где хранится MAC-адрес
-
#длина паузы, если возникла ошибка
+
#radius.macAddress.type=1
 +
# Префикс атрибута (если есть), где хранится MAC-адрес. Например, для cisco avpair
 +
#radius.macAddress.prefix=client-mac-address=
 +
 
 +
 
 +
# Параметры активации сервисов
 +
# длина паузы, если возникла ошибка
#sa.error.pause=60
#sa.error.pause=60
-
#количество заданий за раз
+
# количество заданий за раз
#sa.batch.size=20
#sa.batch.size=20
-
#время (сек) ожидания завершения всех заданий (при асинхронной работе)
+
# время (сек) ожидания завершения всех заданий (при асинхронной работе)
#sa.batch.wait=5
#sa.batch.wait=5
-
#пауза (сек) после обработки заданий
+
# пауза (сек) после обработки заданий
#sa.batch.pause=0
#sa.batch.pause=0
-
#время (сек) ожидания новой задачи перед вызовом disconnect.
+
# время (сек) ожидания новой задачи перед вызовом disconnect.
#sa.batch.waitNext=5
#sa.batch.waitNext=5
-
 
+
-
#----------------------------------------
+
# Параметры обработчика активации сервисов
-
#параметры обработчика активации сервисов
+
# откуда при отправке CoA брать атрибуты опций (по умолчанию - те же атрибуты, что выдаются при удачной авторизации)
-
#----------------------------------------
+
-
#откуда при отправке CoA брать атрибуты опций (по умолчанию - те же атрибуты, что выдаются при удачной авторизации)
+
#sa.radius.option.attributesPrefix=nas.radius.inetOption.
#sa.radius.option.attributesPrefix=nas.radius.inetOption.
#sa.radius.connection.attributes=NAS-Port, Acct-Session-Id, User-Name, Framed-IP-Address, NAS-IP-Address, NAS-Identifier
#sa.radius.connection.attributes=NAS-Port, Acct-Session-Id, User-Name, Framed-IP-Address, NAS-IP-Address, NAS-Identifier
-
#атрибуты CoA запроса для прекращения доступа (используется при sa.radius.connection.withoutBreak=1)
+
# атрибуты CoA запроса для прекращения доступа (используется при sa.radius.connection.withoutBreak=1)
#sa.radius.disable.attributes={@radius.disable.attributes}
#sa.radius.disable.attributes={@radius.disable.attributes}
-
#фиксированные атрибуты, добавляемые в запрос перед отправкой CoA
+
# фиксированные атрибуты, добавляемые в запрос перед отправкой CoA
#sa.radius.coa.attributes=
#sa.radius.coa.attributes=
-
#добавлять ли при отправке CoA атрибуты реалма (для default - из radius.realm.default.attributes)
+
# добавлять ли при отправке CoA атрибуты реалма (для default - из radius.realm.default.attributes)
#sa.radius.realm.addAttributes=0
#sa.radius.realm.addAttributes=0
-
#фиксированные атрибуты, добавляемые в запрос перед отправкой PoD
+
# фиксированные атрибуты, добавляемые в запрос перед отправкой PoD
#sa.radius.pod.attributes=
#sa.radius.pod.attributes=
</source>
</source>
 +
и выбранными "Обработчиком активации сервисов" ru.bitel.bgbilling.modules.inet.dyn.device.radius.CoAServiceActivator, "Обработчиком процессора протокола" ru.bitel.bgbilling.modules.inet.dyn.device.radius.CoAProtocolHandler.
-
Уровнем ниже добавляем устройство типа MPD, то есть наш NAS. Указываем IP-адрес (соответствует атрибуту Nas-Ip-Address), идентификатор (соответствует атрибуту NAS-Identifier) и секрет радиуса. Конфигурация устройства:
+
{|
 +
|- valign=top
 +
| [[Изображение:Inet_device_type_mpd.png|thumb|800px|Тип устройства]]
 +
|}
 +
 
 +
Далее перейти ко вкладке Устройства и добавить последовательно три устройства, каждое новое - дочернее к предыдущему. Первое - с типом Access+Accounting и конфигурацией:
<source lang='bash'>
<source lang='bash'>
-
#хост для отправки PoD и CoA запросов (по умолчанию - хост, заданный в параметрах устройства Хост/порт)
+
# Количество потоков на worker'а
 +
accounting.worker.1.thread.count=1
 +
# Тарификатор:
 +
# минимальная сумма трафика, при которой тарифицировать соединение
 +
accounting.worker.1.tariffication.1.minDeltaAmount=0
 +
# пауза между заданиями тарификации
 +
accounting.worker.1.tariffication.1.delay=10
 +
# максимальное количество тарифицируемых соединений за задание
 +
accounting.worker.1.tariffication.1.batchSize=100
 +
# Трекер (обработка сессий без наработки):
 +
# пауза между заданиями трекинга
 +
accounting.worker.1.tracking.1.delay=20
 +
# максимальное количество проверенных соединений за задание
 +
accounting.worker.1.tracking.1.batchSize=100
 +
 +
# Количество потоков на worker'а
 +
accounting.worker.2.thread.count=1
 +
# Сброс в базу трафиков и наработки:
 +
# минимальная наработка, при которой сбрасывать соединение в базу
 +
accounting.worker.2.flushing.1.minDeltaAccount=0
 +
# минимальная сумма трафика, при которой сбрасывать соединение в базу
 +
accounting.worker.2.flushing.1.minDeltaAmount=0
 +
# пауза между заданиями сброса в базу
 +
accounting.worker.2.flushing.1.delay=20
 +
# максимальное количество сброшенных соединений в базу за задание
 +
accounting.worker.2.flushing.1.batchSize=500
 +
 +
# Количество потоков на worker'а
 +
accounting.worker.3.thread.count=1
 +
# Завершатель соединений:
 +
# пауза между заданиями
 +
accounting.worker.3.finishing.1.delay=20
 +
# максимальное количество сброшенных соединений в базу за задание
 +
accounting.worker.3.finishing.1.batchSize=500
 +
 +
 
 +
# Типы устройств - Nas-ов
 +
radius.deviceTypeIds=3
 +
 
 +
# Категории ip адресов из ресурсов, из которых будут выдаваться адреса ("пул", указывается во вкладке "IP ресурсы")
 +
radius.realm.default.ipCategories=4
 +
 +
# Коды ошибок, при которых вместо reject выдавать accept с заданными атрибутами
 +
# (пользователю выдается серый адрес и устанавливается HTTP-редирект)
 +
radius.disable.accessCodes=1,2,3,4,10,11,12
 +
# Категории ip адресов из ресурсов, из которых будут выдаваться адреса для отключенных ("пул", указывается во вкладке "IP ресурсы")
 +
radius.disable.ipCategories=3
 +
</source>
 +
В параметре radius.deviceTypeIds нужно указать Id типа устройства - MPD.
 +
 
 +
Затем дочернее к нему с типом FlowAgent, с указанием адреса, с которого будет приходить flow трафик в поле "Хост/порт", с путстой конфигурацией. И дочернее к FlowAgent устройство с типом MPD, указанием его идентификатора, хоста и верного secret, с конфигурацией:
 +
<source lang='bash'>
 +
# Хост для отправки PoD и CoA запросов (по умолчанию - хост, заданный в параметрах устройства Хост/порт)
#radius.host=<хост устройства>
#radius.host=<хост устройства>
-
#порт для отправки PoD и CoA запросов (по умолчанию - порт, заданный в параметрах устройства Хост/порт)
+
# порт для отправки PoD и CoA запросов (по умолчанию - порт, заданный в параметрах устройства Хост/порт)
#radius.port=<порт устройства>
#radius.port=<порт устройства>
-
#идентификатор - Nas-Identifier (по умолчанию - значение из поля Идентификатор параметров устройства)
+
# идентификатор - Nas-Identifier (по умолчанию - значение из поля Идентификатор параметров устройства)
#radius.identifier=<идентификатор устройства>
#radius.identifier=<идентификатор устройства>
-
#используемый secret для общения по radius-протоколу (по умолчанию - значение из поля Community/secret параметров устройства)
+
# используемый secret для общения по radius-протоколу (по умолчанию - значение из поля Community/secret параметров устройства)
#radius.secret=<community/sercret устройства>
#radius.secret=<community/sercret устройства>
</source>
</source>
-
Далее необходимо создать тип сервиса во вкладке "Типы сервисов". В настройках типа сервиса указывается, какие поля будут доступны при добавлении/редактировании сервиса на договоре. В нашем случае это устройство (нас) и логин/пароль.  
+
Далее отредактировать inet-access.xml в BGInetAccess и inet-accounting.xml в BGInetAccounting, указав уникальный идентификатор для приложения, параметры подключения к БД и к MQ, Id модуля в параметре moduleId, Id устройства Access+Accounting в параметре rootDeviceId (оно будет корневым для данных приложений), и дополнительно, в inet-accounting.xml, в параметре accounting.deviceTypeIds, прописать Id типа устройства Access+Accounting.
 +
 
{|
{|
|- valign=top
|- valign=top
-
| [[Изображение:Inet coa serv type.png|thumb|600px|Тип сервиса]]  
+
| [[Изображение:Inet_device_mpd.png|thumb|800px|Устройства]]  
|}
|}
-
Если нет необходимости привязывать сервис договора к определенному устройству (насу или группе насов), то можно указать в конфиге типа сервиса устройство Access+Accounting, чтобы оно привязывалось автоматически к каждому созданному сервису:
+
 
 +
Необходимо создать тип сервиса во вкладке "Типы сервисов". В настройках типа сервиса указывается, какие поля будут доступны при добавлении/редактировании сервиса на договоре. В нашем случае это устройство (нас) и логин/пароль.
 +
{|
 +
|- valign=top
 +
| [[Изображение:Inet coa serv type.png|thumb|800px|Тип сервиса]]
 +
|}
 +
Если нет необходимости привязывать сервис договора к определенному устройству (насу или группе насов), то можно указать в конфиге типа сервиса Id устройства Access+Accounting, чтобы оно привязывалось автоматически к каждому созданному сервису:
<source lang='bash'>
<source lang='bash'>
const.device.id=<постоянный код устройства для всех сервисов данного типа>
const.device.id=<постоянный код устройства для всех сервисов данного типа>
</source>
</source>
-
== Работающий nas.inspector.class ==
+
Для того, чтобы изменять свойства соединения, например, скорость, необходимо использовать опции модуля Inet.
-
Нам на версии BGBilling 5.1 и MPD 5.6 помогла такая конфигурация NAS:
+
{|
-
<source lang='bash'>
+
|- valign=top
-
dialup.workmode=1
+
| [[Изображение:Inet_option_mpd.png|thumb|800px|Опции]]
-
nas.inspector.class=ru.bitel.bgbilling.kernel.network.radius.inspectors.PodNasConnectionInspector
+
|}
-
nas.inspector.radius.port=1700
+
Опции, собранные в группу, по умолчанию не пересекаются, т.е. не может быть одновременно более одной активной опции из группы - после тарификации активной будет последняя установленная опция (или последняя опция из сервиса, если она указана на сервисе).
-
nas.inspector.radius.secret=PASSWORD
+
 
-
nas.inspector.radius.attributes=User-Name;Framed-IP-Address;Acct-Session-Id
+
При изменении набора активных опций будет произведена отправка CoA пакета. Содержимое Access-Request или CoA-Request пакетов зависит от набора активных опций модуля Inet - атрибуты привязываются к кодам опций через параметры конфигурации radius.inetOption.x.
-
nas.inspector.kill.max_messages=20
+
-
nas.inspector.sleep_time=15
+
-
nas.inspector.coa.timeout=15
+
-
nas.inspector.coa.retries=10
+
-
nas.inspector.coa.threads=10
+
-
...
+
-
</source>
+

Текущая версия на 01:41, 11 февраля 2014

На MPD сервере, в конфигурациооном файле mpd.conf, в секции startup: , добавить строки:

set radsrv peer <ip-адрес сервера BGInetAccess/BGInetAccounting> secret
set radsrv open

В биллинге: Необходимо создать типы устройств Access+Accounting с пустой конфигурацией; FlowAgent, c установленной галочкой "является источником данных" и конфигурацией:

# Устройство является источником flow для всех своих дочерних устройств
flow.agent.link={@deviceId}:-1

И тип устройства MPD с конфигурацией:

# Порт для отправки PoD и CoA запросов (по умолчанию - порт, заданный в параметрах устройства Хост/порт)
# на mpd5 по умолчанию 3799
#radius.port=<порт устройства>
 
# При выдаче access-accept добавлять запись в базу
# необходимо, если используется reject-to-accept и по старт пакету нельзя определить в каком состоянии соединение
connection.start.fromAccept=1
# таймаут перевода соединения в статус suspended при остутствии радиус пакетов
connection.suspend.timeout=900
# таймаут закрытия соединения при остутствии радиус пакетов (не складывается с connection.suspend.timeout)
connection.close.timeout=900
 
# Атрибуты, выдаваемые при авторизации по реалму default (default - реалм по умолчанию)
radius.realm.default.attributes=
 
# Атрибуты, выдаваемые при rejectToAccept
radius.disable.attributes=mpd-limit=out#1=all shape 32000 pass;mpd-limit=in#1=all rate-limit 32000 pass
 
# Атрибуты, при наличии которых соединение должно считаться в состоянии DISABLE (т.е. с ограниченным доступом)
#radius.disable.pattern.attributes=
 
# Привязка кодов опций модуля к атрибутам
# данные атрибуты будут выдаваться в AccessAccept при удачной авторизации и при наличии активных опций в тарифе или сервисе
radius.inetOption.1.attributes=mpd-limit=out#1=all shape 128000 pass;mpd-limit=in#1=all rate-limit 10000000 pass
radius.inetOption.2.attributes=mpd-limit=out#1=all shape 128000 pass;mpd-limit=in#1=all rate-limit 10000000 pass
radius.inetOption.3.attributes=mpd-limit=out#1=all shape 512000 pass;mpd-limit=in#1=all rate-limit 10000000 pass
 
 
# Вендор атрибута, где хранится MAC-адрес
#radius.macAddress.vendor=9
# Код атрибута, где хранится MAC-адрес
#radius.macAddress.type=1
# Префикс атрибута (если есть), где хранится MAC-адрес. Например, для cisco avpair
#radius.macAddress.prefix=client-mac-address=
 
 
# Параметры активации сервисов
# длина паузы, если возникла ошибка
#sa.error.pause=60
# количество заданий за раз
#sa.batch.size=20
# время (сек) ожидания завершения всех заданий (при асинхронной работе)
#sa.batch.wait=5
# пауза (сек) после обработки заданий
#sa.batch.pause=0
# время (сек) ожидания новой задачи перед вызовом disconnect.
#sa.batch.waitNext=5
 
# Параметры обработчика активации сервисов
# откуда при отправке CoA брать атрибуты опций (по умолчанию - те же атрибуты, что выдаются при удачной авторизации)
#sa.radius.option.attributesPrefix=nas.radius.inetOption.
#sa.radius.connection.attributes=NAS-Port, Acct-Session-Id, User-Name, Framed-IP-Address, NAS-IP-Address, NAS-Identifier
# атрибуты CoA запроса для прекращения доступа (используется при sa.radius.connection.withoutBreak=1)
#sa.radius.disable.attributes={@radius.disable.attributes}
# фиксированные атрибуты, добавляемые в запрос перед отправкой CoA
#sa.radius.coa.attributes=
# добавлять ли при отправке CoA атрибуты реалма (для default - из radius.realm.default.attributes)
#sa.radius.realm.addAttributes=0
# фиксированные атрибуты, добавляемые в запрос перед отправкой PoD
#sa.radius.pod.attributes=

и выбранными "Обработчиком активации сервисов" ru.bitel.bgbilling.modules.inet.dyn.device.radius.CoAServiceActivator, "Обработчиком процессора протокола" ru.bitel.bgbilling.modules.inet.dyn.device.radius.CoAProtocolHandler.

Тип устройства

Далее перейти ко вкладке Устройства и добавить последовательно три устройства, каждое новое - дочернее к предыдущему. Первое - с типом Access+Accounting и конфигурацией:

# Количество потоков на worker'а
accounting.worker.1.thread.count=1
# Тарификатор:
# минимальная сумма трафика, при которой тарифицировать соединение
accounting.worker.1.tariffication.1.minDeltaAmount=0
# пауза между заданиями тарификации
accounting.worker.1.tariffication.1.delay=10
# максимальное количество тарифицируемых соединений за задание
accounting.worker.1.tariffication.1.batchSize=100
# Трекер (обработка сессий без наработки):
# пауза между заданиями трекинга
accounting.worker.1.tracking.1.delay=20
# максимальное количество проверенных соединений за задание
accounting.worker.1.tracking.1.batchSize=100
 
# Количество потоков на worker'а
accounting.worker.2.thread.count=1
# Сброс в базу трафиков и наработки:
# минимальная наработка, при которой сбрасывать соединение в базу
accounting.worker.2.flushing.1.minDeltaAccount=0
# минимальная сумма трафика, при которой сбрасывать соединение в базу
accounting.worker.2.flushing.1.minDeltaAmount=0
# пауза между заданиями сброса в базу
accounting.worker.2.flushing.1.delay=20
# максимальное количество сброшенных соединений в базу за задание
accounting.worker.2.flushing.1.batchSize=500
 
# Количество потоков на worker'а
accounting.worker.3.thread.count=1
# Завершатель соединений:
# пауза между заданиями
accounting.worker.3.finishing.1.delay=20
# максимальное количество сброшенных соединений в базу за задание
accounting.worker.3.finishing.1.batchSize=500
 
 
# Типы устройств - Nas-ов
radius.deviceTypeIds=3
 
# Категории ip адресов из ресурсов, из которых будут выдаваться адреса ("пул", указывается во вкладке "IP ресурсы")
radius.realm.default.ipCategories=4
 
# Коды ошибок, при которых вместо reject выдавать accept с заданными атрибутами
# (пользователю выдается серый адрес и устанавливается HTTP-редирект)
radius.disable.accessCodes=1,2,3,4,10,11,12
# Категории ip адресов из ресурсов, из которых будут выдаваться адреса для отключенных ("пул", указывается во вкладке "IP ресурсы")
radius.disable.ipCategories=3

В параметре radius.deviceTypeIds нужно указать Id типа устройства - MPD.

Затем дочернее к нему с типом FlowAgent, с указанием адреса, с которого будет приходить flow трафик в поле "Хост/порт", с путстой конфигурацией. И дочернее к FlowAgent устройство с типом MPD, указанием его идентификатора, хоста и верного secret, с конфигурацией:

# Хост для отправки PoD и CoA запросов (по умолчанию - хост, заданный в параметрах устройства Хост/порт)
#radius.host=<хост устройства>
# порт для отправки PoD и CoA запросов (по умолчанию - порт, заданный в параметрах устройства Хост/порт)
#radius.port=<порт устройства>
# идентификатор - Nas-Identifier (по умолчанию - значение из поля Идентификатор параметров устройства)
#radius.identifier=<идентификатор устройства>
# используемый secret для общения по radius-протоколу (по умолчанию - значение из поля Community/secret параметров устройства)
#radius.secret=<community/sercret устройства>

Далее отредактировать inet-access.xml в BGInetAccess и inet-accounting.xml в BGInetAccounting, указав уникальный идентификатор для приложения, параметры подключения к БД и к MQ, Id модуля в параметре moduleId, Id устройства Access+Accounting в параметре rootDeviceId (оно будет корневым для данных приложений), и дополнительно, в inet-accounting.xml, в параметре accounting.deviceTypeIds, прописать Id типа устройства Access+Accounting.

Устройства

Необходимо создать тип сервиса во вкладке "Типы сервисов". В настройках типа сервиса указывается, какие поля будут доступны при добавлении/редактировании сервиса на договоре. В нашем случае это устройство (нас) и логин/пароль.

Тип сервиса

Если нет необходимости привязывать сервис договора к определенному устройству (насу или группе насов), то можно указать в конфиге типа сервиса Id устройства Access+Accounting, чтобы оно привязывалось автоматически к каждому созданному сервису:

const.device.id=<постоянный код устройства для всех сервисов данного типа>

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

Опции

Опции, собранные в группу, по умолчанию не пересекаются, т.е. не может быть одновременно более одной активной опции из группы - после тарификации активной будет последняя установленная опция (или последняя опция из сервиса, если она указана на сервисе).

При изменении набора активных опций будет произведена отправка CoA пакета. Содержимое Access-Request или CoA-Request пакетов зависит от набора активных опций модуля Inet - атрибуты привязываются к кодам опций через параметры конфигурации radius.inetOption.x.

Личные инструменты