Hello. Config: perl auth_perl_pppoe { module = /var/www/radius/radius_auth.pl func_accounting = accounting } perl acc_perl_pppoe { module = /var/www/radius/radius_accounting.pl func_authenticate = authenticate } ----------------------------------------------------------------- authenticate { Auth-Type PPPOE_AUTH { auth_perl_pppoe } } # # Accounting. Log the accounting data. # accounting { Acct-Type PPPOE_ACC { acc_perl_pppoe } detail unix radutmp } this error in radiusd -X: rad_recv: Access-Request packet from host 93.95.41.141 port 53773, id=8, length=146 Service-Type = Framed-User Framed-Protocol = PPP NAS-Port = 100 NAS-Port-Type = Ethernet User-Name = "pppoe_test" Calling-Station-Id = "00:13:77:60:60:CB" Called-Station-Id = "internet" NAS-Port-Id = "e2_v15" CHAP-Challenge = 0x3b30fc1959ca610275bdc66582b579cf CHAP-Password = 0x013e0573332525cd3ebc797dbe68f0969d NAS-Identifier = "ntk-hsgw" NAS-IP-Address = 93.95.41.141 +- entering group authorize {...} ++[preprocess] returns ok [suffix] No '@' in User-Name = "pppoe_test", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop ++[mschap] returns noop ++[unix] returns notfound [files] users: Matched entry DEFAULT at line 1 [files] users: Matched entry DEFAULT at line 7 [files] users: Matched entry DEFAULT at line 19 ++[files] returns ok ++[logintime] returns noop [pap] WARNING! No "known good" password found for the user. Authentication may fail because of this. ++[pap] returns noop Found Auth-Type = PPPOE_AUTH +- entering group PPPOE_AUTH {...} GOT CLONE -1209066800 0x91011d8 rlm_perl: Added pair NAS-Port-Type = Ethernet rlm_perl: Added pair CHAP-Password = 0x013e0573332525cd3ebc797dbe68f0969d rlm_perl: Added pair Huntgroup-Name = ntk_pppoe rlm_perl: Added pair Service-Type = Framed-User rlm_perl: Added pair Called-Station-Id = internet rlm_perl: Added pair Calling-Station-Id = 00:13:77:60:60:CB rlm_perl: Added pair Framed-Protocol = PPP rlm_perl: Added pair User-Name = pppoe_test rlm_perl: Added pair CHAP-Challenge = 0x3b30fc1959ca610275bdc66582b579cf rlm_perl: Added pair NAS-Identifier = ntk-hsgw rlm_perl: Added pair NAS-IP-Address = 93.95.41.141 rlm_perl: Added pair NAS-Port = 100 rlm_perl: Added pair NAS-Port-Id = e2_v15 rlm_perl: Added pair Framed-Protocol = PPP rlm_perl: Added pair Service-Type = Framed-User rlm_perl: Added pair Class = dialup rlm_perl: Added pair Mikrotik-Rate-Limit = 256k rlm_perl: Added pair Framed-Compression = Van-Jacobson-TCP-IP rlm_perl: Added pair Auth-Type = PPPOE_AUTH ++[auth_perl_pppoe] returns ok Login OK: [pppoe_test] (from client ntk-hsgw port 100 cli 00:13:77:60:60:CB) +- entering group post-auth {...} ++[exec] returns noop Sending Access-Accept of id 8 to 93.95.41.141 port 53773 Framed-Protocol = PPP Service-Type = Framed-User Class = 0x6469616c7570 Mikrotik-Rate-Limit = "256k" Framed-Compression = Van-Jacobson-TCP-IP Finished request 0. Going to the next request Waking up in 4.9 seconds. rad_recv: Accounting-Request packet from host 93.95.41.141 port 57551, id=9, length=157 Service-Type = Framed-User Framed-Protocol = PPP NAS-Port = 100 NAS-Port-Type = Ethernet User-Name = "pppoe_test" Calling-Station-Id = "00:13:77:60:60:CB" Called-Station-Id = "internet" NAS-Port-Id = "e2_v15" Class = 0x6469616c7570 Acct-Session-Id = "8170005c" Framed-IP-Address = 93.95.42.63 Acct-Authentic = RADIUS Event-Timestamp = "Apr 7 2009 17:07:22 MSD" Acct-Status-Type = Start NAS-Identifier = "ntk-hsgw" NAS-IP-Address = 93.95.41.141 Acct-Delay-Time = 0 +- entering group preacct {...} ++[preprocess] returns ok [acct_unique] Hashing 'NAS-Port = 100,Client-IP-Address = 93.95.41.141,NAS-IP-Address = 93.95.41.141,Acct-Session-Id = "8170005c",User-Name = "pppoe_test"' [acct_unique] Acct-Unique-Session-ID = "de65ab6044a69020". ++[acct_unique] returns ok [files] acct_users: Matched entry DEFAULT at line 29 ++[files] returns ok Found Acct-Type PPPOE_ACC +- entering group PPPOE_ACC {...} rlm_perl: perl_embed:: module = /var/www/radius/radius_accounting.pl , func = accounting exit status= Undefined subroutine &main::accounting called. Use of uninitialized value. rlm_perl: Added pair NAS-Port-Type = Ethernet rlm_perl: Added pair Acct-Session-Id = 8170005c rlm_perl: Added pair Service-Type = Framed-User rlm_perl: Added pair Acct-Unique-Session-Id = de65ab6044a69020 rlm_perl: Added pair Called-Station-Id = internet rlm_perl: Added pair Acct-Authentic = RADIUS rlm_perl: Added pair Acct-Status-Type = Start rlm_perl: Added pair NAS-IP-Address = 93.95.41.141 rlm_perl: Added pair NAS-Port-Id = e2_v15 rlm_perl: Added pair Huntgroup-Name = ntk_pppoe rlm_perl: Added pair Calling-Station-Id = 00:13:77:60:60:CB rlm_perl: Added pair Framed-Protocol = PPP rlm_perl: Added pair User-Name = pppoe_test rlm_perl: Added pair Event-Timestamp = Apr 7 2009 17:07:22 MSD rlm_perl: Added pair NAS-Identifier = ntk-hsgw rlm_perl: Added pair Framed-IP-Address = 93.95.42.63 rlm_perl: Added pair Class = 0x6469616c7570 rlm_perl: Added pair NAS-Port = 100 rlm_perl: Added pair Acct-Delay-Time = 0 rlm_perl: Added pair Acct-Type = PPPOE_ACC ++[acc_perl_pppoe] returns reject Finished request 1. Cleaning up request 1 ID 9 with timestamp +8 Going to the next request Waking up in 4.9 seconds. rad_recv: Accounting-Request packet from host 93.95.41.141 port 57551, id=9, length=157 Service-Type = Framed-User Framed-Protocol = PPP NAS-Port = 100 NAS-Port-Type = Ethernet User-Name = "pppoe_test" Calling-Station-Id = "00:13:77:60:60:CB" Called-Station-Id = "internet" NAS-Port-Id = "e2_v15" Class = 0x6469616c7570 Acct-Session-Id = "8170005c" Framed-IP-Address = 93.95.42.63 Acct-Authentic = RADIUS Event-Timestamp = "Apr 7 2009 17:07:22 MSD" Acct-Status-Type = Start NAS-Identifier = "ntk-hsgw" NAS-IP-Address = 93.95.41.141 Acct-Delay-Time = 4 +- entering group preacct {...} ++[preprocess] returns ok [acct_unique] Hashing 'NAS-Port = 100,Client-IP-Address = 93.95.41.141,NAS-IP-Address = 93.95.41.141,Acct-Session-Id = "8170005c",User-Name = "pppoe_test"' [acct_unique] Acct-Unique-Session-ID = "de65ab6044a69020". ++[acct_unique] returns ok [files] acct_users: Matched entry DEFAULT at line 29 ++[files] returns ok Found Acct-Type PPPOE_ACC +- entering group PPPOE_ACC {...} rlm_perl: perl_embed:: module = /var/www/radius/radius_accounting.pl , func = accounting exit status= Undefined subroutine &main::accounting called. Segmentation fault But accounting exist in /var/www/radius/radius_accounting.pl. Why it? Formula+ LTD, т.(8617) 61-02-01 ф.(8617) 61-34-16 м.(918) 634-7550 voloshin@maks.net www.formulaplus.ru
Привет! На самом деле, весьма _неудобно_ искать проблемы просто по дебагу + конфиг. Уж лучше описать её хоть на "ломаном" англ. Это так отступление... А вообще, у rlm_perl весьма много глюков. Например при работе с разными модулями, типа IO::Socket::XXXX. Попробуйте все засунуть в один скрипт.
Hello.
Config: perl auth_perl_pppoe { module = /var/www/radius/radius_auth.pl func_accounting = accounting }
perl acc_perl_pppoe { module = /var/www/radius/radius_accounting.pl func_authenticate = authenticate }
----------------------------------------------------------------- authenticate { Auth-Type PPPOE_AUTH { auth_perl_pppoe }
}
# # Accounting. Log the accounting data. # accounting { Acct-Type PPPOE_ACC { acc_perl_pppoe } detail unix radutmp }
this error in radiusd -X:
rad_recv: Access-Request packet from host 93.95.41.141 port 53773, id=8, length=146 Service-Type = Framed-User Framed-Protocol = PPP NAS-Port = 100 NAS-Port-Type = Ethernet User-Name = "pppoe_test" Calling-Station-Id = "00:13:77:60:60:CB" Called-Station-Id = "internet" NAS-Port-Id = "e2_v15" CHAP-Challenge = 0x3b30fc1959ca610275bdc66582b579cf CHAP-Password = 0x013e0573332525cd3ebc797dbe68f0969d NAS-Identifier = "ntk-hsgw" NAS-IP-Address = 93.95.41.141 +- entering group authorize {...} ++[preprocess] returns ok [suffix] No '@' in User-Name = "pppoe_test", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop ++[mschap] returns noop ++[unix] returns notfound [files] users: Matched entry DEFAULT at line 1 [files] users: Matched entry DEFAULT at line 7 [files] users: Matched entry DEFAULT at line 19 ++[files] returns ok ++[logintime] returns noop [pap] WARNING! No "known good" password found for the user. Authentication may fail because of this. ++[pap] returns noop Found Auth-Type = PPPOE_AUTH +- entering group PPPOE_AUTH {...} GOT CLONE -1209066800 0x91011d8 rlm_perl: Added pair NAS-Port-Type = Ethernet rlm_perl: Added pair CHAP-Password = 0x013e0573332525cd3ebc797dbe68f0969d rlm_perl: Added pair Huntgroup-Name = ntk_pppoe rlm_perl: Added pair Service-Type = Framed-User rlm_perl: Added pair Called-Station-Id = internet rlm_perl: Added pair Calling-Station-Id = 00:13:77:60:60:CB rlm_perl: Added pair Framed-Protocol = PPP rlm_perl: Added pair User-Name = pppoe_test rlm_perl: Added pair CHAP-Challenge = 0x3b30fc1959ca610275bdc66582b579cf rlm_perl: Added pair NAS-Identifier = ntk-hsgw rlm_perl: Added pair NAS-IP-Address = 93.95.41.141 rlm_perl: Added pair NAS-Port = 100 rlm_perl: Added pair NAS-Port-Id = e2_v15 rlm_perl: Added pair Framed-Protocol = PPP rlm_perl: Added pair Service-Type = Framed-User rlm_perl: Added pair Class = dialup rlm_perl: Added pair Mikrotik-Rate-Limit = 256k rlm_perl: Added pair Framed-Compression = Van-Jacobson-TCP-IP rlm_perl: Added pair Auth-Type = PPPOE_AUTH ++[auth_perl_pppoe] returns ok Login OK: [pppoe_test] (from client ntk-hsgw port 100 cli 00:13:77:60:60:CB) +- entering group post-auth {...} ++[exec] returns noop Sending Access-Accept of id 8 to 93.95.41.141 port 53773 Framed-Protocol = PPP Service-Type = Framed-User Class = 0x6469616c7570 Mikrotik-Rate-Limit = "256k" Framed-Compression = Van-Jacobson-TCP-IP Finished request 0. Going to the next request Waking up in 4.9 seconds. rad_recv: Accounting-Request packet from host 93.95.41.141 port 57551, id=9, length=157 Service-Type = Framed-User Framed-Protocol = PPP NAS-Port = 100 NAS-Port-Type = Ethernet User-Name = "pppoe_test" Calling-Station-Id = "00:13:77:60:60:CB" Called-Station-Id = "internet" NAS-Port-Id = "e2_v15" Class = 0x6469616c7570 Acct-Session-Id = "8170005c" Framed-IP-Address = 93.95.42.63 Acct-Authentic = RADIUS Event-Timestamp = "Apr 7 2009 17:07:22 MSD" Acct-Status-Type = Start NAS-Identifier = "ntk-hsgw" NAS-IP-Address = 93.95.41.141 Acct-Delay-Time = 0 +- entering group preacct {...} ++[preprocess] returns ok [acct_unique] Hashing 'NAS-Port = 100,Client-IP-Address = 93.95.41.141,NAS-IP-Address = 93.95.41.141,Acct-Session-Id = "8170005c",User-Name = "pppoe_test"' [acct_unique] Acct-Unique-Session-ID = "de65ab6044a69020". ++[acct_unique] returns ok [files] acct_users: Matched entry DEFAULT at line 29 ++[files] returns ok Found Acct-Type PPPOE_ACC +- entering group PPPOE_ACC {...} rlm_perl: perl_embed:: module = /var/www/radius/radius_accounting.pl , func = accounting exit status= Undefined subroutine &main::accounting called. Use of uninitialized value. rlm_perl: Added pair NAS-Port-Type = Ethernet rlm_perl: Added pair Acct-Session-Id = 8170005c rlm_perl: Added pair Service-Type = Framed-User rlm_perl: Added pair Acct-Unique-Session-Id = de65ab6044a69020 rlm_perl: Added pair Called-Station-Id = internet rlm_perl: Added pair Acct-Authentic = RADIUS rlm_perl: Added pair Acct-Status-Type = Start rlm_perl: Added pair NAS-IP-Address = 93.95.41.141 rlm_perl: Added pair NAS-Port-Id = e2_v15 rlm_perl: Added pair Huntgroup-Name = ntk_pppoe rlm_perl: Added pair Calling-Station-Id = 00:13:77:60:60:CB rlm_perl: Added pair Framed-Protocol = PPP rlm_perl: Added pair User-Name = pppoe_test rlm_perl: Added pair Event-Timestamp = Apr 7 2009 17:07:22 MSD rlm_perl: Added pair NAS-Identifier = ntk-hsgw rlm_perl: Added pair Framed-IP-Address = 93.95.42.63 rlm_perl: Added pair Class = 0x6469616c7570 rlm_perl: Added pair NAS-Port = 100 rlm_perl: Added pair Acct-Delay-Time = 0 rlm_perl: Added pair Acct-Type = PPPOE_ACC ++[acc_perl_pppoe] returns reject Finished request 1. Cleaning up request 1 ID 9 with timestamp +8 Going to the next request Waking up in 4.9 seconds. rad_recv: Accounting-Request packet from host 93.95.41.141 port 57551, id=9, length=157 Service-Type = Framed-User Framed-Protocol = PPP NAS-Port = 100 NAS-Port-Type = Ethernet User-Name = "pppoe_test" Calling-Station-Id = "00:13:77:60:60:CB" Called-Station-Id = "internet" NAS-Port-Id = "e2_v15" Class = 0x6469616c7570 Acct-Session-Id = "8170005c" Framed-IP-Address = 93.95.42.63 Acct-Authentic = RADIUS Event-Timestamp = "Apr 7 2009 17:07:22 MSD" Acct-Status-Type = Start NAS-Identifier = "ntk-hsgw" NAS-IP-Address = 93.95.41.141 Acct-Delay-Time = 4 +- entering group preacct {...} ++[preprocess] returns ok [acct_unique] Hashing 'NAS-Port = 100,Client-IP-Address = 93.95.41.141,NAS-IP-Address = 93.95.41.141,Acct-Session-Id = "8170005c",User-Name = "pppoe_test"' [acct_unique] Acct-Unique-Session-ID = "de65ab6044a69020". ++[acct_unique] returns ok [files] acct_users: Matched entry DEFAULT at line 29 ++[files] returns ok Found Acct-Type PPPOE_ACC +- entering group PPPOE_ACC {...} rlm_perl: perl_embed:: module = /var/www/radius/radius_accounting.pl , func = accounting exit status= Undefined subroutine &main::accounting called. Segmentation fault
But accounting exist in /var/www/radius/radius_accounting.pl. Why it?
Formula+ LTD, т.(8617) 61-02-01 ф.(8617) 61-34-16 м.(918) 634-7550 voloshin@maks.net www.formulaplus.ru
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Ок, я так и сделал. Но дело в том что мой радиус будет авторизовывать и считать несколько сервисов с разных NAS. И очень не плохо было бы их разнести. Причем если запускать radius без режима дебага, то он какое то время будет работать нормально, правда только какое-то. --------------------------- Ok, I and have made. But the matter is that my radius will be authenticate and acccounting some services with different NAS. And very much it would be not bad to carry them. And if to start radius without a debug mode it what that time will work normally, the truth only any. ----- Original Message ----- From: "Anatoly S. Zimin" <anatolyz@team.co.ru> To: "FreeRadius users mailing list" <freeradius-users@lists.freeradius.org> Sent: Tuesday, April 07, 2009 3:45 PM Subject: Re: Problem with rlm_perl
Привет!
На самом деле, весьма _неудобно_ искать проблемы просто по дебагу + конфиг. Уж лучше описать её хоть на "ломаном" англ. Это так отступление...
А вообще, у rlm_perl весьма много глюков. Например при работе с разными модулями, типа IO::Socket::XXXX. Попробуйте все засунуть в один скрипт.
Hello.
Config: perl auth_perl_pppoe { module = /var/www/radius/radius_auth.pl func_accounting = accounting }
perl acc_perl_pppoe { module = /var/www/radius/radius_accounting.pl func_authenticate = authenticate }
----------------------------------------------------------------- authenticate { Auth-Type PPPOE_AUTH { auth_perl_pppoe }
}
# # Accounting. Log the accounting data. # accounting { Acct-Type PPPOE_ACC { acc_perl_pppoe } detail unix radutmp }
this error in radiusd -X:
rad_recv: Access-Request packet from host 93.95.41.141 port 53773, id=8, length=146 Service-Type = Framed-User Framed-Protocol = PPP NAS-Port = 100 NAS-Port-Type = Ethernet User-Name = "pppoe_test" Calling-Station-Id = "00:13:77:60:60:CB" Called-Station-Id = "internet" NAS-Port-Id = "e2_v15" CHAP-Challenge = 0x3b30fc1959ca610275bdc66582b579cf CHAP-Password = 0x013e0573332525cd3ebc797dbe68f0969d NAS-Identifier = "ntk-hsgw" NAS-IP-Address = 93.95.41.141 +- entering group authorize {...} ++[preprocess] returns ok [suffix] No '@' in User-Name = "pppoe_test", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop ++[mschap] returns noop ++[unix] returns notfound [files] users: Matched entry DEFAULT at line 1 [files] users: Matched entry DEFAULT at line 7 [files] users: Matched entry DEFAULT at line 19 ++[files] returns ok ++[logintime] returns noop [pap] WARNING! No "known good" password found for the user. Authentication may fail because of this. ++[pap] returns noop Found Auth-Type = PPPOE_AUTH +- entering group PPPOE_AUTH {...} GOT CLONE -1209066800 0x91011d8 rlm_perl: Added pair NAS-Port-Type = Ethernet rlm_perl: Added pair CHAP-Password = 0x013e0573332525cd3ebc797dbe68f0969d rlm_perl: Added pair Huntgroup-Name = ntk_pppoe rlm_perl: Added pair Service-Type = Framed-User rlm_perl: Added pair Called-Station-Id = internet rlm_perl: Added pair Calling-Station-Id = 00:13:77:60:60:CB rlm_perl: Added pair Framed-Protocol = PPP rlm_perl: Added pair User-Name = pppoe_test rlm_perl: Added pair CHAP-Challenge = 0x3b30fc1959ca610275bdc66582b579cf rlm_perl: Added pair NAS-Identifier = ntk-hsgw rlm_perl: Added pair NAS-IP-Address = 93.95.41.141 rlm_perl: Added pair NAS-Port = 100 rlm_perl: Added pair NAS-Port-Id = e2_v15 rlm_perl: Added pair Framed-Protocol = PPP rlm_perl: Added pair Service-Type = Framed-User rlm_perl: Added pair Class = dialup rlm_perl: Added pair Mikrotik-Rate-Limit = 256k rlm_perl: Added pair Framed-Compression = Van-Jacobson-TCP-IP rlm_perl: Added pair Auth-Type = PPPOE_AUTH ++[auth_perl_pppoe] returns ok Login OK: [pppoe_test] (from client ntk-hsgw port 100 cli 00:13:77:60:60:CB) +- entering group post-auth {...} ++[exec] returns noop Sending Access-Accept of id 8 to 93.95.41.141 port 53773 Framed-Protocol = PPP Service-Type = Framed-User Class = 0x6469616c7570 Mikrotik-Rate-Limit = "256k" Framed-Compression = Van-Jacobson-TCP-IP Finished request 0. Going to the next request Waking up in 4.9 seconds. rad_recv: Accounting-Request packet from host 93.95.41.141 port 57551, id=9, length=157 Service-Type = Framed-User Framed-Protocol = PPP NAS-Port = 100 NAS-Port-Type = Ethernet User-Name = "pppoe_test" Calling-Station-Id = "00:13:77:60:60:CB" Called-Station-Id = "internet" NAS-Port-Id = "e2_v15" Class = 0x6469616c7570 Acct-Session-Id = "8170005c" Framed-IP-Address = 93.95.42.63 Acct-Authentic = RADIUS Event-Timestamp = "Apr 7 2009 17:07:22 MSD" Acct-Status-Type = Start NAS-Identifier = "ntk-hsgw" NAS-IP-Address = 93.95.41.141 Acct-Delay-Time = 0 +- entering group preacct {...} ++[preprocess] returns ok [acct_unique] Hashing 'NAS-Port = 100,Client-IP-Address = 93.95.41.141,NAS-IP-Address = 93.95.41.141,Acct-Session-Id = "8170005c",User-Name = "pppoe_test"' [acct_unique] Acct-Unique-Session-ID = "de65ab6044a69020". ++[acct_unique] returns ok [files] acct_users: Matched entry DEFAULT at line 29 ++[files] returns ok Found Acct-Type PPPOE_ACC +- entering group PPPOE_ACC {...} rlm_perl: perl_embed:: module = /var/www/radius/radius_accounting.pl , func = accounting exit status= Undefined subroutine &main::accounting called. Use of uninitialized value. rlm_perl: Added pair NAS-Port-Type = Ethernet rlm_perl: Added pair Acct-Session-Id = 8170005c rlm_perl: Added pair Service-Type = Framed-User rlm_perl: Added pair Acct-Unique-Session-Id = de65ab6044a69020 rlm_perl: Added pair Called-Station-Id = internet rlm_perl: Added pair Acct-Authentic = RADIUS rlm_perl: Added pair Acct-Status-Type = Start rlm_perl: Added pair NAS-IP-Address = 93.95.41.141 rlm_perl: Added pair NAS-Port-Id = e2_v15 rlm_perl: Added pair Huntgroup-Name = ntk_pppoe rlm_perl: Added pair Calling-Station-Id = 00:13:77:60:60:CB rlm_perl: Added pair Framed-Protocol = PPP rlm_perl: Added pair User-Name = pppoe_test rlm_perl: Added pair Event-Timestamp = Apr 7 2009 17:07:22 MSD rlm_perl: Added pair NAS-Identifier = ntk-hsgw rlm_perl: Added pair Framed-IP-Address = 93.95.42.63 rlm_perl: Added pair Class = 0x6469616c7570 rlm_perl: Added pair NAS-Port = 100 rlm_perl: Added pair Acct-Delay-Time = 0 rlm_perl: Added pair Acct-Type = PPPOE_ACC ++[acc_perl_pppoe] returns reject Finished request 1. Cleaning up request 1 ID 9 with timestamp +8 Going to the next request Waking up in 4.9 seconds. rad_recv: Accounting-Request packet from host 93.95.41.141 port 57551, id=9, length=157 Service-Type = Framed-User Framed-Protocol = PPP NAS-Port = 100 NAS-Port-Type = Ethernet User-Name = "pppoe_test" Calling-Station-Id = "00:13:77:60:60:CB" Called-Station-Id = "internet" NAS-Port-Id = "e2_v15" Class = 0x6469616c7570 Acct-Session-Id = "8170005c" Framed-IP-Address = 93.95.42.63 Acct-Authentic = RADIUS Event-Timestamp = "Apr 7 2009 17:07:22 MSD" Acct-Status-Type = Start NAS-Identifier = "ntk-hsgw" NAS-IP-Address = 93.95.41.141 Acct-Delay-Time = 4 +- entering group preacct {...} ++[preprocess] returns ok [acct_unique] Hashing 'NAS-Port = 100,Client-IP-Address = 93.95.41.141,NAS-IP-Address = 93.95.41.141,Acct-Session-Id = "8170005c",User-Name = "pppoe_test"' [acct_unique] Acct-Unique-Session-ID = "de65ab6044a69020". ++[acct_unique] returns ok [files] acct_users: Matched entry DEFAULT at line 29 ++[files] returns ok Found Acct-Type PPPOE_ACC +- entering group PPPOE_ACC {...} rlm_perl: perl_embed:: module = /var/www/radius/radius_accounting.pl , func = accounting exit status= Undefined subroutine &main::accounting called. Segmentation fault
But accounting exist in /var/www/radius/radius_accounting.pl. Why it?
Formula+ LTD, т.(8617) 61-02-01 ф.(8617) 61-34-16 м.(918) 634-7550 voloshin@maks.net www.formulaplus.ru
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Да, это точно баг. У меня была такая проблема, в дебаге работает. А как только включаешь нормальный режим, (почти)сразу начинаются глюки. У меня есть предположение - все дело в форках. (как это не мерзко, но у прекрасного языка perl есть кривые реализации модулей. Которые с багами работают при форке) Я решил свои проблемы объединением скриптов и переписал все на более низком уровне. Т.е. заменил IO::SOcket::Inet на просто Socket. И конечно исключить такие полезные вещи как fork и threads. Бывает глюки появляются в новых версиях, может стоит на несколько подверсий откатится попробовать? (как крайний вариант)
Ок, я так и сделал. Но дело в том что мой радиус будет авторизовывать и считать несколько сервисов с разных NAS. И очень не плохо было бы их разнести. Причем если запускать radius без режима дебага, то он какое то время будет работать нормально, правда только какое-то. --------------------------- Ok, I and have made. But the matter is that my radius will be authenticate and acccounting some services with different NAS. And very much it would be not bad to carry them. And if to start radius without a debug mode it what that time will work normally, the truth only any.
----- Original Message ----- From: "Anatoly S. Zimin" <anatolyz@team.co.ru> To: "FreeRadius users mailing list" <freeradius-users@lists.freeradius.org> Sent: Tuesday, April 07, 2009 3:45 PM Subject: Re: Problem with rlm_perl
Привет!
На самом деле, весьма _неудобно_ искать проблемы просто по дебагу + конфиг. Уж лучше описать её хоть на "ломаном" англ. Это так отступление...
А вообще, у rlm_perl весьма много глюков. Например при работе с разными модулями, типа IO::Socket::XXXX. Попробуйте все засунуть в один скрипт.
Hello.
Config: perl auth_perl_pppoe { module = /var/www/radius/radius_auth.pl func_accounting = accounting }
perl acc_perl_pppoe { module = /var/www/radius/radius_accounting.pl func_authenticate = authenticate }
----------------------------------------------------------------- authenticate { Auth-Type PPPOE_AUTH { auth_perl_pppoe }
}
# # Accounting. Log the accounting data. # accounting { Acct-Type PPPOE_ACC { acc_perl_pppoe } detail unix radutmp }
this error in radiusd -X:
rad_recv: Access-Request packet from host 93.95.41.141 port 53773, id=8, length=146 Service-Type = Framed-User Framed-Protocol = PPP NAS-Port = 100 NAS-Port-Type = Ethernet User-Name = "pppoe_test" Calling-Station-Id = "00:13:77:60:60:CB" Called-Station-Id = "internet" NAS-Port-Id = "e2_v15" CHAP-Challenge = 0x3b30fc1959ca610275bdc66582b579cf CHAP-Password = 0x013e0573332525cd3ebc797dbe68f0969d NAS-Identifier = "ntk-hsgw" NAS-IP-Address = 93.95.41.141 +- entering group authorize {...} ++[preprocess] returns ok [suffix] No '@' in User-Name = "pppoe_test", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop ++[mschap] returns noop ++[unix] returns notfound [files] users: Matched entry DEFAULT at line 1 [files] users: Matched entry DEFAULT at line 7 [files] users: Matched entry DEFAULT at line 19 ++[files] returns ok ++[logintime] returns noop [pap] WARNING! No "known good" password found for the user. Authentication may fail because of this. ++[pap] returns noop Found Auth-Type = PPPOE_AUTH +- entering group PPPOE_AUTH {...} GOT CLONE -1209066800 0x91011d8 rlm_perl: Added pair NAS-Port-Type = Ethernet rlm_perl: Added pair CHAP-Password = 0x013e0573332525cd3ebc797dbe68f0969d rlm_perl: Added pair Huntgroup-Name = ntk_pppoe rlm_perl: Added pair Service-Type = Framed-User rlm_perl: Added pair Called-Station-Id = internet rlm_perl: Added pair Calling-Station-Id = 00:13:77:60:60:CB rlm_perl: Added pair Framed-Protocol = PPP rlm_perl: Added pair User-Name = pppoe_test rlm_perl: Added pair CHAP-Challenge = 0x3b30fc1959ca610275bdc66582b579cf rlm_perl: Added pair NAS-Identifier = ntk-hsgw rlm_perl: Added pair NAS-IP-Address = 93.95.41.141 rlm_perl: Added pair NAS-Port = 100 rlm_perl: Added pair NAS-Port-Id = e2_v15 rlm_perl: Added pair Framed-Protocol = PPP rlm_perl: Added pair Service-Type = Framed-User rlm_perl: Added pair Class = dialup rlm_perl: Added pair Mikrotik-Rate-Limit = 256k rlm_perl: Added pair Framed-Compression = Van-Jacobson-TCP-IP rlm_perl: Added pair Auth-Type = PPPOE_AUTH ++[auth_perl_pppoe] returns ok Login OK: [pppoe_test] (from client ntk-hsgw port 100 cli 00:13:77:60:60:CB) +- entering group post-auth {...} ++[exec] returns noop Sending Access-Accept of id 8 to 93.95.41.141 port 53773 Framed-Protocol = PPP Service-Type = Framed-User Class = 0x6469616c7570 Mikrotik-Rate-Limit = "256k" Framed-Compression = Van-Jacobson-TCP-IP Finished request 0. Going to the next request Waking up in 4.9 seconds. rad_recv: Accounting-Request packet from host 93.95.41.141 port 57551, id=9, length=157 Service-Type = Framed-User Framed-Protocol = PPP NAS-Port = 100 NAS-Port-Type = Ethernet User-Name = "pppoe_test" Calling-Station-Id = "00:13:77:60:60:CB" Called-Station-Id = "internet" NAS-Port-Id = "e2_v15" Class = 0x6469616c7570 Acct-Session-Id = "8170005c" Framed-IP-Address = 93.95.42.63 Acct-Authentic = RADIUS Event-Timestamp = "Apr 7 2009 17:07:22 MSD" Acct-Status-Type = Start NAS-Identifier = "ntk-hsgw" NAS-IP-Address = 93.95.41.141 Acct-Delay-Time = 0 +- entering group preacct {...} ++[preprocess] returns ok [acct_unique] Hashing 'NAS-Port = 100,Client-IP-Address = 93.95.41.141,NAS-IP-Address = 93.95.41.141,Acct-Session-Id = "8170005c",User-Name = "pppoe_test"' [acct_unique] Acct-Unique-Session-ID = "de65ab6044a69020". ++[acct_unique] returns ok [files] acct_users: Matched entry DEFAULT at line 29 ++[files] returns ok Found Acct-Type PPPOE_ACC +- entering group PPPOE_ACC {...} rlm_perl: perl_embed:: module = /var/www/radius/radius_accounting.pl , func = accounting exit status= Undefined subroutine &main::accounting called. Use of uninitialized value. rlm_perl: Added pair NAS-Port-Type = Ethernet rlm_perl: Added pair Acct-Session-Id = 8170005c rlm_perl: Added pair Service-Type = Framed-User rlm_perl: Added pair Acct-Unique-Session-Id = de65ab6044a69020 rlm_perl: Added pair Called-Station-Id = internet rlm_perl: Added pair Acct-Authentic = RADIUS rlm_perl: Added pair Acct-Status-Type = Start rlm_perl: Added pair NAS-IP-Address = 93.95.41.141 rlm_perl: Added pair NAS-Port-Id = e2_v15 rlm_perl: Added pair Huntgroup-Name = ntk_pppoe rlm_perl: Added pair Calling-Station-Id = 00:13:77:60:60:CB rlm_perl: Added pair Framed-Protocol = PPP rlm_perl: Added pair User-Name = pppoe_test rlm_perl: Added pair Event-Timestamp = Apr 7 2009 17:07:22 MSD rlm_perl: Added pair NAS-Identifier = ntk-hsgw rlm_perl: Added pair Framed-IP-Address = 93.95.42.63 rlm_perl: Added pair Class = 0x6469616c7570 rlm_perl: Added pair NAS-Port = 100 rlm_perl: Added pair Acct-Delay-Time = 0 rlm_perl: Added pair Acct-Type = PPPOE_ACC ++[acc_perl_pppoe] returns reject Finished request 1. Cleaning up request 1 ID 9 with timestamp +8 Going to the next request Waking up in 4.9 seconds. rad_recv: Accounting-Request packet from host 93.95.41.141 port 57551, id=9, length=157 Service-Type = Framed-User Framed-Protocol = PPP NAS-Port = 100 NAS-Port-Type = Ethernet User-Name = "pppoe_test" Calling-Station-Id = "00:13:77:60:60:CB" Called-Station-Id = "internet" NAS-Port-Id = "e2_v15" Class = 0x6469616c7570 Acct-Session-Id = "8170005c" Framed-IP-Address = 93.95.42.63 Acct-Authentic = RADIUS Event-Timestamp = "Apr 7 2009 17:07:22 MSD" Acct-Status-Type = Start NAS-Identifier = "ntk-hsgw" NAS-IP-Address = 93.95.41.141 Acct-Delay-Time = 4 +- entering group preacct {...} ++[preprocess] returns ok [acct_unique] Hashing 'NAS-Port = 100,Client-IP-Address = 93.95.41.141,NAS-IP-Address = 93.95.41.141,Acct-Session-Id = "8170005c",User-Name = "pppoe_test"' [acct_unique] Acct-Unique-Session-ID = "de65ab6044a69020". ++[acct_unique] returns ok [files] acct_users: Matched entry DEFAULT at line 29 ++[files] returns ok Found Acct-Type PPPOE_ACC +- entering group PPPOE_ACC {...} rlm_perl: perl_embed:: module = /var/www/radius/radius_accounting.pl , func = accounting exit status= Undefined subroutine &main::accounting called. Segmentation fault
But accounting exist in /var/www/radius/radius_accounting.pl. Why it?
Formula+ LTD, т.(8617) 61-02-01 ф.(8617) 61-34-16 м.(918) 634-7550 voloshin@maks.net www.formulaplus.ru
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
-- Anatoly S. Zimin VimpelCom Group, Moscow, Russia E-Mail: anatolyz@team.co.ru, zimin_as@office.beeline.ru Phone: +7 [495] 2587800, ext. 56820
participants (2)
-
Anatoly S. Zimin -
Волошин Вячеслав