Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

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

Так как производители


Заведение оборудования (

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

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

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

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

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

Если да - начинает проходить по списку указанных шаблонов. 
При попадании в параметры система подставляет выбранные VLAN PORT NAS_MAC MAC MAC_DEC (если мак не нужно преобразовывать в десятичный форма из шестнадцатеричного)

комутаторы)

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


Парметры:

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 (если не нужно преобразовывать порт из десятеричного
шестнадцатеричного
в шестнадцатеричный формата)
в 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 закодированного в HEXPORTПорт в шестнадцатеричном формате конвертируется в десятеричный при обработкеPORT_MULTIПорт в шестнадцатеричном формате без конвертацииDEC_PORTПорт в десятеричном форматеVLANVLAN в шестнадцатиричном форматеVLAN_DECVLAN в десятеричном форматеSERVER_VLANСерверный VLAN в десятеричном форматеAGENT_REMOTE_IDCIRCUIT_IDLOGINЛогин абонентаUSER_MACЕсли парсер находит данную переменную
, 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:

  • Edge-Core ES-3526XA V2

  • Edge-Core ES-3510MA

  • Huawei s2326tp-ei (Версия прошивки: s2300ei-v100r006c05.cc)
    NAS_MAC

    MAC адрес сервера доступа. Если парсер находит данную переменную в формате xxxxxxxxxxxx приводи её в вид xx:xx:xx:xx:xx:xx

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

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

    Cisco

    • 3550

    Code Block
    languagebash
    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

    Code Block
    languagebash
    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;

    . Так же некоторые устройства могут передавать просто идентификаторы не связанные 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

    Code Block
    languagebash
    DHCPAgent-RelayCircuit-Agent-InformationId:0x0x0004(01)(06)[0-9a-f]{4}()[0-9a-f]{4})\d{2}([0-9a-f]{2})(02)(08)[0-9a-f]{4}:VLAN,PORT;Agent-Remote-Id:([0-9a-f:]{1216}):ID,SIZE,VLAN,PORT,ID,SIZE,$:NAS_MAC;:hex2ansii

    Edge-Core

    • Edge-Core ESC3510ES-28T3528M

    запрос:

    Code Block
    languagebash
    DHCP-Relay-Circuit-Id = 0x0004020c0119
    DHCP-Relay-Remote-Id = 0x0006cc37ab8fafbc

    Расшифровка

    Code Block
    languagebash
    DHCP-Relay-Circuit-Id:0x0004Agent-Information:0x(01)(04)([0-9a-f]{4})\d{2}([0-9a-f]{2})(02)(06)([0-9a-f]{212}):ID,SIZE,VLAN,PORT;DHCP-Relay-Remote-Id:0x0006([0-9a-f]{12}):,ID,SIZE,NAS_MAC

    Eltex

    GePON NTE-2 и NTE-RG
    ;
    • Edge-Core ES-3526XA V2

    • Edge-Core ES-3510MA

    Code Block
    languagebash
    DHCP-Relay-Agent-Information:0x(01)(0b06)[0-9a-f]{4}([0-9a-f]{4})[0-9a-f]{10\d{2}([0-9a-f]{42})(02)(0b08)[0-9a-f]{104}([0-9a-f]{12}):ID,SIZE,VLAN,PORT,ID,SIZE,NAS_MAC;

    Huawei

    • S2326TP-EI

    Пример запроса
    • Edge-Core ESC3510-28T

    запрос:

    Code Block
    languagebash
    AgentDHCP-Relay-RemoteCircuit-Id = 0x000604bd70f9cd110x0004020c0119
    AgentDHCP-Relay-CircuitRemote-Id = 0x00040fa000180x0006cc37ab8fafbc

    НастройкаРасшифровка

    Code Block
    languagebash
    AgentDHCP-Relay-RemoteCircuit-Id:0x00060x0004([0-9a-f]{124}):NAS_MAC;Agent-Circuit-Id:0x0004([0-9a-f]{42})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
    ;DHCP-Relay-Remote-Id:0x0006([0-9a-f]{12}):NAS_MAC

    Eltex

    • GePON NTE-2 и NTE-RG

    Code Block
    languagebash
    $conf{AUTH_EXPR}='DHCP-Relay-Agent-Information:0x01060004(0x(01)(0b)[0-9a-f]{4})\d{2}([0-9a-f]{24})02080006([[0-9a-f]{12}):VLAN,PORT,NAS_MAC;DHCP-Relay-Agent-Information:0x010510}([0-9a-f]{4})\d{2}((02)(0b)[0-9a-f]{4})\d{4}10}([0-9a-f]{12}):ID,SIZE,VLAN,PORT_DEC,ID,SIZE,NAS_MAC;';
    при использовании DHCP-Relay-Circuit-Id или 

    Huawei

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

    Code Block
    languagebash
    Agent-Remote-Id = 0x000604bd70f9cd11
    Agent-Circuit-Id = 0x00040fa00018

    Настройка

    Code Block
    languagebash
    DHCP-RelayAgent-Remote-Id:0x0006([0-9a-f]{12}):NAS_MAC;Agent-Circuit-Id:0x0x0004([0-9a-f]{4})00([0-9a-f]{42}):VLAN,PORT_DEC;DHCP-Relay

    Bdcom

    • OLT BDCOM 3310

    типы опций

    • hn-type - Настройка авторизации по ONU + VLAN в опции Agent-Remote-Id

    :0x([0-9a-f]{12}):NAS_MAC

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

    $conf{DHCP_O82_BDCOM_TYPE}='hn-type';
    • передаётся 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

    Code Block
    languagebash
    $conf{AUTH_EXPR}='DHCP-Relay-Agent-Remote-IdInformation:0x0x01060004([0-9a-f]{12}):USER_MAC;Agent-Circuit-Id:0x4})\d{2}([0-9a-f]{42})0002080006([0-9a-f]{412}):VLAN,PORT,NAS_DEC';

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

    Foxgate

    • Foxgate-s-6224-s2

    Code Block
    languagebash
    MAC;DHCP-Relay-Agent-Information:0x(01)(08)0006(0x0105([0-9a-f]{4})\d{2}([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 DGS-1100-10

    Code Block
    languagebash
     DHCP-Relay-Circuit-Id = 0x01040b710005
     DHCP-Relay-Remote-Id = 0x0103313233

    Выражение:

    Code Block
    languagebash
    DHCP-Relay-Circuit-Id:0x01040b710005:;DHCP-Relay-Remote-Id:0x0103313233:
    Code Block
    languagebash
    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
    Code Block
    languagebash
    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;
    • D-link DES3028

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

    Code Block
    languagebash
    ADSL-Agent-Circuit-Id = 0x0004 0105 00 0a
    ADSL-Agent-Remote-Id = 0x000600219191b6f1

    Парсер:

    Code Block
    languagebash
    ADSL-Agent-Remote-Id:0x0006([0-9a-f]{12}):NAS_MAC;ADSL-Agent-Circuit-Id:0x0004([0-9a-f]{4})4}([0-9a-f]{12}):VLAN,PORT_DEC,NAS_MAC;';

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

    Code Block
    languagebash
    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';

    Code Block
    languagebash
    $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

    Code Block
    languagebash
    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
    Code Block
    languagebash
    titleПример
     DHCP-Relay-Circuit-Id = 0x01040b710005
     DHCP-Relay-Remote-Id = 0x0103313233

    Выражение:

    Code Block
    languagebash
    $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
    Code Block
    languagebash
    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

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

    Code Block
    languagebash
    ADSL-Agent-Circuit-Id = 0x00040105000a
    ADSL-Agent-Remote-Id = 0x000600219191b6f1

    Парсер:

    Code Block
    languagebash
    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

    Настройка:

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

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

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

    Выражение:

    Code Block
    languagebash
    $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
    Code Block
    $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

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

    Code Block
    languagebash
    $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

    Code Block
    languageperl
    titlePON 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';


    Code Block
    languageperl
    titlePON 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

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

    Code Block
    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
    
    


    Выражение

    Code Block
    $conf{AUTH_EXPR} = 'Accel-Agent-Remote-Id:^0x([0-9a-f]{412})$:VLAN,PORT';

    Alcatel-Lucent

    Alcatel-Lucent OmniSwitch 6250

    Настройка:

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

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

    Code Block
    languagebash
    ADSLNAS_MAC;Accel-Agent-Circuit-Id = 0x312f332e323631
    ADSL-Agent-Remote-Id = 0x0006 00 e0 b1 d6 b6 9b  

    Выражение:

    Code Block
    languagebash
    $conf{MX80_O82_EXPR}=:^(\d+)-(\d+\/\s*\d+_\d+)$:VLAN_DEC,PORT_DEC:hex2ansii;';

    H3C

    • H3C S5100-26C (Software Version 3.10, Release 2203P08)
    Code Block
    $conf{AUTH_EXPR} = 'ADSL-Agent-RemoteCircuit-Id:0x0006^0x0004([0-9a-f]{4})00([0-9a-f]{122})$:NAS_MACVLAN,PORT:increment_port;ADSL-Agent-CircuitRemote-Id:(\d+)\.(\d+):PORT_DEC,VLAN_DEC:hex2ansii';  

    ZTE

    Обработка

    Формат Telecom Italia

    Code Block
    languagebash
    ^0x0006([0-9a-f]{12})$:NAS_MAC;';

    Juniper

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

    формата airtel

    Code Block
    languagebash
    $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)

    bash
    Code Block
    language
    
    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.*
    Code Block
    titleФормат Telecom Italia (ti)
    $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;';
    VSOLUTION


    Code Block
    • VSOL-1600D16
    code
    titleформата airtel
    $conf{AUTH_EXPR}='ADSL-Agent-Circuit-Id:^0x([a-f0-9]{(\d{1,4})\x3a(\d{4}\d{4})([0-9a-f]{12}\d+\/\d+\/\d+\/\d+\/\d+)$:VLAN_DEC,PORT_DEC,USER_MAC;Agent-Remote-Id:0x([0-9a-f]{12})$:NAS_MAC:hex2ansii;';
    Accel-ipoe

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


    $conf{AUTH_EXPR}=''; # Alcatel OmniStack OS-LS-6224
    Code Block
    languagebash
    titleФормат dsl-forum (c200)
    $conf{AUTH_EXPR} .= 'Accel-Agent-RemoteCircuit-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
    +) pon (\d+\/\s*\d+\/\d+\/\s*\d+)\/\d+\W(\d+):NAS_MAC,PORT_DEC,VLAN_DEC:hex2ansii;';


    Code Block
    titleФормат для ZTE C610 с ручной настройкой Options82
    $conf{AUTH_EXPR} .= ';DHCP-Option82:^0x01[0-9a-f]{2}[0-9a-f]{2}Agent-Circuit-Id:^(\d\/\d\/\d+.\d+)_([0-9]+)_([0-9A-F]{12})_([0-9a-f]{24})(\.[0-9a-f]{4})(\.[0-9a-f]{164})$:PORT,VLAN_MULTI,VLAN_DEC,ONU_SN,NAS_MAC';
     
    # LinkSYS SPS224G4,  Alcatel LS-6224
    :hex2ansii;


    ZTE V1.2.5P3

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


    Code Block
    titleПример запроса
    Accel-Agent-Circuit-Id = 0x346361632e306164612e373463325f30305f30302f302f312f313a33362e302e313a333138
    расшифровка 4cac.0ada.74c2_00_00/0/1/1:36.0.1:318


    Code Block
    titleФормат telecom italia ti (c320)
    $conf{AUTH_EXPR} .= ';DHCP-Option82:01[0-9a-f]{6}Accel-Agent-Circuit-Id:([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
    +)_00_(\d+\/\d+\/\d+\/\d+\W\d+)[\.0-9]+\W+(\d+):NAS_MAC,PORT_DEC,VLAN_DEC:hex2ansii;';


    ZTE Firmware v2.*

    DSL-FORUM-PON

    Code Block
    titleDSL-FORUM-PON
    $conf{AUTH_EXPR} .= ';DHCP-Option82:0x01[0-9a-f]{6}Relay-Circuit-Id:([0-9a9A-fF]{412})\d{2}([0-9a-f]{2})[0-9a-f]{8}\/(\d\/\d\/\d+.\d+)\/\d\/([0-9a-f]{12}9]+):VLANUSER_MAC,PORT_DEC,NASVLAN_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})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.


    Code Block
    titleES-2024A
    $conf{AUTH_EXPR} = 'Agent-Circuit-Id:^0x([0-9a-f]{64})([0-9a-f]{124})[0-9a-f]{8}([0-9a-f]{12})$:PORT,VLAN,PORT_DEC,USER_MAC,NAS_MAC';

    Gcom и Mikrotik

    Code Block
    languageperl
    titlePON 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-9
    a-f]{12})$:VLAN,PORT_DEC,USER_MAC';
    Code Block
    languageperl
    titlePON 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';NAS_MAC;';


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

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

    Code Block
    titleПример запроса
     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


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


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

    Image Added


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

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


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

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

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


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

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

    Code Block
    languagebash
    $conf{NAS_PORT_AUTH}=1;


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


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

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


    Code Block
    $conf{AUTH_IP}=1;
    $conf{NAS_PORT_AUTH}=1;
    $conf{NAS_SECOND_MAC_AUTH}=1;