Jump to content

freeradius 2 и rlm_perl на linux


Recommended Posts

Помогите завязать Freeradius 2 и rlm_perl

Делал по описанию http://abills.net.ua/wiki/doku.php/abills:docs:rlm_perl:ru не завелось выдает ошибку при старте Freeradius

 

freeradius: symbol lookup error: /usr/lib/perl/5.10/auto/Cwd/Cwd.so: undefined symbol: Perl_Gthr_key_ptr

Link to post
Share on other sites
  • 1 month later...

Завязал, но возникла проблема в мониторинге не отображаются пользователи, когда возвращаю на exec всё нормально! Где баг?

 

ЗЫ биллинг - abills 0.52b

Link to post
Share on other sites

Помогите завязать Freeradius 2 и rlm_perl

Делал по описанию http://abills.net.ua/wiki/doku.php/abills:docs:rlm_perl:ru не завелось выдает ошибку при старте Freeradius

 

freeradius: symbol lookup error: /usr/lib/perl/5.10/auto/Cwd/Cwd.so: undefined symbol: Perl_Gthr_key_ptr

 

Запускай так:

LD_PRELOAD=/usr/lib/libperl.so.5.10.0 freeradius

 

Чтобы запускалось с init.d подредактируй скрипт запуска к примерно такому виду

 

...

case "$1" in
       start)
               log_daemon_msg "Starting $DESCR" "$PROG"
               LD_PRELOAD=/usr/lib/libperl.so.5.10.0 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $PROGRAM || ret=$?
               log_end_msg $ret
               exit $ret
               ;;

...

Link to post
Share on other sites

Завязал, но возникла проблема в мониторинге не отображаются пользователи, когда возвращаю на exec всё нормально! Где баг?

 

ЗЫ биллинг - abills 5.2b

 

Запусти freeradius -X и покажи что будет писать...

Link to post
Share on other sites

Запускай так:

LD_PRELOAD=/usr/lib/libperl.so.5.10.0 freeradius

 

Чтобы запускалось с init.d подредактируй скрипт запуска к примерно такому виду

 

...

case "$1" in
       start)
               log_daemon_msg "Starting $DESCR" "$PROG"
               LD_PRELOAD=/usr/lib/libperl.so.5.10.0 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $PROGRAM || ret=$?
               log_end_msg $ret
               exit $ret
               ;;

...

 

Это я сделал, запускается вродибы нормально, юзеры конектятся но в мониторинге не отображаются

 

FreeRADIUS Version 2.1.0, for host i486-pc-linux-gnu, built on Sep 17 2009 at 17:22:02
Copyright (C) 1999-2008 The FreeRADIUS server project and contributors.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
You may redistribute copies of FreeRADIUS under the terms of the
GNU General Public License v2.
Starting - reading configuration files ...
including configuration file /etc/freeradius/radiusd.conf
including configuration file /etc/freeradius/proxy.conf
including configuration file /etc/freeradius/clients.conf
including files in directory /etc/freeradius/modules/
including configuration file /etc/freeradius/modules/sradutmp
including configuration file /etc/freeradius/modules/acct_unique
including configuration file /etc/freeradius/modules/realm
including configuration file /etc/freeradius/modules/attr_rewrite
including configuration file /etc/freeradius/modules/pam
including configuration file /etc/freeradius/modules/passwd
including configuration file /etc/freeradius/modules/expr
including configuration file /etc/freeradius/modules/mac2ip
including configuration file /etc/freeradius/modules/ldap
including configuration file /etc/freeradius/modules/pap
including configuration file /etc/freeradius/modules/krb5
including configuration file /etc/freeradius/modules/always
including configuration file /etc/freeradius/modules/smbpasswd
including configuration file /etc/freeradius/modules/wimax
including configuration file /etc/freeradius/modules/ippool
including configuration file /etc/freeradius/modules/counter
including configuration file /etc/freeradius/modules/attr_filter
including configuration file /etc/freeradius/modules/sql_log
including configuration file /etc/freeradius/modules/exec
including configuration file /etc/freeradius/modules/mschap
including configuration file /etc/freeradius/modules/etc_group
including configuration file /etc/freeradius/modules/preprocess
including configuration file /etc/freeradius/modules/echo
including configuration file /etc/freeradius/modules/files
including configuration file /etc/freeradius/modules/detail.example.com
including configuration file /etc/freeradius/modules/policy
including configuration file /etc/freeradius/modules/radutmp
including configuration file /etc/freeradius/modules/inner-eap
including configuration file /etc/freeradius/modules/mac2vlan
including configuration file /etc/freeradius/modules/unix
including configuration file /etc/freeradius/modules/linelog
including configuration file /etc/freeradius/modules/detail
including configuration file /etc/freeradius/modules/chap
including configuration file /etc/freeradius/modules/detail.log
including configuration file /etc/freeradius/modules/checkval
including configuration file /etc/freeradius/modules/digest
including configuration file /etc/freeradius/modules/logintime
including configuration file /etc/freeradius/modules/expiration
including configuration file /etc/freeradius/eap.conf
including configuration file /etc/freeradius/policy.conf
including files in directory /etc/freeradius/sites-enabled/
including configuration file /etc/freeradius/sites-enabled/inner-tunnel
including configuration file /etc/freeradius/sites-enabled/default
including dictionary file /etc/freeradius/dictionary
main {
       prefix = "/usr"
       localstatedir = "/var"
       logdir = "/var/log/freeradius"
       libdir = "/usr/lib/freeradius"
       radacctdir = "/var/log/freeradius/radacct"
       hostname_lookups = no
       max_request_time = 30
       cleanup_delay = 5
       max_requests = 1024
       allow_core_dumps = no
       pidfile = "/var/run/freeradius/freeradius.pid"
       checkrad = "/usr/sbin/checkrad"
       debug_level = 0
       proxy_requests = yes
log {
       stripped_names = no
       auth = no
       auth_badpass = no
       auth_goodpass = no
}
security {
       max_attributes = 200
       reject_delay = 1
       status_server = yes
}
}
client localhost {
       ipaddr = 127.0.0.1
       require_message_authenticator = no
       secret = "testing123"
       nastype = "other"
}
radiusd: #### Loading Realms and Home Servers ####
proxy server {
       retry_delay = 5
       retry_count = 3
       default_fallback = no
       dead_time = 120
       wake_all_if_all_dead = no
}
home_server localhost {
       ipaddr = 127.0.0.1
       port = 1812
       type = "auth"
       secret = "testing123"
       response_window = 20
       max_outstanding = 65536
       zombie_period = 40
       status_check = "status-server"
       ping_interval = 30
       check_interval = 30
       num_answers_to_alive = 3
       num_pings_to_alive = 3
       revive_interval = 120
       status_check_timeout = 4
}
home_server_pool my_auth_failover {
       type = fail-over
       home_server = localhost
}
realm example.com {
       auth_pool = my_auth_failover
}
realm LOCAL {
}
radiusd: #### Instantiating modules ####
instantiate {
Module: Linked to module rlm_exec
Module: Instantiating exec
 exec {
       wait = yes
       input_pairs = "request"
       output_pairs = "reply"
       shell_escape = yes
 }
Module: Linked to module rlm_expr
Module: Instantiating expr
Module: Linked to module rlm_expiration
Module: Instantiating expiration
 expiration {
       reply-message = "Password Has Expired  "
 }
Module: Linked to module rlm_logintime
Module: Instantiating logintime
 logintime {
       reply-message = "You are calling outside your allowed timespan  "
       minimum-timeout = 60
 }
}
radiusd: #### Loading Virtual Servers ####
server inner-tunnel {
modules {
Module: Checking authenticate {...} for more modules to load
Module: Linked to module rlm_pap
Module: Instantiating pap
 pap {
       encryption_scheme = "auto"
       auto_header = no
 }
Module: Linked to module rlm_chap
Module: Instantiating chap
Module: Linked to module rlm_mschap
Module: Instantiating mschap
 mschap {
       use_mppe = yes
       require_encryption = no
       require_strong = no
       with_ntdomain_hack = no
 }
Module: Linked to module rlm_unix
Module: Instantiating unix
 unix {
       radwtmp = "/var/log/freeradius/radwtmp"
 }
Module: Linked to module rlm_eap
Module: Instantiating eap
 eap {
       default_eap_type = "md5"
       timer_expire = 60
       ignore_unknown_eap_types = no
       cisco_accounting_username_bug = no
       max_sessions = 2048
 }
Module: Linked to sub-module rlm_eap_md5
Module: Instantiating eap-md5
Module: Linked to sub-module rlm_eap_leap
Module: Instantiating eap-leap
Module: Linked to sub-module rlm_eap_gtc
Module: Instantiating eap-gtc
  gtc {
       challenge = "Password: "
       auth_type = "PAP"
  }
Ignoring EAP-Type/tls because we do not have OpenSSL support.
Ignoring EAP-Type/ttls because we do not have OpenSSL support.
Ignoring EAP-Type/peap because we do not have OpenSSL support.
Module: Linked to sub-module rlm_eap_mschapv2
Module: Instantiating eap-mschapv2
  mschapv2 {
       with_ntdomain_hack = no
  }
Module: Checking authorize {...} for more modules to load
Module: Linked to module rlm_realm
Module: Instantiating suffix
 realm suffix {
       format = "suffix"
       delimiter = "@"
       ignore_default = no
       ignore_null = no
 }
Module: Linked to module rlm_files
Module: Instantiating files
 files {
       usersfile = "/etc/freeradius/users"
       acctusersfile = "/etc/freeradius/acct_users"
       preproxy_usersfile = "/etc/freeradius/preproxy_users"
       compat = "no"
 }
Module: Checking session {...} for more modules to load
Module: Linked to module rlm_radutmp
Module: Instantiating radutmp
 radutmp {
       filename = "/var/log/freeradius/radutmp"
       username = "%{User-Name}"
       case_sensitive = yes
       check_with_nas = yes
       perm = 384
       callerid = yes
 }
Module: Checking post-proxy {...} for more modules to load
Module: Checking post-auth {...} for more modules to load
Module: Linked to module rlm_attr_filter
Module: Instantiating attr_filter.access_reject
 attr_filter attr_filter.access_reject {
       attrsfile = "/etc/freeradius/attrs.access_reject"
       key = "%{User-Name}"
 }
}
}
modules {
Module: Checking authenticate {...} for more modules to load
Module: Linked to module rlm_perl
Module: Instantiating perl
 perl {
       module = "/usr/abills/libexec/rlm_perl.pl"
       func_authorize = "authorize"
       func_authenticate = "authenticate"
       func_accounting = "accounting"
       func_preacct = "preacct"
       func_checksimul = "checksimul"
       func_detach = "detach"
       func_xlat = "xlat"
       func_pre_proxy = "pre_proxy"
       func_post_proxy = "post_proxy"
       func_post_auth = "post_auth"
 }
 perl {
       max_clones = 32
       start_clones = 32
       min_spare_clones = 0
       max_spare_clones = 32
       cleanup_delay = 5
       max_request_per_clone = 0
 }
Module: Checking authorize {...} for more modules to load
Module: Linked to module rlm_preprocess
Module: Instantiating preprocess
 preprocess {
       huntgroups = "/etc/freeradius/huntgroups"
       hints = "/etc/freeradius/hints"
       with_ascend_hack = no
       ascend_channels_per_line = 23
       with_ntdomain_hack = no
       with_specialix_jetstream_hack = no
       with_cisco_vsa_hack = no
       with_alvarion_vsa_hack = no
 }
Module: Checking preacct {...} for more modules to load
Module: Checking accounting {...} for more modules to load
Module: Checking post-auth {...} for more modules to load
}
radiusd: #### Opening IP addresses and Ports ####
listen {
       type = "auth"
       ipaddr = *
       port = 0
}
listen {
       type = "acct"
       ipaddr = *
       port = 0
}
Listening on authentication address * port 1812
Listening on accounting address * port 1813
Listening on proxy address * port 1814
Ready to process requests.
rad_recv: Access-Request packet from host 127.0.0.1 port 33115, id=113, length=107
       Service-Type = Framed-User
       Framed-Protocol = PPP
       User-Name = "test"
       CHAP-Challenge = 0xca07fa2cca02fe5bfae24bfa6f7f5c91645d8a
       CHAP-Password = 0x66d770864b1ae903e2a9abac48db8d028f
       Calling-Station-Id = "178.133.164.154"
       NAS-IP-Address = 127.0.0.1
       NAS-Port = 1
+- entering group authorize {...}
++[preprocess] returns ok
perl_pool: item 0x9ce7038 asigned new request. Handled so far: 1
found interpetator at address 0x9ce7038
rlm_perl: Added pair CHAP-Password = 0x66d770864b1ae903e2a9abac48db8d028f
rlm_perl: Added pair Service-Type = Framed-User
rlm_perl: Added pair Calling-Station-Id = 178.133.164.154
rlm_perl: Added pair Framed-Protocol = PPP
rlm_perl: Added pair User-Name = test
rlm_perl: Added pair CHAP-Challenge = 0xca07fa2cca02fe5bfae24bfa6f7f5c91645d8a
rlm_perl: Added pair NAS-IP-Address = 127.0.0.1
rlm_perl: Added pair NAS-Port = 1
rlm_perl: Added pair Acct-Interim-Interval = 60
rlm_perl: Added pair Session-Timeout = 1656551
rlm_perl: Added pair PPPD-Upstream-Speed-Limit = 128
rlm_perl: Added pair Octets-Direction = 0
rlm_perl: Added pair Framed-IP-Address = 172.16.3.143
rlm_perl: Added pair Session-Octets-Limit = 0
rlm_perl: Added pair Framed-IP-Netmask = 255.255.255.255
rlm_perl: Added pair PPPD-Downstream-Speed-Limit = 128
rlm_perl: Added pair Auth-Type = Accept
perl_pool total/active/spare [32/0/32]
Unreserve perl at address 0x9ce7038
++[perl] returns ok
++[mschap] returns noop
Found Auth-Type = Accept
Auth-Type = Accept, accepting the user
Sending Access-Accept of id 113 to 127.0.0.1 port 33115
       Acct-Interim-Interval = 60
       Session-Timeout = 1656551
       PPPD-Upstream-Speed-Limit = 128
       Octets-Direction = Route-IP-No
       Framed-IP-Address = 172.16.3.143
       Session-Octets-Limit = 0
       Framed-IP-Netmask = 255.255.255.255
       PPPD-Downstream-Speed-Limit = 128
Finished request 0.
Going to the next request
Waking up in 4.9 seconds.
rad_recv: Accounting-Request packet from host 127.0.0.1 port 41139, id=114, length=113
       Acct-Session-Id = "4D050B7B2A7E00"
       User-Name = "test"
       Acct-Status-Type = Start
       Service-Type = Framed-User
       Framed-Protocol = PPP
       Calling-Station-Id = "178.133.164.154"
       Acct-Authentic = RADIUS
       NAS-Port-Type = Async
       Framed-IP-Address = 172.16.3.143
       NAS-IP-Address = 127.0.0.1
       NAS-Port = 1
       Acct-Delay-Time = 0
+- entering group preacct {...}
++[preprocess] returns ok
perl_pool: item 0xa29e068 asigned new request. Handled so far: 1
found interpetator at address 0xa29e068
rlm_perl: perl_embed:: module = /usr/abills/libexec/rlm_perl.pl , func = preacct exit status= Undefined subroutine &main::preacct called at /usr/abills/libexec/rlm_perl.pl line 31.
rlm_perl: Added pair NAS-Port-Type = Async
rlm_perl: Added pair Acct-Session-Id = 4D050B7B2A7E00
rlm_perl: Added pair Service-Type = Framed-User
rlm_perl: Added pair Calling-Station-Id = 178.133.164.154
rlm_perl: Added pair Framed-Protocol = PPP
rlm_perl: Added pair User-Name = test
rlm_perl: Added pair Acct-Authentic = RADIUS
rlm_perl: Added pair Acct-Status-Type = Start
rlm_perl: Added pair Framed-IP-Address = 172.16.3.143
rlm_perl: Added pair NAS-Port = 1
rlm_perl: Added pair NAS-IP-Address = 127.0.0.1
rlm_perl: Added pair Acct-Delay-Time = 0
perl_pool total/active/spare [32/0/32]
Unreserve perl at address 0xa29e068
++[perl] returns reject
Finished request 1.
Cleaning up request 1 ID 114 with timestamp +18
Going to the next request
Waking up in 3.3 seconds.
Cleaning up request 0 ID 113 with timestamp +16
Ready to process requests.
rad_recv: Accounting-Request packet from host 127.0.0.1 port 41139, id=114, length=113
       Acct-Session-Id = "4D050B7B2A7E00"
       User-Name = "test"
       Acct-Status-Type = Start
       Service-Type = Framed-User
       Framed-Protocol = PPP
       Calling-Station-Id = "178.133.164.154"
       Acct-Authentic = RADIUS
       NAS-Port-Type = Async
       Framed-IP-Address = 172.16.3.143
       NAS-IP-Address = 127.0.0.1
       NAS-Port = 1
       Acct-Delay-Time = 0
+- entering group preacct {...}
++[preprocess] returns ok
perl_pool: item 0xa464af0 asigned new request. Handled so far: 1
found interpetator at address 0xa464af0
rlm_perl: perl_embed:: module = /usr/abills/libexec/rlm_perl.pl , func = preacct exit status= Undefined subroutine &main::preacct called at /usr/abills/libexec/rlm_perl.pl line 31.
rlm_perl: Added pair NAS-Port-Type = Async
rlm_perl: Added pair Acct-Session-Id = 4D050B7B2A7E00
rlm_perl: Added pair Service-Type = Framed-User
rlm_perl: Added pair Calling-Station-Id = 178.133.164.154
rlm_perl: Added pair Framed-Protocol = PPP
rlm_perl: Added pair User-Name = test
rlm_perl: Added pair Acct-Authentic = RADIUS
rlm_perl: Added pair Acct-Status-Type = Start
rlm_perl: Added pair Framed-IP-Address = 172.16.3.143
rlm_perl: Added pair NAS-Port = 1
rlm_perl: Added pair NAS-IP-Address = 127.0.0.1
rlm_perl: Added pair Acct-Delay-Time = 0
perl_pool total/active/spare [32/0/32]
Unreserve perl at address 0xa464af0
++[perl] returns reject
Finished request 2.
Cleaning up request 2 ID 114 with timestamp +28
Going to the next request
Ready to process requests.
rad_recv: Accounting-Request packet from host 127.0.0.1 port 41139, id=114, length=113
       Acct-Session-Id = "4D050B7B2A7E00"
       User-Name = "test"
       Acct-Status-Type = Start
       Service-Type = Framed-User
       Framed-Protocol = PPP
       Calling-Station-Id = "178.133.164.154"
       Acct-Authentic = RADIUS
       NAS-Port-Type = Async
       Framed-IP-Address = 172.16.3.143
       NAS-IP-Address = 127.0.0.1
       NAS-Port = 1
       Acct-Delay-Time = 0
+- entering group preacct {...}
++[preprocess] returns ok
perl_pool: item 0xa6fb8a8 asigned new request. Handled so far: 1
found interpetator at address 0xa6fb8a8
rlm_perl: perl_embed:: module = /usr/abills/libexec/rlm_perl.pl , func = preacct exit status= Undefined subroutine &main::preacct called at /usr/abills/libexec/rlm_perl.pl line 31.
rlm_perl: Added pair NAS-Port-Type = Async
rlm_perl: Added pair Acct-Session-Id = 4D050B7B2A7E00
rlm_perl: Added pair Service-Type = Framed-User
rlm_perl: Added pair Calling-Station-Id = 178.133.164.154
rlm_perl: Added pair Framed-Protocol = PPP
rlm_perl: Added pair User-Name = test
rlm_perl: Added pair Acct-Authentic = RADIUS
rlm_perl: Added pair Acct-Status-Type = Start
rlm_perl: Added pair Framed-IP-Address = 172.16.3.143
rlm_perl: Added pair NAS-Port = 1
rlm_perl: Added pair NAS-IP-Address = 127.0.0.1
rlm_perl: Added pair Acct-Delay-Time = 0
perl_pool total/active/spare [32/0/32]
Unreserve perl at address 0xa6fb8a8
++[perl] returns reject
Finished request 3.
Cleaning up request 3 ID 114 with timestamp +38
Going to the next request
Ready to process requests.

 

Меня смущает вот это "rlm_perl: perl_embed:: module = /usr/abills/libexec/rlm_perl.pl , func = preacct exit status= Undefined subroutine &main::preacct called at /usr/abills/libexec/rlm_perl.pl line 31."

Link to post
Share on other sites

Ошибка, которая вас смущает скорее всего и есть причиной.

 

Покажите конфиг /etc/freeradius/sites-enabled/default

/etc/freeradius/sites-enabled/inner-tunnel

 

Попробуем сначала поправить ваши конфиги, если не получится скину рабочие конфиги.

Edited by spaul
Link to post
Share on other sites

Ошибка, которая вас смущает скорее всего и есть причиной.

 

Покажите конфиг /etc/freeradius/sites-enabled/default

/etc/freeradius/sites-enabled/inner-tunnel

 

Попробуем сначала поправить ваши конфиги, если не получится скину рабочие конфиги.

 

/etc/freeradius/sites-enabled/default

authorize {
preprocess
perl
#abills_preauth
mschap
#files
#abills_auth
}

preacct {
preprocess
#abills_acc
perl
}

#post-auth {
#Post-Auth-Type REJECT {
#abills_postauth
#}
#}

post-auth {
Post-Auth-Type REJECT {
perl
}
}

authenticate {
Auth-Type PAP {
pap
perl
}

Auth-Type CHAP {
chap
}

Auth-Type MS-CHAP {
mschap
}

unix
eap
}

accounting {
unix
radutmp
perl
}

 

/etc/freeradius/sites-enabled/inner-tunnel я его не трогал, там всё по дефолту

Link to post
Share on other sites
  • 1 year later...
  • 4 weeks later...

Помогите и мне с рабочим конфигом если не сложно. Намучался уже.

 

freeradius -X

 

 

FreeRADIUS Version 2.1.10, for host x86_64-pc-linux-gnu, built on May 19 2011 at 15:50:11

Copyright © 1999-2009 The FreeRADIUS server project and contributors.

There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE.

You may redistribute copies of FreeRADIUS under the terms of the

GNU General Public License v2.

Starting - reading configuration files ...

including configuration file /etc/freeradius/radiusd.conf

including configuration file /etc/freeradius/proxy.conf

including configuration file /etc/freeradius/clients.conf

including files in directory /etc/freeradius/modules/

including configuration file /etc/freeradius/modules/mac2ip

including configuration file /etc/freeradius/modules/radutmp

including configuration file /etc/freeradius/modules/smsotp

including configuration file /etc/freeradius/modules/passwd

including configuration file /etc/freeradius/modules/exec

including configuration file /etc/freeradius/modules/ippool

including configuration file /etc/freeradius/modules/files

including configuration file /etc/freeradius/modules/inner-eap

including configuration file /etc/freeradius/modules/perl

including configuration file /etc/freeradius/modules/linelog

including configuration file /etc/freeradius/modules/sradutmp

including configuration file /etc/freeradius/modules/acct_unique

including configuration file /etc/freeradius/modules/smbpasswd

including configuration file /etc/freeradius/modules/policy

including configuration file /etc/freeradius/modules/ntlm_auth

including configuration file /etc/freeradius/modules/checkval

including configuration file /etc/freeradius/modules/sqlcounter_expire_on_login

including configuration file /etc/freeradius/modules/chap

including configuration file /etc/freeradius/modules/opendirectory

including configuration file /etc/freeradius/modules/ldap

including configuration file /etc/freeradius/modules/cui

including configuration file /etc/freeradius/modules/detail.log

including configuration file /etc/freeradius/modules/mschap

including configuration file /etc/freeradius/modules/counter

including configuration file /etc/freeradius/modules/unix

including configuration file /etc/freeradius/modules/pam

including configuration file /etc/freeradius/modules/detail

including configuration file /etc/freeradius/modules/krb5

including configuration file /etc/freeradius/modules/expiration

including configuration file /etc/freeradius/modules/otp

including configuration file /etc/freeradius/modules/always

including configuration file /etc/freeradius/modules/dynamic_clients

including configuration file /etc/freeradius/modules/detail.example.com

including configuration file /etc/freeradius/modules/expr

including configuration file /etc/freeradius/modules/logintime

including configuration file /etc/freeradius/modules/echo

including configuration file /etc/freeradius/modules/realm

including configuration file /etc/freeradius/modules/sql_log

including configuration file /etc/freeradius/modules/digest

including configuration file /etc/freeradius/modules/pap

including configuration file /etc/freeradius/modules/wimax

including configuration file /etc/freeradius/modules/attr_filter

including configuration file /etc/freeradius/modules/mac2vlan

including configuration file /etc/freeradius/modules/preprocess

including configuration file /etc/freeradius/modules/etc_group

including configuration file /etc/freeradius/modules/attr_rewrite

including configuration file /etc/freeradius/eap.conf

including configuration file /etc/freeradius/policy.conf

including files in directory /etc/freeradius/sites-enabled/

including configuration file /etc/freeradius/sites-enabled/default.default

including configuration file /etc/freeradius/sites-enabled/inner-tunnel

including configuration file /etc/freeradius/sites-enabled/default

main {

user = "freerad"

group = "freerad"

allow_core_dumps = no

}

including dictionary file /etc/freeradius/dictionary

main {

prefix = "/usr"

localstatedir = "/var"

logdir = "/var/log/freeradius"

libdir = "/usr/lib/freeradius"

radacctdir = "/var/log/freeradius/radacct"

hostname_lookups = no

max_request_time = 30

cleanup_delay = 5

max_requests = 1024

pidfile = "/var/run/freeradius/freeradius.pid"

checkrad = "/usr/sbin/checkrad"

debug_level = 0

proxy_requests = yes

log {

stripped_names = no

auth = no

auth_badpass = no

auth_goodpass = no

}

security {

max_attributes = 200

reject_delay = 1

status_server = yes

}

}

radiusd: #### Loading Realms and Home Servers ####

proxy server {

retry_delay = 5

retry_count = 3

default_fallback = no

dead_time = 120

wake_all_if_all_dead = no

}

home_server localhost {

ipaddr = 127.0.0.1

port = 1812

type = "auth"

secret = "testing123"

response_window = 20

max_outstanding = 65536

require_message_authenticator = yes

zombie_period = 40

status_check = "status-server"

ping_interval = 30

check_interval = 30

num_answers_to_alive = 3

num_pings_to_alive = 3

revive_interval = 120

status_check_timeout = 4

irt = 2

mrt = 16

mrc = 5

mrd = 30

}

home_server_pool my_auth_failover {

type = fail-over

home_server = localhost

}

realm example.com {

auth_pool = my_auth_failover

}

realm LOCAL {

}

radiusd: #### Loading Clients ####

client localhost {

ipaddr = 127.0.0.1

require_message_authenticator = no

secret = "radsecret"

shortname = "shortname"

}

radiusd: #### Instantiating modules ####

instantiate {

Module: Linked to module rlm_exec

Module: Instantiating module "exec" from file /etc/freeradius/modules/exec

exec {

wait = yes

input_pairs = "request"

output_pairs = "reply"

shell_escape = yes

}

Module: Linked to module rlm_expr

Module: Instantiating module "expr" from file /etc/freeradius/modules/expr

Module: Linked to module rlm_expiration

Module: Instantiating module "expiration" from file /etc/freeradius/modules/expiration

expiration {

reply-message = "Password Has Expired "

}

Module: Linked to module rlm_logintime

Module: Instantiating module "logintime" from file /etc/freeradius/modules/logintime

logintime {

reply-message = "You are calling outside your allowed timespan "

minimum-timeout = 60

}

}

radiusd: #### Loading Virtual Servers ####

server inner-tunnel { # from file /etc/freeradius/sites-enabled/inner-tunnel

modules {

Module: Checking authenticate {...} for more modules to load

Module: Linked to module rlm_pap

Module: Instantiating module "pap" from file /etc/freeradius/modules/pap

pap {

encryption_scheme = "auto"

auto_header = no

}

Module: Linked to module rlm_chap

Module: Instantiating module "chap" from file /etc/freeradius/modules/chap

Module: Linked to module rlm_mschap

Module: Instantiating module "mschap" from file /etc/freeradius/modules/mschap

mschap {

use_mppe = yes

require_encryption = no

require_strong = no

with_ntdomain_hack = no

}

Module: Linked to module rlm_unix

Module: Instantiating module "unix" from file /etc/freeradius/modules/unix

unix {

radwtmp = "/var/log/freeradius/radwtmp"

}

Module: Linked to module rlm_eap

Module: Instantiating module "eap" from file /etc/freeradius/eap.conf

eap {

default_eap_type = "md5"

timer_expire = 60

ignore_unknown_eap_types = no

cisco_accounting_username_bug = no

max_sessions = 4096

}

Module: Linked to sub-module rlm_eap_md5

Module: Instantiating eap-md5

Module: Linked to sub-module rlm_eap_leap

Module: Instantiating eap-leap

Module: Linked to sub-module rlm_eap_gtc

Module: Instantiating eap-gtc

gtc {

challenge = "Password: "

auth_type = "PAP"

}

Module: Linked to sub-module rlm_eap_tls

Module: Instantiating eap-tls

tls {

rsa_key_exchange = no

dh_key_exchange = yes

rsa_key_length = 512

dh_key_length = 512

verify_depth = 0

CA_path = "/etc/freeradius/certs"

pem_file_type = yes

private_key_file = "/etc/freeradius/certs/server.key"

certificate_file = "/etc/freeradius/certs/server.pem"

CA_file = "/etc/freeradius/certs/ca.pem"

private_key_password = "whatever"

dh_file = "/etc/freeradius/certs/dh"

random_file = "/dev/urandom"

fragment_size = 1024

include_length = yes

check_crl = no

cipher_list = "DEFAULT"

make_cert_command = "/etc/freeradius/certs/bootstrap"

cache {

enable = no

lifetime = 24

max_entries = 255

}

verify {

}

}

Module: Linked to sub-module rlm_eap_ttls

Module: Instantiating eap-ttls

ttls {

default_eap_type = "md5"

copy_request_to_tunnel = no

use_tunneled_reply = no

virtual_server = "inner-tunnel"

include_length = yes

}

Module: Linked to sub-module rlm_eap_peap

Module: Instantiating eap-peap

peap {

default_eap_type = "mschapv2"

copy_request_to_tunnel = no

use_tunneled_reply = no

proxy_tunneled_request_as_eap = yes

virtual_server = "inner-tunnel"

}

Module: Linked to sub-module rlm_eap_mschapv2

Module: Instantiating eap-mschapv2

mschapv2 {

with_ntdomain_hack = no

}

Module: Checking authorize {...} for more modules to load

Module: Linked to module rlm_realm

Module: Instantiating module "suffix" from file /etc/freeradius/modules/realm

realm suffix {

format = "suffix"

delimiter = "@"

ignore_default = no

ignore_null = no

}

Module: Linked to module rlm_files

Module: Instantiating module "files" from file /etc/freeradius/modules/files

files {

usersfile = "/etc/freeradius/users"

acctusersfile = "/etc/freeradius/acct_users"

preproxy_usersfile = "/etc/freeradius/preproxy_users"

compat = "no"

}

Module: Checking session {...} for more modules to load

Module: Linked to module rlm_radutmp

Module: Instantiating module "radutmp" from file /etc/freeradius/modules/radutmp

radutmp {

filename = "/var/log/freeradius/radutmp"

username = "%{User-Name}"

case_sensitive = yes

check_with_nas = yes

perm = 384

callerid = yes

}

Module: Checking post-proxy {...} for more modules to load

Module: Checking post-auth {...} for more modules to load

Module: Linked to module rlm_attr_filter

Module: Instantiating module "attr_filter.access_reject" from file /etc/freeradius/modules/attr_filter

attr_filter attr_filter.access_reject {

attrsfile = "/etc/freeradius/attrs.access_reject"

key = "%{User-Name}"

}

} # modules

} # server

server { # from file /etc/freeradius/radiusd.conf

modules {

Module: Checking authenticate {...} for more modules to load

Module: Linked to module rlm_perl

Module: Instantiating module "perl" from file /etc/freeradius/radiusd.conf

perl {

module = "/usr/abills/libexec/rlm_perl.pl"

func_authorize = "authorize"

func_authenticate = "authenticate"

func_accounting = "accounting"

func_preacct = "preacct"

func_checksimul = "checksimul"

func_detach = "detach"

func_xlat = "xlat"

func_pre_proxy = "pre_proxy"

func_post_proxy = "post_proxy"

func_post_auth = "post_auth"

func_recv_coa = "recv_coa"

func_send_coa = "send_coa"

}

freeradius: symbol lookup error: /usr/lib/perl/5.12/auto/Cwd/Cwd.so: undefined symbol: Perl_Gthr_key_ptr

Link to post
Share on other sites
  • 1 year later...

Ребята!Подскажите что делать?Как завести модуль?

 

radiusd: FreeRADIUS Version 2.2.0, for host i686-pc-linux-gnu, built on Dec 25 2013 at 11:46:25

 

 perl -V | grep USE_I

                        USE_ITHREADS USE_LARGE_FILES USE_LOCALE

 

Summary of my perl5 (revision 5 version 18 subversion 1)

 

пытаюсь запустить радиус с модулем rlm_perl не работает.Выпадает с ошибкой:

radiusd -X

 

Listening on accounting address * port 1813

Ready to process requests.

rad_recv: Access-Request packet from host 127.0.0.1 port 49276, id=114, length=111

        Service-Type = Framed-User

        Framed-Protocol = PPP

        User-Name = "username"

        CHAP-Challenge = 0x28991391dc57bab9e789ee2bb852df823daf

        CHAP-Password = 0x898580788cf65a11aa6b2e7ed36ec01c4d

        Calling-Station-Id = "192.168.111.12"

        NAS-IP-Address = 127.0.1.1

        NAS-Port = 0

# Executing section authorize from file /usr/local/freeradius/etc/raddb/sites-enabled/abills_default

+- entering group authorize {...}

++[preprocess] returns ok

++[mschap] returns noop

[files] users: Matched entry DEFAULT at line 1

++[files] returns ok

rlm_perl: perl_embed:: module = /usr/abills/libexec/rlm_perl.pl , func = authorize exit status= DBD::mysql::db do failed: handle 2 is owned by thread 9474320 not current thread 99fed88 (handles can't be shared between threads and your driver may need a CLONE method added) at /usr/abills/libexec/../Abills/mysql/main.pm line 147.  

Use of uninitialized value in each at /usr/abills/libexec/rlm_perl.pl line 31.

rlm_perl: Added pair NAS-Port = 0

rlm_perl: Added pair NAS-IP-Address = 127.0.1.1

rlm_perl: Added pair Service-Type = Framed-User

rlm_perl: Added pair CHAP-Password = 0x898580788cf65a11aa6b2e7ed36ec01c4d

rlm_perl: Added pair CHAP-Challenge = 0x28991391dc57bab9e789ee2bb852df823daf

rlm_perl: Added pair Framed-Protocol = PPP

rlm_perl: Added pair User-Name = username

rlm_perl: Added pair Calling-Station-Id = 192.168.111.12

rlm_perl: Added pair Auth-Type = Perl

++[perl] returns reject

Using Post-Auth-Type REJECT

# Executing group from file /usr/local/freeradius/etc/raddb/sites-enabled/abills_default

+- entering group REJECT {...}

rlm_perl: perl_embed:: module = /usr/abills/libexec/rlm_perl.pl , func = post_auth exit status= DBD::mysql::db do failed: handle 2 is owned by thread 9474320 not current thread 99fed88 (handles can't be shared between threads and your driver may need a CLONE method added) at /usr/abills/libexec/../Abills/mysql/main.pm line 147.  

Ошибка сегментирования

 

В dmesg сыпит это:

radiusd[9774]: segfault at 211 ip b74aac41 sp bffccca0 error 4 in rlm_perl-2.2.0.so[b74a7000+6000]

 

 

Link to post
Share on other sites

вот статья по шагам как сделать на Ubuntu

 

http://abills.net.ua/wiki/doku.php/abills:docs:manual:install_ubuntu:ru

Так по ней и делалось. :-)

Почему ошибка эта вылазит непонятно,а в доке ничего нет по этому поводу.

Edited by ajax2002
Link to post
Share on other sites

 

вот статья по шагам как сделать на Ubuntu

 

http://abills.net.ua/wiki/doku.php/abills:docs:manual:install_ubuntu:ru

Так по ней и делалось. :-)

Почему ошибка эта вылазит непонятно,а в доке ничего нет по этому поводу.

 

Забейте на убунту. По этому мануалу всё прекрасно становится и работает на Debian 7

Link to post
Share on other sites

 

 

вот статья по шагам как сделать на Ubuntu

 

http://abills.net.ua/wiki/doku.php/abills:docs:manual:install_ubuntu:ru

Так по ней и делалось. :-)

Почему ошибка эта вылазит непонятно,а в доке ничего нет по этому поводу.

 

Забейте на убунту. По этому мануалу всё прекрасно становится и работает на Debian 7

 

Может быть именно с этой версией радиуса проблема?На Debian 7 я и делаю.

Link to post
Share on other sites

Может попробовать выкинуть из перла USE_ITHREADS ?

Можно!Попробую!Но у меня есть подозрение что действительно возможно старая версия Abills'а виновата.

Edited by ajax2002
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
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...