Страница 1 из 1

подвисает радиус

Добавлено: Чт окт 04, 2007 6:27 am
dom
приблизительно после 1-2 суток работы вешается радиус....при авторизации выдает

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

Reply-Message = "SQL error"
в логах радиуса

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

Using perl at 0x80dc800
Auth-Type := Accept
DBD::mysql::st execute failed: MySQL server has gone away at /usr/local/abills/libexec/../Abills/mysql/main.pm line 131.
rlm_perl: Added pair Reply-Message = SQL error
  modcall[authorize]: module "perl" returns reject for request 1851
а вот radtest.sh нормально авторизируется

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

# ./radtest.sh auth
auth
/usr/local/abills/libexec
Session-Timeout = 226191,
Framed-IP-Address = 10.60.0.8,
Framed-IP-Netmask = 255.255.255.255,

Auth test end
что я опять напутал ?

Добавлено: Пт окт 05, 2007 10:37 am
~AsmodeuS~
Обновитесь с CVS уже поправлено

Добавлено: Пт окт 05, 2007 12:16 pm
dom
~AsmodeuS~ писал(а):Обновитесь с CVS уже поправлено
обновился, теперь не авторизируэт пользователя, радиус говорит:

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

Fri Oct  5 15:08:05 2007 : Error: rlm_perl: perl_embed:: module = /usr/local/abills/libexec/rlm_perl.pl , func = authorize exit status= Can't call method "prepare" on unblessed reference at /usr/local/abills/libexec/../Abills/mysql/main.pm line 121.

Добавлено: Пт окт 05, 2007 12:40 pm
~AsmodeuS~
Должно уже работать

Добавлено: Пт окт 05, 2007 12:55 pm
dom
~AsmodeuS~ писал(а):Должно уже работать
Должно но не работает, теперь радиус не подвисает а вообще вываливается и говорит:

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

rad_recv: Access-Request packet from host 192.168.250.1:54189, id=187, length=126
        NAS-Identifier = "xxxxxxxxxx"
        NAS-IP-Address = 192.168.250.1
        Message-Authenticator = 0xff4b379abfe11356f96a26edc547899d
        NAS-Port = 0
        NAS-Port-Type = Virtual
        Service-Type = Framed-User
        Framed-Protocol = PPP
        Calling-Station-Id = "192.168.0.11"
        User-Name = "xxx"
        User-Password = "xxx"
  Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 4
Using perl at 0x80dc5d0
rlm_perl: perl_embed:: module = /usr/local/abills/libexec/rlm_perl.pl , func = authorize exit status= Can't call method "prepare" on unblessed reference at /usr/local/abills/libexec/../Abills/mysql/main.pm line 121.
Segmentation fault (core dumped)

Добавлено: Пт окт 05, 2007 1:41 pm
~AsmodeuS~
ещё раз апдейт сделайте наверное тчто не так с ЦВС

Добавлено: Пт окт 05, 2007 3:02 pm
dom
~AsmodeuS~ писал(а):ещё раз апдейт сделайте наверное тчто не так с ЦВС
обновил еще раз...вродь работает....будем пасматреть....
Спасибо за быстроту реакции не смотря на то что поддержка безплатная

Добавлено: Сб окт 06, 2007 8:22 pm
dom
Теперь вобще не могу понять что творится...в лог пишется

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

2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 3579,
2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 23,
2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 54,
2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 82,
2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 130,
2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 171,
2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 249,
2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 388,
2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 497,
2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 705,
2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 1177,
2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 1376,
2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 864000,
2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 1652,
2007-10-06 22:29:58 LOG_DEBUG: AUTH [asd] Session-Timeout = 1784,
2007-10-06 22:25:28 LOG_DEBUG: AUTH [asd] Session-Timeout = 1859,
2007-10-06 22:25:28 LOG_DEBUG: AUTH [asd] Session-Timeout = 864000,
2007-10-06 22:25:28 LOG_DEBUG: AUTH [asd] Session-Timeout = 2017,
2007-10-06 22:25:28 LOG_DEBUG: AUTH [asd] Session-Timeout = 2056,
2007-10-06 13:21:15 LOG_DEBUG: AUTH [asd] Session-Timeout = 2288,
непонятно почему в лог пишется время когда я перегружал радиус (13:21:15,22:25:28,22:32:14)
есть два тарифных плана в которых указано

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

Макс. час сесії (sec.): 864000
когда юзер в одном тарифе радиус ему выдает постоянно Session-Timeout = 864000 как и должно быть
когда перевожу юзера на второй тариф Session-Timeout начинается с 3600 и с каждым коннектом уменьшается
что за странные глюки ?
кроме того перегрузить радиус штатным rc.d скриптом скриптом не удается...приходится убивать процесс radiusd
на всякий случай привожу конфиг радиуса...может я там чего-то напутал

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

# cat radiusd.conf
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 = 1024
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 = 5
        max_servers = 32
        min_spare_servers = 3
        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
       }
}

Добавлено: Сб окт 06, 2007 8:34 pm
dom
и еще один момент....при старте радиус выдает

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

Starting radiusd.
Sat Oct  6 23:32:45 2007 : Info: Starting - reading configuration files ...
Subroutine access_deny redefined at /usr/local/abills/libexec/rauth.pl line 253.
Reply-Message = "Unknow server ''"

Добавлено: Пн окт 08, 2007 6:12 am
dom
~AsmodeuS~ писал(а):Должно уже работать
Должно....но не работает...(

Добавлено: Пн окт 08, 2007 8:28 am
~AsmodeuS~
При старте всегда будет такое выдавать

Таймауты в логах это дебаг вывод абилсачто передаётся пользователю

Если отключить дебаг мод - пропадут эти пообщения

Почему таймаут всегда уменьшается:
система всегда знает максимальную точку работы пользователя и всегда таймаут до неё

Добавлено: Пн окт 08, 2007 11:12 am
dom
~AsmodeuS~ писал(а):Почему таймаут всегда уменьшается:
система всегда знает максимальную точку работы пользователя и всегда таймаут до неё
Откуда система может знать максимальную точку работы пользователя если оплата не почасовая а помегабайтная ?
кроме того я явно указал в тарифном плане

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

Макс. час сесії (sec.): 864000
еще настораживает тот факт что в логе не меняется время (когда сделана запись в лог 2007-10-06 22:32:14)

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

2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 3579,
2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 23,
2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 54,
2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 82,
2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 130,
2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 171,
2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 249,
2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 388,
2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 497,
2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 705,
2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 1177,
2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 1376,
2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 864000,
2007-10-06 22:32:14 LOG_DEBUG: AUTH [asd] Session-Timeout = 1652, 
это время меняется если перегрузить радиус

Добавлено: Пн окт 08, 2007 2:53 pm
~AsmodeuS~
Самый большой таймаут это сессия до конца месяца

а потом в тех тарифах точ по трафику таймаут идёт до следующего мнтервала смены цены на трафик


в libexec/config.pl
в функцие log_print нужно добавить

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

my  $DATE = strftime "%Y-%m-%d", localtime(time);
my  $TIME = strftime "%H:%M:%S", localtime(time);

Добавлено: Вт окт 09, 2007 6:46 am
dom
~AsmodeuS~ писал(а):Самый большой таймаут это сессия до конца месяца

а потом в тех тарифах точ по трафику таймаут идёт до следующего мнтервала смены цены на трафик
Это как получается....если у меня цена на трафик меняется пять раз в сутки...то столько же раз будет вырубать пользователя ?
~AsmodeuS~ писал(а):в libexec/config.pl
в функцие log_print нужно добавить

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

my  $DATE = strftime "%Y-%m-%d", localtime(time);
my  $TIME = strftime "%H:%M:%S", localtime(time);
Теперь работае...спасибо!

Добавлено: Вт окт 09, 2007 9:09 am
~AsmodeuS~
dom писал(а):
~AsmodeuS~ писал(а):Самый большой таймаут это сессия до конца месяца

а потом в тех тарифах точ по трафику таймаут идёт до следующего мнтервала смены цены на трафик
Это как получается....если у меня цена на трафик меняется пять раз в сутки...то столько же раз будет вырубать пользователя ?
В некомерческой версии да