Delegated-IPv6-Prefix

Radius related questions
Post Reply
taf_321
Posts: 19
Joined: 10 Sep 2015, 05:25

Delegated-IPv6-Prefix

Post by taf_321 »

Добрый день!

Возможно ли как-то через конфигурирование научить accel-ppp брать данные для ipv6 delegate не из атрибута Delegated-IPv6-Prefix, а из другого, к примеру из Framed-IPv6-Prefix?

Радиус сервер используется из Netup UTM, и отказаться от него мы не можем. А в нем в плане настраиваимости и гибкости все печально.
Dmitry
Администратор
Posts: 954
Joined: 09 Oct 2014, 10:06

Re: Delegated-IPv6-Prefix

Post by Dmitry »

можно исправит радиус словарь
в том смысле что наменование атрибута оставит как есть Delegated-IPv6-Prefix, а его номер заменить на какой-то другой какой ваш биллинг может прислать
taf_321
Posts: 19
Joined: 10 Sep 2015, 05:25

Re: Delegated-IPv6-Prefix

Post by taf_321 »

К сожалению, не помогло. Поменял у Delegated-IPv6-Prefix номер с 123 на 97 (Framed-IPv6-Prefix), но результат отрицательный, accel-ppp не назначает префикс для делегирования, видать все же ждет с 123
taf_321
Posts: 19
Joined: 10 Sep 2015, 05:25

Re: Delegated-IPv6-Prefix

Post by taf_321 »

Кусок лога:

Sep 13 01:38:23 bras-m17 accel-pppd: :: send [RADIUS(1) Access-Request id=1 <User-Name "ipline1"> <NAS-IP-Address 10.1.1.5> <NAS-Port 4294967295> <NAS-Port-Id ""> <NAS-Port-Type Virtual> <Service-Type Framed-User> <Framed-Protocol PPP> <Calling-Station-Id "vlanPPPoE46:f8:f0:82:51:0d:9f"> <Called-Station-Id "90:e2:ba:84:80:4a"><Microsoft MS-CHAP-Challenge ><Microsoft MS-CHAP2-Response >]
Sep 13 01:38:23 bras-m17 accel-pppd: :: recv [RADIUS(1) Access-Accept id=1<Microsoft MS-CHAP2-Success > <Service-Type Framed-User> <Framed-Protocol PPP> <Framed-Interface-Id 0:0:0:1> <Framed-IPv6-Prefix 2a02:XXXX:XXXX:1::/64> <Session-Timeout 604800> <Acct-Interim-Interval 600>]
Sep 13 01:38:23 bras-m17 accel-pppd: ppp30:ipline1: <ipline1>: authentication succeeded
Sep 13 01:38:23 bras-m17 accel-pppd: ppp30:ipline1: send [RADIUS(1) Accounting-Request id=1 <User-Name "ipline1"> <NAS-IP-Address 10.1.1.5> <NAS-Port 30> <NAS-Port-Id "ppp30"> <NAS-Port-Type Virtual> <Service-Type Framed-User> <Framed-Protocol PPP> <Calling-Station-Id "vlanPPPoE46:f8:f0:82:51:0d:9f"> <Called-Station-Id "90:e2:ba:84:80:4a"> <Acct-Status-Type Start> <Acct-Authentic RADIUS> <Acct-Session-Id "8ff4b36fbff679e8"> <Acct-Session-Time 0> <Acct-Input-Octets 0> <Acct-Output-Octets 0> <Acct-Input-Packets 0> <Acct-Output-Packets 0> <Acct-Input-Gigawords0> <Acct-Output-Gigawords 0> <Framed-Interface-Id 7893:9f10:915e:bbe4> <Framed-IPv6-Prefix 2a02:XXXX:XXXX:1::/64>]
Sep 13 01:38:23 bras-m17 accel-pppd: ppp30:ipline1: recv [RADIUS(1) Accounting-Response id=1]
taf_321
Posts: 19
Joined: 10 Sep 2015, 05:25

Re: Delegated-IPv6-Prefix

Post by taf_321 »

К сожалению, номера атрибутов 97 и 123 жестко прописаны в attr_defs.h, посему пришлось городить такой кривой хак:

diff --git a/accel-pppd/radius/radius.c b/accel-pppd/radius/radius.c
index 64c85df..2f5e4c3 100644
--- a/accel-pppd/radius/radius.c
+++ b/accel-pppd/radius/radius.c
@@ -139,8 +139,8 @@ int rad_proc_attrs(struct rad_req_t *req)
a->prefix_len = attr->val.ipv6prefix.len;
a->addr = attr->val.ipv6prefix.prefix;
list_add_tail(&a->entry, &rpd->ipv6_addr.addr_list);
- break;
- case Delegated_IPv6_Prefix:
+/* break;
+ case Delegated_IPv6_Prefix: */
a = _malloc(sizeof(*a));
a->prefix_len = attr->val.ipv6prefix.len;
a->addr = attr->val.ipv6prefix.prefix;


Механизма для ремапа атрибутов не хватает :(
tugik
Posts: 28
Joined: 26 Jan 2015, 13:58

Re: Delegated-IPv6-Prefix

Post by tugik »

Коллеги, всем привет!

Собрал стенд для тестов передачи параметров IPv6 в радиус при соединении pptp и сбора статистики по выделенным IPv6 адресам accel-ом

конфиг
[ipv6-pool]
2a00:ede0:1::/48,64
delegate=2a00:ede0:101::/48,60

Но не получается принять от accel-ppp параметр Delegated_IPv6_Prefix:

при этом сам accel клиенту выдает адреса при установлении соединения а делегированный адрес уже после установки соединения

лог соединения
[2015-10-16 22:33:33]: info: ppp0: send [RADIUS(1) Accounting-Request id=1 <User-Name "tugik"> <NAS-Identifier "nas-2-ppp"> <NAS-IP-Address 10.10.1.42> <NAS-Port 0> <NAS-Port-Id "ppp0"> <NAS-Port-Type Virtual> <Service-Type Framed-User> <Framed-Protocol PPP> <Calling-Station-Id "194.79.63.117"> <Called-Station-Id "213.111.128.42"> <Acct-Status-Type Start> <Acct-Authentic RADIUS> <Acct-Session-Id "c2c77254d9c84189"> <Acct-Session-Time 0> <Acct-Input-Octets 0> <Acct-Output-Octets 0> <Acct-Input-Packets 0> <Acct-Output-Packets 0> <Acct-Input-Gigawords 0> <Acct-Output-Gigawords 0> <Framed-IP-Address 192.168.243.233> <Framed-Interface-Id 0:0:0:6> <Framed-IPv6-Prefix 2a00:ede0:1::/64>]
[2015-10-16 22:33:33]: info: ppp0: recv [RADIUS(1) Accounting-Response id=1]
[2015-10-16 22:33:33]: info: ppp0: shaper: installed shaper 1024000/1024000 (Kbit)
[2015-10-16 22:33:33]: debug: ppp0: pptp: ppp started
[2015-10-16 22:33:33]: info: ppp0: pppd_compat: ip-up started (pid 9421)
[2015-10-16 22:33:33]: info: ppp0: pppd_compat: ip-up finished (0)
[2015-10-16 22:33:34]: info: ppp0: recv [DHCPv6 Solicit XID=d71368 <Client-ID 3:0001d4ca6dc48339> <Option-Request DNS> <Elapsed-Time 419430400> <IA-PD 6000000 T1=1800 T2=2880>]
[2015-10-16 22:33:34]: info: ppp0: send [DHCPv6 Advertise XID=d71368 <Server-ID 3:001b0000000000000001> <Client-ID 3:0001d4ca6dc48339> <DNS 2a00:ede0::1,2001:4860:4860::8888> <IA-PD 6000000 T1=60 T2=96 {IA-Prefix 2a00:ede0:101::/60 pref_lifetime=120 valid_lifetime=120}> <Preference 255>]
[2015-10-16 22:33:34]: info: ppp0: recv [DHCPv6 Request XID=df4db8 <Client-ID 3:0001d4ca6dc48339> <Server-ID 3:001b0000000000000001> <Option-Request DNS> <Elapsed-Time 419430400> <IA-PD 6000000 T1=60 T2=96 {IA-Prefix 2a00:ede0:101::/60 pref_lifetime=120 valid_lifetime=120}>]
[2015-10-16 22:33:34]: info: ppp0: dhcpv6: route add 2a00:ede0:101::/60 via 2a00:ede0:1::6
[2015-10-16 22:33:34]: info: ppp0: send [DHCPv6 Reply XID=df4db8 <Server-ID 3:001b0000000000000001> <Client-ID 3:0001d4ca6dc48339> <DNS 2a00:ede0::1,2001:4860:4860::8888> <IA-PD 6000000 T1=60 T2=96 {IA-Prefix 2a00:ede0:101::/60 pref_lifetime=120 valid_lifetime=120}> <Preference 255>]

в сам радиус не приходит этот параметр

в дебаг режиме freeradius -X

rad_recv: Accounting-Request packet from host 10.10.1.42 port 60508, id=1, length=223
User-Name = "tugik"
NAS-Identifier = "nas-2-ppp"
NAS-IP-Address = 10.10.1.42
NAS-Port = 0
NAS-Port-Id = "ppp0"
NAS-Port-Type = Virtual
Service-Type = Framed-User
Framed-Protocol = PPP
Calling-Station-Id = "194.79.63.117"
Called-Station-Id = "213.111.128.42"
Acct-Status-Type = Start
Acct-Authentic = RADIUS
Acct-Session-Id = "c2c77254d9c84189"
Acct-Session-Time = 0
Acct-Input-Octets = 0
Acct-Output-Octets = 0
Acct-Input-Packets = 0
Acct-Output-Packets = 0
Acct-Input-Gigawords = 0
Acct-Output-Gigawords = 0
Framed-IP-Address = 192.168.243.233
Framed-Interface-Id = 0:0:0:6
Framed-IPv6-Prefix = 2a00:ede0:1::/64
# Executing section preacct from file /etc/freeradius/sites-enabled/default

думал что при следующем опросе возможно появится, но ничего не изменилось

И как следствие не ложится в базу радиуса
......SET framedipaddress = '192.168.243.233', framedipv6prefix = '2a00:ede0:1::/64', delegatedipv6prefix = '', ....
и
mysql> select username,framedipv6prefix,delegatedipv6prefix from radius.radacct;
+----------+---------------------------+-------------------------+
| username | framedipv6prefix | delegatedipv6prefix |
+----------+---------------------------+-------------------------+
| tugik | 2a00:ede0:1:1::/64 | |
+----------+---------------------------+-------------------------+
1 row in set (0.00 sec)


Коллеги, возможно я что то упустил, подскажите пожалуйста.
Post Reply