Question: Настройка функции PPPoE intermediate agent в DAS-3216 / 3224 / 3248 / 3248DC rev. B1

Answer: 

Функция PPPoE intermediate agent подобна функции DHCP option 82, за тем исключением, что Circuit ID и Remote ID теги посредством DSLAM помещаются во все пакеты PPPoE discovery stage (PADI, PADR и PADT), что позволяет однозначно идентифицировать клиента и с учетом корректности передаваемой информации проводить аутентификацию. Как правило, данная функция используется для «привязки» абонента (получающего доступ во внешнюю сеть с использованием протокола PPPoE) к конкретному порту DSLAM. В случае подключения абонента к другому порту DSLAM (попытка аутентификации с корректным логином/паролем, но с другого порта DSLAM) – в данном случае доступ к услуге будет запрещен, так как связка логин/пароль + Circuit ID + Remote ID неверна.

Схема сети:


Модифицированный PADI пакет:


Пример настройки DAS-3224 rev. B

Создание фильтрующего правила для перенаправления PADI пакетов Control Plane устройства на обработку:

$create filter rule entry ruleid 200 action sendtocontrol description pppoed statsstatus enable

Entry Created

Rule Id                 : 200        Rule Action  : sendtocontrol
Set Priority            : -          Admin status : disable
Stats admin status      : enable     Rule Priority  : High
Rule Direction          : IN         ApplyWhenReq  : disable
Pkt Type                : Ucast
Application Description : pppoed
Snoop Level             : interface

Создание подправила, в котором указан идентификатор протокола PPPoE (discovery stage):

$create filter subrule ether ruleid 200 subruleid 1 ethertypefrom 0x8863 ethertypecmp eq

Entry Created

Rule Id                        : 200        Subrule Id                     : 1
Start source mac address       : -
End source mac address         : -
Start destination MAC address  : -
End destination MAC address    : -
Start ethernet type            : 0x8863     End ethernet type              : -
Start VLAN Id                  : -          End VLAN Id                    : -
Start priority tag             : -          End priority tag               : -
Start DSAP                     : -          End DSAP                       : -
Start SSAP                     : -          End SSAP                       : -
Source MAC address comparison  : Any        Destination MAC addr comparison: Any
Ether type comparison          : eq         Vlan Id comparison             : Any
Priority tag comparison        : Any        DSAP comparison                : any
SSAP comparison                : any        Subrule Priority               : asinrule

Включение правила в работу:

$modify filter rule entry ruleid 200 status enable

Rule Id                 : 200        Rule Action  : sendtocontrol
Set Priority            : -          Admin status : disable
Stats admin status      : enable     Rule Priority  : High
Rule Direction          : IN         ApplyWhenReq  : disable
Pkt Type                : Ucast
Application Description : pppoed
Snoop Level             : interface

Set Done

Rule Id                 : 200        Rule Action  : sendtocontrol
Set Priority            : -          Admin status : enable
Stats admin status      : enable     Rule Priority  : High
Rule Direction          : IN         ApplyWhenReq  : disable
Pkt Type                : Ucast
Application Description : pppoed
Snoop Level             : interface

Привязка созданного правила ко всем интерфейсам:

$create filter rule map ifname all stageid 1 ruleid 200

Entry Created

Interface : All        Stage Id : 1
Rule Id   : 200        Order Id : 200

Включение функции PPPoE intermediate agent (выполняется глобально на устройстве):

$modify pppoer option relayenable enable
Relay Enable
---------------
disable

Set Done

Relay Enable
---------------
enable

Задание тега Circuit ID (задается глобально на устройстве в настройках DHCP relay):

$modify dhcpr option circuitid dslam

Relay Enable : disable          Option82 enable : disable
dhcp server  : 0.0.0.0          relay agent     : 0.0.0.0
circuit ID   : ipdslam-port-vpi-vci

Set Done

Relay Enable : disable          Option82 enable : disable
dhcp server  : 0.0.0.0          relay agent     : 0.0.0.0
circuit ID   : dslam

Задание тега Remote ID (указывается отдельно для каждого порта в настройках DHCP relay). В рамках данного примера – 2-ой абонентский порт:

$modify dhcpr remoteid portid 2 remoteid modem2

Port Id   : 2
remote ID : empty

Set Done

Port Id   : 2
remote ID : modem2

Сохранение настроек:

$commit

После вышеуказанных настроек теги Circuit ID и Remote ID будут помещаться в пакеты PPPoE discovery stage, приходящие от абонентского устройства (CPE), подключенного ко второму DSL интерфейсу и отправляться на BRAS.