Изменение параметра NAS-Port-Id

Radius related questions
Post Reply
MagomedovD
Posts: 6
Joined: 20 Jun 2019, 07:52

Изменение параметра NAS-Port-Id

Post by MagomedovD »

Как можно отредактировать передаваемые данные в поле NAS-Port-Id при подъеме сессии.
Сейчас accel передает в этом поле название интерфейса
[2019-06-20 13:10:49]: info: vlan4029.2222: send [RADIUS(1) Access-Request id=1 <User-Name "vlan4029.2222"> <NAS-IP-Address 91.201.176.17> <NAS-Port 214> <NAS-Port-Id "vlan4029.2222"> <NAS-Port-Type Ethernet> <Calling-Station-Id "d8:c4:97:c8:9d:2c"> <Called-Station-Id "vlan4029.2222"> <NAS-Identifier "ipoe"> <User-Password 0x5e4ba34e56e2135f53fffec74db2e187>]

Хотелось бы привести в вид название_интерфейса:Svlan-Cvlan
dimka88
Posts: 861
Joined: 13 Oct 2014, 05:51
Contact:

Re: Изменение параметра NAS-Port-Id

Post by dimka88 »

Если используется модуль vlan-mon для создания интерфейсов, то можно так.

Code: Select all

[ipoe]
vlan-mon=re:^eth0\.\d+$,2-4096
vlan-name=%P.%N
Стоит так же учитывать, что интерфейсы будет созданы с именем S-VID.C-VID, соответственно необходимо будет поправить регулярное выражение в [ipoe]interface=^\d+\.\d+$

В wiki проекта более детально описано https://accel-ppp.org/wiki/doku.php?id=ru:ipoe
MagomedovD
Posts: 6
Joined: 20 Jun 2019, 07:52

Re: Изменение параметра NAS-Port-Id

Post by MagomedovD »

Если я правильно понял, Вы предлагаете сделать название интерфейса под мои нужды.
Сейчас на тесте пробую такую схему. Svid = 4029, Cvid=2222
Сетевой интерфейс enp130s0f0
Создать влан с названием enp130s0f0:4029 нельзя, запрещенный символ.
А мне необходимо передать в NAS-Port-Id данные в следующем виде: NAS-Port-Id "enp130s0f0:4029-2222"
то что до двоеточия не имеет особого значения, важно именно после двоеточия вланы через дефис
dimka88
Posts: 861
Joined: 13 Oct 2014, 05:51
Contact:

Re: Изменение параметра NAS-Port-Id

Post by dimka88 »

Да, именно это и было предложено. Вам не обязательно держать интерфейсы в системе вида enp130s0f0.4029....... Интерфейсы могут иметь имя не содержащее enp130s0f0. Также стоит учитывать что в названи интерфейса есть ограничение на количество символов в 16. Если вам нужен формат 4029-2222

Code: Select all

[ipoe]
vlan-mon=re:^enp130s0f0\.\d+$,2-4096
vlan-name=%P-%N
interface=re:^\d+\-\d+$
Соответсвенно будет созданы интерфейсы вида: 4029-2222 и следовательно будет NAS-Port-Id "4029-2222"
MagomedovD
Posts: 6
Joined: 20 Jun 2019, 07:52

Re: Изменение параметра NAS-Port-Id

Post by MagomedovD »

Да, действительно, в такой связке передается "4029-2222"
Но необходимо все же передать интерфейс:Svan-Cvlan, т.е. eth2:4029-2222
Переименовать интерфейс не проблема,двоеточие в названии интерфейса нельзя использовать.
[2019-06-25 10:57:34]: info: ipoe: create vlan :4029-2222 parent enp130s0f0.4029
[2019-06-25 10:57:34]: debug: libnetlink: RTNETLINK answers: Invalid argument
Нет ли альтернативного варианта, не через имя интерфейса формировать поле Nas-Port-ID?
dimka88
Posts: 861
Joined: 13 Oct 2014, 05:51
Contact:

Re: Изменение параметра NAS-Port-Id

Post by dimka88 »

NAS-Port-Id должен содержать имя интерфейса.
RFC 2869
5.17. NAS-Port-Id

Description

This Attribute contains a text string which identifies the port of
the NAS which is authenticating the user. It is only used in
Access-Request and Accounting-Request packets. Note that this is
using "port" in its sense of a physical connection on the NAS, not
in the sense of a TCP or UDP port number.

Either NAS-Port or NAS-Port-Id SHOULD be present in an Access-
Request packet, if the NAS differentiates among its ports. NAS-
Port-Id is intended for use by NASes which cannot conveniently
number their ports.
Есть только обратный вариант, RADIUS сервер ответив Access-Accept и передав радиус атрибут Nas-Port-ID может переименовать интерфейс ну и соответсвенно и Nas-Port-ID.

Можно во vlan-name указать любой патерн хоть vlan-name=eth100.%P-%N, но к сожалению без двоеточия
MagomedovD
Posts: 6
Joined: 20 Jun 2019, 07:52

Re: Изменение параметра NAS-Port-Id

Post by MagomedovD »

Спасибо за ответ.
В просто в данный момент все крутится на juniper, от него приходит в таком виде
NAS-Port-Id = "xe-0/0/2.1073876656:4020-1818"

Под это соответственно настроен и радиус, и биллинг, хотелось с минимальными изменениями ввести в работу accel.
Видимо придется все же, править радиус
Post Reply