Это старая версия документа.
Выражения
Включаются в параметре $conf{AUTH_EXPR}.
Так как производители оборудования (коммутаторов) не всегда придерживаются стандартов при формирование запросов DHCP Option 82 в системе была создана возможность задать регулярное выражение для получения нужных параметров из DHCP запроса . Использовать дополнительные выражения для получения корректных данных с запросов от коммутаторов в которых параметры опции 82 отличаются от стандартных.
формат выражения через точку с запятой:
радиус_пара:условия:переменные[:hex2ansii];условия:переменные….
радиус_пара | радиус пара запроса |
---|---|
условия | |
переменные | переменные результата VLAN PORT NAS_MAC MAC MAC_DEC (если мак не нужно преобразовывать в шестнадцатеричный из десятеричного) PORT_DEC (если не нужно преобразовывать порт из десятеричного в шестнадцатеричный формата) |
hex2ansii | если указан єтот параметр система перед вычислением нужных переменных преобразует строку с шестнадцатеричного формата в текстовый |
Система при получении параметра проверяет нужно ли использовать внешние выражения (При включении выражений система отключает шаблон по умолчанию для распознавания коммутаторов.).
Eсли да, начинает проходить по списку указанных шаблонов.
При попадании в параметры перебор прекращается и система подставляет выбранные VLAN PORT NAS_MAC MAC MAC_DEC (если мак не нужно преобразовывать в десятичный форма из шестнадцатеричного) PORT_DEC (если не нужно преобразовывать порт из десятеричного шестнадцатеричного формата) в DHCP-Agent-Circuit-Id и DHCP-Agent-Remote-Id.
Дальше уже идут стандартные процедуры работы с DHCP.
NAS_MAC | MAC адрес сервера доступа |
---|---|
NAS_MAC_HEX | MAC адрес сервера доступа в виде ASCII закодированного в HEX |
PORT | Порт в шестнадцатеричном формате конвертируется в десятеричный при обработке |
PORT_MULTI | Порт в шестнадцатеричном формате без конвертации |
DEC_PORT | порт в десятеричном формате |
VLAN | VLAN в шестнадцатиричном формате |
VLAN_DEC | VLAN в десятеричном формате |
SERVER_VLAN | Серверный VLAN в десятеричном формате |
AGENT_REMOTE_ID | |
CIRCUIT_ID | |
LOGIN | Логин абонента |
Примеры Выражений
Версия билинга не ниже 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
- Huawei S2318TP-EI
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
- Huawei s2326tp-ei (Версия прошивки: s2300ei-v100r006c05.cc)
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
- S2326TP-EI
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
Настройка 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-Circuit-Id:0x([0-9a-f]{4})00([0-9a-f]{4}):VLAN,PORT_DEC;';
Agent-Remote-Id - Мак ONU
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;
D-link
- D-Link DGS-1100-10
DHCP-Relay-Circuit-Id = 0x01040b710005 DHCP-Relay-Remote-Id = 0x0103313233
Выражение:
DHCP-Relay-Circuit-Id:0x01040b710005:;DHCP-Relay-Remote-Id:0x0103313233:
DHCP-Relay-Agent-Information:0x(01)(06)0004([0-9a-f]{4})\d{2}([0-9a-f]{2})(02)(08)([0-9a-f]{12}):ID,SIZE,VLAN,PORT,ID,SIZE,NAS_MAC;
- Dlink 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;
ZTE
Обработка
Формат Telecom Italia
$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{MX80_O82_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;';
Accel-ipoe
Аксель передаёт обе пары в одной опции
$conf{AUTH_EXPR}=''; # Alcatel OS6250 $conf{AUTH_EXPR} .= 'DHCP-Option82:0x01[0-9a-f]{6}([0-9a-f]{4})[0-9a-f]{6}([0-9a-f]{2})\d{4}([0-9a-f]{12}):VLAN,PORT,NAS_MAC'; # ZyXEL ES-3124 $conf{AUTH_EXPR} .= ';DHCP-Option82:^0x01[0-9a-f]{2}[0-9a-f]{2}([0-9]{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';
Авторизация по логину
$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;