Skip to end of metadata
Go to start of metadata


Заведение оборудования (комутаторы)

Переходим в Настройка>Сервер доступа  заводим сервер доступа


Парметры:

IPIP  устройства
НазваниеНазвания устройства
ТипOther
MACУказываем MAC  адрес если подключения будут по опции 82 

также если планируется управлять оборудованием (модуль Equipment) нужно заполнить секцию "Управления"

IPIP  управления
Пользователь
Пароль

Настройка выражений

Включаются в параметре $conf{AUTH_EXPR}.

Так как производители оборудования (коммутаторов) не всегда придерживаются стандартов при формирование запросов DHCP Option 82, в системе была создана возможность задавать регулярное выражение для получения нужных параметров из DHCP запроса. Использовать дополнительные выражения для получения корректных данных с запросов от коммутаторов в которых параметры опции 82 отличаются от стандартных.

Формат выражения через точку с запятой:

радиус_пара:условия:переменные[:hex2ansii|:increment_port];условия:переменные….

Радиус_параРадиус пара запроса
Условия
ПеременныеПеременные результата VLAN, PORT, NAS_MAC, USER_MAC, VLAN_DEC (если VLAN не нужно преобразовывать в шестнадцатеричный из десятеричного), PORT_DEC (если не нужно преобразовывать порт из десятеричного в шестнадцатеричный формата), SERVER_VLAN и SERVER_VLAN_DEC
hex2ansiiесли указан этот параметр, система перед вычислением нужных переменных преобразует строку с шестнадцатеричного формата в текстовый
increment_port

Прибавить единицу к номеру порта. Нужно для коммутаторов H3C, они передают номер порта на единицу меньший (0 вместо 1, 6 вместо 7, ...).

Тестировалось на модели H3C S5100-26C (Software Version 3.10, Release 2203P08).

Не работает вместе с hex2ansii.

Не работает с параметром PORT_MULTI.

Система при получении параметра проверяет нужно ли использовать внешние выражения (При включении выражений система отключает шаблон по умолчанию для распознавания коммутаторов). 

Если да - начинает проходить по списку указанных шаблонов. 
При попадании в параметры система подставляет выбранные VLAN, PORT, NAS_MAC, USER_MAC, VLAN_DEC (если VLAN не нужно преобразовывать в десятичный форма из шестнадцатеричного) PORT_DEC (если не нужно преобразовывать порт из десятеричного шестнадцатеричного формата) в DHCP-Agent-Circuit-Id и DHCP-Agent-Remote-Id. Параметры подставляются по последнему успешному в списке совпадению.

Если используются разные коммутаторы в сети максимально рекомендовано писать точные выражения с использованием ^ $

Дальше уже идут стандартные процедуры работы с DHCP:

NAS_MAC

MAC адрес сервера доступа. Если парсер находит данную переменную в формате xxxxxxxxxxxx приводи её в вид xx:xx:xx:xx:xx:xx. Так же некоторые устройства могут передавать просто идентификаторы не связанные MAC, их также можно вносить в параметр NAS_MAC  и снавнивать с полем MAC  настроек сервера доступа.

Например:


NAS-Identifier:(.+):NAS_MAC


Где NAS-Identifier = "Router1"


NAS_MAC_HEXMAC адрес сервера доступа в виде ASCII закодированного в HEX
PORTПорт в шестнадцатеричном формате конвертируется в десятеричный при обработке
PORT_MULTIПорт в шестнадцатеричном формате без конвертации
PORT_DECПорт в десятеричном формате
VLANVLAN в шестнадцатиричном формате
VLAN_DECVLAN в десятеричном формате
SERVER_VLANСерверный VLAN в десятеричном формате
AGENT_REMOTE_ID
CIRCUIT_ID
LOGINЛогин абонента
USER_MACЕсли парсер находит данную переменную приводи её в вид xx:xx:xx:xx:xx:xx. Сопоставляется с полем CID  сервиса интернет при авторизации.


Примеры Выражений

Версия билинга не ниже 0.75.25

Cisco

  • 3550

Agent-Circuit-Id:0x0004([0-9a-f]{4})[0-9a-f]{2}([0-9a-f]{2}):VLAN,PORT;Agent-Remote-Id:([0-9a-f:]{16})$:NAS_MAC:hex2ansii

Edge-Core

  • Edge-Core ES-3528M

DHCP-Relay-Agent-Information:0x(01)(04)([0-9a-f]{4})\d{2}([0-9a-f]{2})(02)(06)([0-9a-f]{12}):ID,SIZE,VLAN,PORT,ID,SIZE,NAS_MAC;
  • Edge-Core ES-3526XA V2

  • Edge-Core ES-3510MA

DHCP-Relay-Agent-Information:0x(01)(06)[0-9a-f]{4}([0-9a-f]{4})\d{2}([0-9a-f]{2})(02)(08)[0-9a-f]{4}([0-9a-f]{12}):ID,SIZE,VLAN,PORT,ID,SIZE,NAS_MAC;
  • Edge-Core ESC3510-28T

запрос:

DHCP-Relay-Circuit-Id = 0x0004020c0119
DHCP-Relay-Remote-Id = 0x0006cc37ab8fafbc

Расшифровка

DHCP-Relay-Circuit-Id:0x0004([0-9a-f]{4})[0-9a-f]{2}([0-9a-f]{2}):VLAN,PORT;DHCP-Relay-Remote-Id:0x0006([0-9a-f]{12}):NAS_MAC

Eltex

  • GePON NTE-2 и NTE-RG

DHCP-Relay-Agent-Information:0x(01)(0b)[0-9a-f]{4}([0-9a-f]{4})[0-9a-f]{10}([0-9a-f]{4})(02)(0b)[0-9a-f]{10}([0-9a-f]{12}):ID,SIZE,VLAN,PORT,ID,SIZE,NAS_MAC;

Huawei

Пример запроса

Agent-Remote-Id = 0x000604bd70f9cd11
Agent-Circuit-Id = 0x00040fa00018

Настройка

Agent-Remote-Id:0x0006([0-9a-f]{12}):NAS_MAC;Agent-Circuit-Id:0x0004([0-9a-f]{4})00([0-9a-f]{2}):VLAN,PORT

Bdcom

  • OLT BDCOM 3310

типы опций

  • hn-type - Настройка авторизации по ONU + VLAN в опции Agent-Remote-Id передаётся MAC ONU (Клиентская приставка)

  • cm-type - Настройка авторизации по ONU + VLAN в опции Agent-Remote-Id передаётся MAC OLT (Главная станция)

Настройка Option 82 Type: cm-type (Use cm-type option 82 format) 
при использовании DHCP-Relay-Agent-Information

$conf{AUTH_EXPR}='DHCP-Relay-Agent-Information:0x01060004([0-9a-f]{4})\d{2}([0-9a-f]{2})02080006([0-9a-f]{12}):VLAN,PORT,NAS_MAC;DHCP-Relay-Agent-Information:0x0105([0-9a-f]{4})\d{2}([0-9a-f]{4})\d{4}([0-9a-f]{12}):VLAN,PORT_DEC,NAS_MAC;';

при использовании DHCP-Relay-Circuit-Id или Agent-Circuit-Id

DHCP-Relay-Circuit-Id:0x([0-9a-f]{4})00([0-9a-f]{4}):VLAN,PORT_DEC;DHCP-Relay-Remote-Id:0x([0-9a-f]{12}):NAS_MAC

Использование схемы hn-type (Use cisco option 82 format) при данной аутентификации абоненты появляются в мониторинге на сервере DHCP

$conf{DHCP_O82_BDCOM_TYPE}='hn-type';

$conf{AUTH_EXPR}='Agent-Remote-Id:0x([0-9a-f]{12}):USER_MAC;Agent-Circuit-Id:0x([0-9a-f]{4})00([0-9a-f]{4}):VLAN,PORT_DEC';

Agent-Remote-Id - Мак ONU (USER_MAC)
Agent-Circuit-Id - VLAN, Ветка, Номер устройства в ветке

Foxgate

  • Foxgate-s-6224-s2

DHCP-Relay-Agent-Information:0x(01)(08)0006([0-9a-f]{4})\d{6}([0-9a-f]{2})(02)(06)([0-9a-f]{12}):ID,SIZE,VLAN,PORT,ID,SIZE,NAS_MAC;
  • DGS-1100-10

  • DGS-1100-06ME
Пример
 DHCP-Relay-Circuit-Id = 0x01040b710005
 DHCP-Relay-Remote-Id = 0x0103313233

Выражение:

$conf{AUTH_EXPR} .= "Accel-Agent-Remote-Id:0x0006([0-9a-f]{12}):NAS_MAC;Accel-Agent-Circuit-Id:0x0004([0-9a-f]{4})([0-9a-f]{4}):VLAN,PORT;";

  • DES-3200-26 для Hw A1,B1 Firmware Version1.28.009 , HW C1 Firmware Version 4.00.24
  • DGS-3120-24SC hw a2 Firmware VersionBuild 2.00.010
DHCP-Relay-Agent-Information:0x(01)(06)0004([0-9a-f]{4})\d{2}([0-9a-f]{2})(02)(080006)([0-9a-f]{12}):ID,SIZE,VLAN,PORT,ID,SIZE,NAS_MAC;
  • des-3028

  • des-1210-28
  • dgs-3120

Пример запроса:

ADSL-Agent-Circuit-Id = 0x00040105000a
ADSL-Agent-Remote-Id = 0x000600219191b6f1

Парсер:

ADSL-Agent-Remote-Id:0x0006([0-9a-f]{12}):NAS_MAC;ADSL-Agent-Circuit-Id:0x0004([0-9a-f]{4})[0-9a-f]{2}([0-9a-f]{2})$:VLAN,PORT';

Alcatel-Lucent

Alcatel-Lucent OmniSwitch 6250

Настройка:

ip helper dhcp-snooping option-82 format ascii circuit-id interface vlan delimiter "."  

Пример запроса*

ADSL-Agent-Circuit-Id = 0x312f332e323631
ADSL-Agent-Remote-Id = 0x0006 00 e0 b1 d6 b6 9b  

Выражение:

$conf{MX80_O82_EXPR}='ADSL-Agent-Remote-Id:0x0006([0-9a-f]{12}):NAS_MAC;ADSL-Agent-Circuit-Id:(\d+)\.(\d+):PORT_DEC,VLAN_DEC:hex2ansii';  

VSOLUTION

  • VSOL-1600D4
  • VSOL-1600D8
  • VSOL-1600D16
$conf{AUTH_EXPR}='Agent-Circuit-Id:^0x([0-9a-f]{4})([a-f0-9]{4}[a-f0-9]{4})([0-9a-f]{12})$:VLAN,PORT_DEC,USER_MAC;Agent-Remote-Id:0x([0-9a-f]{12})$:NAS_MAC;';

Accel-ipoe

Аксель передаёт обе пары в одной опции

$conf{AUTH_EXPR}='';
 
# Alcatel OmniStack OS-LS-6224
$conf{AUTH_EXPR} .= 'Accel-Agent-Remote-Id:^0x0006([0-9a-f]{12}):NAS_MAC;Accel-Agent-Circuit-Id:0x0004([0-9a-f]{4})01([0-9a-f]{2})$:VLAN,PORT';
 
# ZyXEL ES-3124
$conf{AUTH_EXPR} .= ';DHCP-Option82:^0x01[0-9a-f]{2}[0-9a-f]{2}([0-9a-f]{2})([0-9a-f]{4})([0-9a-f]{16})$:PORT,VLAN,NAS_MAC';
 
# LinkSYS SPS224G4,  Alcatel LS-6224
$conf{AUTH_EXPR} .= ';DHCP-Option82:01[0-9a-f]{6}([0-9a-f]{4})01([0-9a-f]{2})[0-9a-f]{8}([0-9a-f]{12}):VLAN,PORT,NAS_MAC';
 
# D-Link DES-1100
$conf{AUTH_EXPR} .= ';DHCP-Option82:0x01[0-9a-f]{6}([0-9a-f]{4})\d{2}([0-9a-f]{2})[0-9a-f]{8}([0-9a-f]{12}):VLAN,PORT,NAS_MAC';
 
# OLT BDCOM 3310
$conf{AUTH_EXPR} .= ';DHCP-Option82:0x0105([0-9a-f]{4})\d{2}([0-9a-f]{2})\d{6}([0-9a-f]{12}):VLAN,PORT_DEC,NAS_MAC';

# OLT GCOM (тестировалось на EL5610-16P)
$conf{AUTH_EXPR} .= ';DHCP-Option82:0x[0-9a-f]{8}([0-9a-f]{4})([0-9a-f]{6})([0-9a-f]{12})[0-9a-f]{8}([0-9a-f]{12}):VLAN,PORT_DEC,USER_MAC,NAS_MAC';

Gcom и Mikrotik

PON OLT GCOM EL-5610-8P
$conf{AUTH_EXPR} = 'Agent-Remote-Id:^0x[0-9a-f]{4}([0-9a-f]{12})$:NAS_MAC;Agent-Circuit-Id:^0x[0-9a-f]{4}([0-9a-f]{4})([0-9a-f]{6})([0-9a-f]{12})$:VLAN,PORT_DEC,USER_MAC';
PON OLT GCOM EL-5610-16P
$conf{AUTH_EXPR} = 'Agent-Remote-Id:^0x[0-9a-f]{4}([0-9a-f]{12})$:NAS_MAC;Agent-Circuit-Id:^0x00([0-9a-f]{4})(\d{6})([0-9a-f]{12})$:VLAN,PORT_DEC,USER_MAC$:VLAN,PORT_DEC,USER_MAC';

RAISECOM

  • OLT RAISECOM 5508GP

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

firmware ISCOM5508-GPSC_ROAP_2.62.1_20180904(

interface gpon-olt 1/1
transceiver ddm enable
create gpon-onu 7 sn RCMG1918554C line-profile-id 50 service-profile-id 50
switchport trunk allowed vlan 2011
switchport trunk untagged vlan remove 1
switchport mode trunk
vlan drop-untagged
ip dhcp information option circuit-id \%c-\%s/\%p/\%i

возможнs такие ключи
\%v ------svlan;
\%c ------cvlan;
\%l ------the olt host name;
\%j ------Rack number, For some devices there is no concept of racks,the value is "0";
\%k ------frame number, For some devices there is no concept of frame,the value is "0";
\%s ------Slot number;
\%y ------Sub-slot number,For some devices there is no concept of frame,the value is "0";
\%p ------ gpon port number;
\%i ------ ont number.
\%n ---- ONT S/N

interface ten-gigabitethernet 1/5
ip dhcp snooping trust

vlan 2011
ip dhcp snooping


ip dhcp snooping
ip dhcp information option


Выражение

$conf{AUTH_EXPR} = 'Accel-Agent-Remote-Id:^0x([0-9a-f]{12})$:NAS_MAC;Accel-Agent-Circuit-Id:^(\d+)-(\d+\/\s*\d+_\d+)$:VLAN_DEC,PORT_DEC:hex2ansii;';

H3C

  • H3C S5100-26C (Software Version 3.10, Release 2203P08)
$conf{AUTH_EXPR} = 'ADSL-Agent-Circuit-Id:^0x0004([0-9a-f]{4})00([0-9a-f]{2})$:VLAN,PORT:increment_port;ADSL-Agent-Remote-Id:^0x0006([0-9a-f]{12})$:NAS_MAC;';

Juniper

  • QFX5100
$conf{AUTH_EXPR} = 'ADSL-Agent-Circuit-Id:^([a-z0-9./-]+)\x3a(\d+)$:PORT_MULTI,VLAN_DEC:hex2ansii;
ADSL-Agent-Remote-Id:^([0-9a-f]{2}\x3a[0-9a-f]{2}\x3a[0-9a-f]{2}\x3a[0-9a-f]{2}\x3a[0-9a-f]{2}\x3a[0-9a-f]{2})\x3a([a-z0-9./-]+)$:NAS_MAC,PORT_MULTI:hex2ansii;';

ZTE

Выражение для определения абонента по ONU

ZTE Firmware v1.*
Формат Telecom Italia (ti)
$conf{AUTH_EXPR}='Agent-Circuit-Id:([0-9a-f\.]+) pon (\d+\/\d+\/\d+\/\d+)\W(\d+):NAS_MAC,PORT_DEC,VLAN_DEC:hex2ansii;';
формата airtel
$conf{AUTH_EXPR}='ADSL-Agent-Circuit-Id:(\d{1,4})\x3a(\d+\/\d+\/\d+\/\d+\/\d+)$:VLAN_DEC,PORT_DEC:hex2ansii;';
Формат dsl-forum (c200)
$conf{AUTH_EXPR}='Agent-Circuit-Id:([0-9a-f\.]+) pon (\d+\/\s*\d+\/\d+\/\s*\d+)\/\d+\W(\d+):NAS_MAC,PORT_DEC,VLAN_DEC:hex2ansii;';
Формат для ZTE C610 с ручной настройкой Options82
$conf{AUTH_EXPR}='Agent-Circuit-Id:^(\d\/\d\/\d+.\d+)_([0-9]+)_([0-9A-F]{12})_([0-9a-f]{4}\.[0-9a-f]{4}\.[0-9a-f]{4}):PORT_MULTI,VLAN_DEC,ONU_SN,NAS_MAC:hex2ansii;


ZTE V1.2.5P3

плата 1/1/1   GTGHK      MVR        V1.2.5P3          2017-05-16 04:34:12 6010580

Пример запроса
Accel-Agent-Circuit-Id = 0x346361632e306164612e373463325f30305f30302f302f312f313a33362e302e313a333138
расшифровка 4cac.0ada.74c2_00_00/0/1/1:36.0.1:318
Формат telecom italia ti (c320)
$conf{AUTH_EXPR}='Accel-Agent-Circuit-Id:([0-9a-f\.]+)_00_(\d+\/\d+\/\d+\/\d+\W\d+)[\.0-9]+\W+(\d+):NAS_MAC,PORT_DEC,VLAN_DEC:hex2ansii;';


ZTE Firmware v2.*

DSL-FORUM-PON

DSL-FORUM-PON
$conf{AUTH_EXPR}='DHCP-Relay-Circuit-Id:([0-9A-F]{12})\/(\d\/\d\/\d+.\d+)\/\d\/([0-9]+):USER_MAC,PORT_DEC,VLAN_DEC:hex2ansii';

Zyxel

  • ES-2024A

В параметре настройки Option 82  прописываем


Relay-Agent-Information: 000012


12  это номер сервера доступа. Обязательно в строке должно быть 6 символов. Сгенерированные параметры Option 82 прописываем в серверах доступа  поле MAC.

В строке Agent-Circuit-Id  4 байта порт, 4 байта VLAN и 16 байт Ваша срока прописанная в параметре Relay-Agent-Information.


ES-2024A
$conf{AUTH_EXPR} = 'Agent-Circuit-Id:^0x([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{12})$:PORT,VLAN,NAS_MAC;';

Авторизация SERVER_VLAN + CLIENT_VLAN (q-in-q)

При возврате выражением параметров SERVER_VLAN  + VLAN система автоматически начинает авторизировать абонетов по Server Vlan + Client Vlan

Пример запроса
 NAS-Identifier = "ipoe4"
 NAS-Port-Id = "vlan123.77"
 Event-Timestamp = "чер  1 2023 14:32:49 EEST"
 Called-Station-Id = "vlan123.77"
 User-Name = "vlan123.77"
 NAS-Port = 505
 User-Password = "vlan123.77"
 Acct-Interim-Interval = 600
 Filter-Id = "IPOE_LOGIN_NOT_EXIST"
 Calling-Station-Id = "00:0b:2b:7d:5e:a9"
 NAS-Port-Type = Ethernet
 NAS-IP-Address = 192.168.1.10


Пример выражения
$conf{AUTH_EXPR}='User-Name:vlan(\d+).(\d+):SERVER_VLAN_DEC,VLAN_DEC';

Лог подключений

Авторизация по логину

$conf{AUTH_EXPR}='DHCP-Subscriber-Id:(.+):LOGIN';

Авторизация по IP

Для схем L3 введена авторизация по IP

$conf{AUTH_IP}=1;
$conf{AUTH_EXPR}='User-Name:(.+):IP';

Авторизация по коммутатору и порту

Система по мак адресу коммутатора ищет в списке серверов доступа, а потом по найденному nas_id и порту сравнивает с данными в модуле Internet+

$conf{NAS_PORT_AUTH}=1;

Каскадная авторизация


Авторизация по очереди за несколькими параметрами:

  • IP адрес, если он передается при авторизации
  • Комутатор/Порт
  • MAC


$conf{AUTH_IP}=1;
$conf{NAS_PORT_AUTH}=1;
$conf{NAS_SECOND_MAC_AUTH}=1;
  • No labels