Раздел находится в разработке
Данная возможность разрешает к параметрам авторизации абонентам добавить еще один дополнительный параметр а именно порт коммутатора подключения.
При авторизации сервер доступа передаёт на радиус параметр, у разных вендоров, по разному
ADSL-Agent-Circuit-Id = test_switch_1:GigabitEthernet0/0/1 или ADSL-Agent-Circuit-Id = '0x32433a43383a31423a31463a32313a33333a3a3130302e3131302e3131302e3234333a3a3133' или ADSL-Agent-Remote-Id = "\200:\364\251\026s"
В данном параметре передаются данные о коммутаторе доступа и порте подключения абонента. Если включена эта опция и заполнен порт у абонента система игнорирует мак авторизацию
Для использования данное параметра в качестве дополнительного параметра авторизации нужно прописать в конфигурационном файле параметр:
$conf{INTERNET_PPPOE_PLUSE_PARAM}='ADSL-Agent-Circuit-Id';
Система заполнит поле Opt82, при первой авторизации абонента и начнёт авторизировать по этому параметру
Для привязке порта к карточке абонента, создаётся плагин equipment_opt82, который будет смотреть на поле Opt82, парсить его и вытаскивать сам коммутатор и порт, на котором сидит абонент, так-же плагин будет расставлять нужные параметры, чтоб начала отображатся информация с порта.
Так как у разных вендоров прилетают разные опции, то накопление информации займёт какое-то время
Также если в конфигурации указана опция $conf{INTERNET_PPPOE_PLUSE_PARAM} система автоматически заполняет параметр порт для абонентов с незаполненным полем. Чтобы не проверять параметр дополнительной авторизации в поле Порт нужно прописать параметр ANY
Все параметры, используемые для авторизации абонента по Opt82
| Параметр | Что делает |
|---|---|
$conf{INTERNET_PPPOE_PLUSE_PARAM}='ADSL-Agent-Circuit-Id'; | Вносятся данные, по которому может быть идентифицирован абонент: ADSL-Agent-Circuit-Id |
| $conf{INTERNET_CID_SKIP}=1; | Пропустить авторизацию по мак адресу абонента, поле CID может быть любым, хоть заполнено первичным мак адресом |
| $conf{MAC_AUTO_ASSIGN}=1; | Автоматически заполнять поле CID при первом подключении абонента |
| $conf{MAC_AUTO_ASSIGN_FORCE}=1; | Всегда заполнять/обновлять поле CID у абонента (используется совместно с $conf{MAC_AUTO_ASSIGN}=1;) |
| $conf{INTERNET_PPPOE_AUTH_VLAN}=1; | Авторизировать абонента по номеру VLAN из Caller-Station-Id абонента |
| $conf{INTERNET_PPPOEPLUS_SKIP_AUTH}=1; | Не проверять значение поля Opt82, не проводить авторизацию по этому полю |
| $conf{INTERNET_PPPOEPLUS_FORCE_UPDATE}=1; | Всегда оюновлять поле Opt82 (работает только вместе с $conf{INTERNET_PPPOEPLUS_SKIP_AUTH}=1;) |
$conf{INTERNET_CHECK_NAS_PORT}=1; | включает проверку уникальности nas_id и порта |
| $conf{INTERNET_CHECK_PORT_OPT82}=1; | включает проверку уникальности поля opt_82 |
| $conf{INTERNET_ALLOW_CPE_MAC_DUPS}=1; | разрешает дубликаты cpe, но выдаст warning |
| $conf{INTERNET_ALLOW_MAC_DUPS}=1; | разрешает дубликаты cid, но выдаст warning |
Включение PPPoE+ на D-Link
config pppoe circuit_id_insertion state enable config pppoe circuit_id_insertion ports 1-16 state enable circuit_id ip remote_id default config pppoe circuit_id_insertion ports 17-18 state disable circuit_id ip remote_id default
Плагин equipment_ccid
Позволяет автоматически заполнить сервер доступа и порт в карточке абонента
Пока работает только со свитчами D-Link
Настройки
Чтобы плагин корректно отработал, у вас должны быть заполненены данные в поле Opt82
Это поле можно заполнить вручную или с опцией $conf{INTERNET_PPPOE_PLUSE_PARAM}='ADSL-Agent-Circuit-Id';
Чекбокс Port fill - должен быть включён
Свитч D-Link должен быть заведён, в серверах доступа, с типом dlink_pb
Запуск
/usr/abills/libexec/billd equipment_opt82
Как работает
Плагин смотрит включён-ли чекбокс, если чекбокс включён то смотрится на поле Opt82, если поле заполнено то сравнивает полученные данные из Opt82 и подставляет их в нужные значения
