Ответ:
Функция 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.