Abills работает через rlm_perl.
ОС FreeBSD 6.3.
freeradius-1.1.7_3
Через день, два перестает пускать пользователей с ошибкой 691 - доступ запрещен и т.д.
Из ошибок удалось обнаружить только это в логах abills:
2008-03-07 13:30:39 LOG_WARNING: AUTH [ruslan] NAS: 2 SQL error MySQL server has gone away CID: 10.0.0.20
2008-03-07 13:30:39 LOG_INFO: AUTH [ruslan] MS-CHAP PREAUTH FAILED GT: 0.05670
Помогает перезапуск freeradius. Причем обычным рестартом не получается, нужно убивать kill -9
Пробовал эксперементировать с конфигами freeradius, mysql ничего не помогает. Может кто сталкивался с такой проблемой?
Через некоторое время rlm_perl не пускает пользователей
У меня и нет его а конфиге:
Код: Выделить всё
prefix = /usr/local
exec_prefix = ${prefix}
sysconfdir = ${prefix}/etc
localstatedir = /var
sbindir = ${exec_prefix}/sbin
logdir = /var/log
raddbdir = ${sysconfdir}/raddb
radacctdir = ${logdir}/radacct
confdir = ${raddbdir}
run_dir = ${localstatedir}/run/radiusd
log_file = ${logdir}/radius.log
libdir = ${exec_prefix}/lib
pidfile = ${run_dir}/radiusd.pid
max_request_time = 30
delete_blocked_requests = no
cleanup_delay = 5
max_requests = 2048
bind_address = *
port = 0
hostname_lookups = no
allow_core_dumps = no
regular_expressions = yes
extended_expressions = yes
log_stripped_names = yes
log_auth = yes
log_auth_badpass = yes
log_auth_goodpass = yes
usercollide = no
lower_user = no
lower_pass = no
nospace_user = no
nospace_pass = no
checkrad = ${sbindir}/checkrad
security {
max_attributes = 200
reject_delay = 1
status_server = no
}
proxy_requests = no
$INCLUDE ${confdir}/clients.conf
snmp = no
thread pool {
start_servers = 2
max_servers = 10
min_spare_servers = 2
max_spare_servers = 10
max_requests_per_server = 0
}
modules {
perl {
module = /usr/local/abills/libexec/rlm_perl.pl
func_authorize = authorize
func_accounting = accounting
func_authenticate = authenticate
func_preacct = preacct
func_checksimul = checksimul
func_xlat = xlat
}
acct_unique {
key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address, NAS-Port"
}
}
authorize {
perl
}
authenticate {
perl
}
accounting {
perl
}
post-auth {
Post-Auth-Type REJECT {
perl
}
}
Попробуйте радиусу трединговую библиотеку libpthread заменить на libthr.
Сделайте ldd /usr/local/sbin/radiusd
там скорее всего будет /lib/libpthread.XXX
вот это имя (без директорий) скопируйте и создайте файл /etc/libmap.conf:
P.S.: во FreeBSD 7.0 уже по умолчанию libthr так что менять не пришлось бы. Не считать пропагандой чудесной оси
Сделайте ldd /usr/local/sbin/radiusd
там скорее всего будет /lib/libpthread.XXX
вот это имя (без директорий) скопируйте и создайте файл /etc/libmap.conf:
И перезапустите радиус.[/usr/local/sbin/radiusd]
libpthread.ХХХ libthr.so
P.S.: во FreeBSD 7.0 уже по умолчанию libthr так что менять не пришлось бы. Не считать пропагандой чудесной оси
