Через некоторое время rlm_perl не пускает пользователей

Ответить
bobik
Сообщения: 5
Зарегистрирован: Вс фев 24, 2008 8:03 am

Через некоторое время rlm_perl не пускает пользователей

Сообщение bobik »

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 ничего не помогает. Может кто сталкивался с такой проблемой?

sopov
Сообщения: 610
Зарегистрирован: Вс апр 02, 2006 7:13 pm

Сообщение sopov »

Зависает радиус. Проверьте закоментировано ли в конфиге радиуса MS-CHAP ?

bobik
Сообщения: 5
Зарегистрирован: Вс фев 24, 2008 8:03 am

Сообщение bobik »

У меня и нет его а конфиге:

Код: Выделить всё

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
	}
}

chtito
Сообщения: 313
Зарегистрирован: Чт дек 13, 2007 11:03 am

Сообщение chtito »

Попробуйте радиусу трединговую библиотеку libpthread заменить на 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 так что менять не пришлось бы. Не считать пропагандой чудесной оси :)

Ответить