chtito
Сообщения: 313 Зарегистрирован: Чт дек 13, 2007 11:03 am
Сообщение
chtito » Пн мар 24, 2008 8:21 am
После перезагрузки FreeBSD 7.0 radiusd (freeradius 2.0.1) запускается нормально, но radtest не работает:
$ radtest test 123456 127.0.0.1:1812 0 testing123 0 10.10.70.150
Sending Access-Request of id 108 to 127.0.0.1 port 1812
User-Name = "test"
User-Password = "123456"
NAS-IP-Address = 10.10.70.150
NAS-Port = 0
Framed-Protocol = PPP
rad_recv: Access-Reject packet from host 127.0.0.1 port 1812, id=108, length=20
После /usr/local/etc/rc.d/radiusd restart radtest работает!
Ошибка в /var/log/radius.log
Mon Mar 24 12:16:55 2008 : Error: rlm_perl: perl_embed:: module = /usr/abills/libexec/rlm_perl.pl , func = authorize exit status= Can't locate object method "new" via package "Nas" at /usr/abills/libexec/rlm_perl.pl line 54.
Mon Mar 24 12:16:55 2008 : Error: rlm_perl: perl_embed:: module = /usr/abills/libexec/rlm_perl.pl , func = post_auth exit status= Undefined subroutine &main::post_auth called.
chtito
Сообщения: 313 Зарегистрирован: Чт дек 13, 2007 11:03 am
Сообщение
chtito » Пн мар 24, 2008 8:23 pm
Даунгрейднул FreeRADIUS до 1.1.7 - тот же самый баг после перезагрузки, который лечится рестартом радиуса:
Tue Mar 25 00:21:06 2008 : Error: rlm_perl: perl_embed:: module = /usr/abills/libexec/rlm_perl.pl , func = authorize exit status= Can't locate object method "new" via package "Nas" at /usr/abills/libexec/rlm_perl.pl line 54.
Tue Mar 25 00:21:11 2008 : Error: rlm_perl: perl_embed:: module = /usr/abills/libexec/rlm_perl.pl , func = authorize exit status= Can't locate object method "new" via package "Nas" at /usr/abills/libexec/rlm_perl.pl line 54.
chtito
Сообщения: 313 Зарегистрирован: Чт дек 13, 2007 11:03 am
Сообщение
chtito » Вт мар 25, 2008 4:45 pm
Это происходит не только после перезагрузки, но и через несколько часов если оставить. В /var/log/abills.log появляется:
2008-03-25 00:26:03 LOG_INFO: AUTH [test] NAS: 1 (10.10.70.150) GT: 0.00543
2008-03-25 00:26:03 LOG_INFO: AUTH [test] NAS: 1 (10.10.70.150) GT: 0.04822
2008-03-25 17:33:14 LOG_WARNING: AUTH [test] NAS: 1 SQL error MySQL server has gone away
2008-03-25 20:39:15 LOG_INFO: AUTH [test] MS-CHAP PREAUTH FAILED GT: 0.00543
2008-03-25 20:39:15 LOG_WARNING: AUTH [test] NAS: 1 SQL error MySQL server has gone away
2008-03-25 20:39:35 LOG_INFO: AUTH [45345] MS-CHAP PREAUTH FAILED GT: 0.00543
2008-03-25 20:39:35 LOG_WARNING: AUTH [45345] NAS: 1 SQL error MySQL server has gone away
2008-03-25 20:39:40 LOG_INFO: AUTH [test] MS-CHAP PREAUTH FAILED GT: 0.00543
В /var/log/radius.log ошибок нет.
Что делать?
sopov
Сообщения: 610 Зарегистрирован: Вс апр 02, 2006 7:13 pm
Сообщение
sopov » Вт мар 25, 2008 5:17 pm
Проверить /usr/local/etc/rc.d/radiusd на наличие вверху
Долно быть закоментировано, но именно в таком виде.
chtito
Сообщения: 313 Зарегистрирован: Чт дек 13, 2007 11:03 am
Сообщение
chtito » Вт мар 25, 2008 5:31 pm
Проблема же не в этом. После ребута ошибки
Mon Mar 24 12:16:55 2008 : Error: rlm_perl: perl_embed:: module = /usr/abills/libexec/rlm_perl.pl , func = authorize exit status= Can't locate object method "new" via package "Nas" at /usr/abills/libexec/rlm_perl.pl line 54.
Mon Mar 24 12:16:55 2008 : Error: rlm_perl: perl_embed:: module = /usr/abills/libexec/rlm_perl.pl , func = post_auth exit status= Undefined subroutine &main::post_auth called.
А через какое-то время бездействия - MySQL server has gone away. Последняя проблема возможно не баг абиллса а связана с таймаутами на соединение майскула - посмотрю, - но первая проблема остается.
sopov
Сообщения: 610 Зарегистрирован: Вс апр 02, 2006 7:13 pm
Сообщение
sopov » Вт мар 25, 2008 5:37 pm
Имхо радиус стартует раньше мускула и его клинит. Просто была таже проблема когдато.
chtito
Сообщения: 313 Зарегистрирован: Чт дек 13, 2007 11:03 am
Сообщение
chtito » Ср мар 26, 2008 6:27 am
Ради эксперимента добавил в rc.d/radiusd REQUIRE ... mysql и убедился, что ошибка осталась т.к. она появляется из-за чего-то еще:
Wed Mar 26 10:25:08 2008 : Error: rlm_perl: perl_embed:: module = /usr/abills/libexec/rlm_perl.pl , func = authorize exit status= Can't locate object method "new" via package "Nas" at /usr/abills/libexec/rlm_perl.pl line 54.
Wed Mar 26 10:25:08 2008 : Error: rlm_perl: perl_embed:: module = /usr/abills/libexec/rlm_perl.pl , func = post_auth exit status= Undefined subroutine &main::post_auth called.
ran
Сообщения: 2298 Зарегистрирован: Вс окт 21, 2007 2:29 pm
Сообщение
ran » Чт мар 27, 2008 3:12 pm
вот это:
SQL error MySQL server has gone away
наталкивает на мысль о проблемах с мусклом... версия? конфиг?
в частности max_allowed_packet и max_join_size
chtito
Сообщения: 313 Зарегистрирован: Чт дек 13, 2007 11:03 am
Сообщение
chtito » Чт мар 27, 2008 4:19 pm
ran писал(а): вот это:
SQL error MySQL server has gone away
наталкивает на мысль о проблемах с мусклом... версия? конфиг?
в частности max_allowed_packet и max_join_size
Скорее это из-за бездействия и таймаутов mysql сервера на соединение.
Куда интересней вот эта ошибка:
Mon Mar 24 12:16:55 2008 : Error: rlm_perl: perl_embed:: module = /usr/abills/libexec/rlm_perl.pl , func = authorize exit status= Can't locate object method "new" via package "Nas" at /usr/abills/libexec/rlm_perl.pl line 54.
Mon Mar 24 12:16:55 2008 : Error: rlm_perl: perl_embed:: module = /usr/abills/libexec/rlm_perl.pl , func = post_auth exit status= Undefined subroutine &main::post_auth called.
~AsmodeuS~
Site Admin
Сообщения: 5749 Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:
Сообщение
~AsmodeuS~ » Пн апр 07, 2008 4:06 pm
обновите Вашу систему
радиус + абилс
sopov
Сообщения: 610 Зарегистрирован: Вс апр 02, 2006 7:13 pm
Сообщение
sopov » Пн апр 07, 2008 4:11 pm
Ну выполните эту команду
посмотрите в какой последовательности у Вас что запускается.
chtito
Сообщения: 313 Зарегистрирован: Чт дек 13, 2007 11:03 am
Сообщение
chtito » Пн апр 07, 2008 4:59 pm
~AsmodeuS~ писал(а): обновите Вашу систему
радиус + абилс
Абиллс постоянно обновляю с current. FreeBSD 7 + freeradius-2.0.3 (с 1.х та же проблема - проверено) самые свежие .
sopov, я специально добавил mysql в раздел REQUIRES скрипта rc.d/radiusd чтобы вы убедились в том, что приведенная мной ошибка происходит не из-за того что радиус не может к mysql подключиться... но скорее всего ошибка именно в порядке следования rc.d скриптов, потому что если перезапустить freeradius на уже загрузившейся машине, то все начинает работать! Вот в таком порядке грузятся (только локальные):
/usr/local/etc/rc.d/mysql-server
/usr/local/etc/rc.d/radiusd
/usr/local/etc/rc.d/htcacheclean
/usr/local/etc/rc.d/flow_fanout
/usr/local/etc/rc.d/flow_capture
/usr/local/etc/rc.d/apache22
sopov
Сообщения: 610 Зарегистрирован: Вс апр 02, 2006 7:13 pm
Сообщение
sopov » Пн апр 07, 2008 5:15 pm
Как вариант, поставте апач после мускула, а радиус уже после апача, чтобы дать время мускулу полностью развернуться. Порядок запуска контролируйте вышеприведенной командой.
chtito
Сообщения: 313 Зарегистрирован: Чт дек 13, 2007 11:03 am
Сообщение
chtito » Вт апр 08, 2008 3:48 pm
sopov писал(а): Как вариант, поставте апач после мускула, а радиус уже после апача, чтобы дать время мускулу полностью развернуться. Порядок запуска контролируйте вышеприведенной командой.
Сделал так, и нормально все загрузилось. Спасибо. Я почему-то с самого начала сомневался, что ошибка из-за этого, уж очень она была невтемной
sopov
Сообщения: 610 Зарегистрирован: Вс апр 02, 2006 7:13 pm
Сообщение
sopov » Вт апр 08, 2008 5:42 pm
Незачто