Skip to end of metadata
Go to start of metadata

Работает с версии 0.90.15


Основной способ авторизации и аккаунтинга (AAA)  в системе производится при помощи RADIUS  сервера. По умолчанию используется FreeRADIUS (http://www.freeradius.org/)  реализация RADIUS протокола.

Страница про отладку RADIUS-сервера

RADIUS PoD

Скидывание сессий возможно несколькими способами.

  • Ручное через веб интерфейс администратора (/Мониторинг/Интернет)
  • Автоматическое программой  billd


 

RADIUS CoA


В системе используется механизм изменения параметров сессии без разрыва соединения при помощи RADIUS CoA. Контролем сессий занимается программа billd.

В конфигурационном файле можно указать какие RADIUS CoA  отправлять при изменении статуса сессии. Параметры могут быть двух видов:  общие параметры для всех типов серверов доступа и индивидуальные типы пар если используются разные сервера доступа в одной системе.

формат:

Для разделения параметров используется перевод строки "\n". Также можно отправлять несколькок независимых пакетов в одном запросе для раздения пакетов используется точка с запятой (;).

Общие параметры
$conf{INTERNET_COA_[маркер статуса]}='CoA Пары';



Общие параметры
$conf{INTERNET_COA_[маркер статуса]_[тип сервера доступа]}='CoA Пары';

config.pl

Общие параметры
#Huawei ME60
$conf{ME60_STATIC_USER_GROUP} = 'static_users';
$conf{ME60_NAT_USER_GROUP} = 'nat_users';


Маркеры статуса



CHANGE_TPИзменение тарифных планов
DISABLEОтключение услуги
ENABLEВключение услуги
NEG_DEPOSITПереход в статус должника
RECHARGEПополнение должником счета

Переменные шаблонов.

Переменные экранируются знаком процента %VAR%



%acct_session_id%ID сессии
%tp_id%ID  тарифного плана
%login%Логин
%speed_in%Входящая скорость в килобитах
%speed_out%Исходящая скорость в килобитах
%speed_in_b%Входящая скорость в битах
%speed_out_b%Исходящая скорость в битах
%user_name%RADIUS User-Name
%client_ip%IP адрес клиента
%user_group%

В зависимости от того какой IP адрес у клиента подставляется следующая переманная.

статический -> $conf{ME60_STATIC_USER_GROUP} 

серый → $conf{ME60_NAT_USER_GROUP}

Для режима отладки можно не включать в конфигурационном файле работу с RADIUS COA ($conf{INTERNET_SERVICE_COA}=1; ), а просто указывать для определенного абонента параметры:

/usr/abills/libexec/billd LOGIN=test COA_ACTION=NEG_DEPOSIT DEBUG=2

Пример для Huawei ME60

# включить режим CoA
$conf{INTERNET_SERVICE_COA}=1;
# перевод в режим негативного депозита
$conf{INTERNET_COA_NEG_DEPOSIT}="Filter-Id=guest\nAcct-Session-Id=%acct_session_id%";
# Отключение услуги для отключенного абонента
$conf{INTERNET_COA_DISABLE}="Filter-Id=guest\nAcct-Session-Id=%acct_session_id%";
# Активация услуги 
$conf{INTERNET_COA_ENABLE}="Filter-Id=%user_group%\nHuawei-Output-Average-Rate=%speed_in_b%\nHuawei-Input-Average-Rate=%speed_out_b%\nAcct-Session-Id=%acct_session_id%"; 
# Перевод из гостевого режима в рабочий
$conf{INTERNET_COA_RECHARGE}="Filter-Id=%user_group%\nHuawei-Output-Average-Rate=%speed_in_b%\nHuawei-Input-Average-Rate=%speed_out_b%\nAcct-Session-Id=%acct_session_id%";
# Смена тарифного плана
$conf{INTERNET_COA_CHANGE_TP}="Huawei-Output-Average-Rate=%speed_in_b%\nHuawei-Input-Average-Rate=%speed_out_b%\nAcct-Session-Id=%acct_session_id%";

Пример для Juniper Mx80

# включить режим CoA
$conf{INTERNET_SERVICE_COA}=1; 
# Отключение услуги для отключенного абонента
$conf{INTERNET_COA_DISABLE}="ERX-Service-Activate=svc-guest-ipoe(svc-filter-disable)\nAcct-Session-Id=%acct_session_id%";  
# перевод в режим негативного депозита, используется два RADIUS запроса. Первый для отключения услуги, второго для включения другого сервиса
$conf{INTERNET_COA_NEG_DEPOSIT}="ERX-Service-Deactivate=svc-global-ipoe\nAcct-Session-Id=%acct_session_id%;"
  . "ERX-Service-Activate:1=svc-guest-ipoe(svc-filter-in-nomoney)\nAcct-Session-Id=%acct_session_id%";
# Перевод из гостевого режима в рабочий
$conf{INTERNET_COA_RECHARGE}="ERX-Service-Deactivate=svc-guest-ipoe\nAcct-Session-Id=%acct_session_id%;"
  . "ERX-Service-Activate:1=svc-global-ipoe(%speed_in%, %speed_out%)\nAcct-Session-Id=%acct_session_id%";

Пример Accel-ppp

# включить режим CoA после отладки
$conf{INTERNET_SERVICE_COA}=1;

# перевод в режим негативного депозита, используется два RADIUS запроса. Первый для отключения услуги, второго для включения другого сервиса
$conf{INTERNET_COA_NEG_DEPOSIT}="L4-Redirect=1\nL4-Redirect-ipset=nomoney\nFilter-Id=TV_Max\nFramed-IP-Address=\%client_ip\%";

# Перевод из гостевого режима в рабочий
$conf{INTERNET_COA_RECHARGE}="L4-Redirect=0\nFramed-IP-Address=\%client_ip\%";