Jump to content
Калькуляторы

Freeradius as DHCP & Perl - передача RAD_RECV Framed-IP-Address Прошу помощи

Здравствуйте!

Решил создать тему потому как не смог сам дойти... Извините если нубский вопрос...

Имеется Freeradius с функцией DHCP, есть Perl скрипт в который необходимо передать адрес из пула.

Адрес высвечивается в логах и оборудованию присваивается, через Perl нужна только привязка к пользователю в БД.

Вот лог где этот адрес есть, пытался привязать через RAD_REQUEST(Framed-IP-Address), но он не попадает в этот массив судя по логам (((

Помогите засунуть адрес в перл, плиз...

# Executing section post-auth from file /opt/freeradius/etc/raddb/sites-enabled/default
+- entering group post-auth {...}
++[dialup_pool] returns noop
[dhcp_pool]     expand: %{NAS-IP-Address} %{NAS-Port} -> 127.0.0.1 1000
[dhcp_pool] MD5 on 'key' directive maps to: 291c4814bd1778f7cd5f4b8330a3b0ae
[dhcp_pool] Searching for an entry for key: '291c4814bd1778f7cd5f4b8330a3b0ae'
rlm_ippool: Allocating ip to key: '291c4814bd1778f7cd5f4b8330a3b0ae'
[dhcp_pool] num: 1
[dhcp_pool] Allocated ip 172.18.6.3 to client key: 291c4814bd1778f7cd5f4b8330a3b0ae
++[dhcp_pool] returns ok
Sending Access-Accept of id 61 to 127.0.0.1 port 47019
       Framed-Pool = "dialup_pool"
       Framed-IP-Address = 172.18.6.3
       Framed-IP-Netmask = 255.255.255.0
Finished request 1.
Going to the next request
Waking up in 4.9 seconds.
rad_recv: Accounting-Request packet from host 127.0.0.1 port 47019, id=62, length=59
       Acct-Status-Type = Start
       User-Name = "nat512"
       Acct-Session-Id = "00:11:95:fc:3d:c2"
       NAS-Port = 1000
# Executing section preacct from file /opt/freeradius/etc/raddb/sites-enabled/default
+- entering group preacct {...}
++[preprocess] returns ok
[acct_unique] Hashing 'NAS-Port = 1000,Client-IP-Address = 127.0.0.1,NAS-IP-Address = 127.0.0.1,Acct-Session-Id = "00:11:95:fc:3d:c2",User-Name = "nat512"'
[acct_unique] Acct-Unique-Session-ID = "297fe999c26b4765".
++[acct_unique] returns ok
[suffix] No '@' in User-Name = "nat512", looking up realm NULL
[suffix] No such realm "NULL"
++[suffix] returns noop
# Executing section accounting from file /opt/freeradius/etc/raddb/sites-enabled/default
+- entering group accounting {...}
[detail]        expand: %{Packet-Src-IP-Address} -> 127.0.0.1
[detail]        expand: /opt/freeradius/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d -> /opt/freeradius/var/log/radius/radacct/127.0.0.1/detail-20120224
[detail] /opt/freeradius/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d expands to /opt/freeradius/var/log/radius/radacct/127.0.0.1/detail-20120224
[detail]        expand: %t -> Fri Feb 24 18:12:01 2012
++[detail] returns ok
[radutmp]       expand: /opt/freeradi

Edited by vlad_odmin

Share this post


Link to post
Share on other sites

Неужели ни кто не подскажет куда копать на что обратить внимание...

Share this post


Link to post
Share on other sites

через Perl нужна только привязка к пользователю в БД.

 

Ну так возьмите книжку, и напишите нужный вам скрипт...

Share this post


Link to post
Share on other sites

через Perl нужна только привязка к пользователю в БД.

 

Ну так возьмите книжку, и напишите нужный вам скрипт...

Скрипт есть он рабочий... Проблема сама не в правильности скрипта и его написании, а в проблеме передачи Framed-IP-Address в этот скрипт.

Если Вы посмотрите лог который я выложил Вы поймете о чем я говорю...

Сам вопрос Как мне передать Framed-IP-Address в скрипт, если в массив rad_recv он не попадает?

rad_recv: Accounting-Request packet from host 127.0.0.1 port 47019, id=62, length=59
       Acct-Status-Type = Start
       User-Name = "nat512"
       Acct-Session-Id = "00:11:95:fc:3d:c2"
       NAS-Port = 1000

 

User-Name, Acct-Session-Id, NAS-Port передаются в скрипт параметрами %RAD_REQUEST('User-Name'), %RAD_REQUEST('Acct-Session-Id') и тд...

Share this post


Link to post
Share on other sites

Как обратиться к элементу Framed-IP-Address ( 172.18.6.3 ) массива Sending Access-Accept ?

Или каким образом элемент Framed-IP-Address передать в массив rad_recv: Accounting-Request ?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this