Просмотр сообщений
|
Страниц: [1] 2 3
|
1
|
Главная категория / Nodeny Plus / Re: freeradius 3
|
: 16 Июля 2020, 17:45:05
|
Покопался я в очередной раз с FreeRadius-ом версии 3 - голова болит, протрахался хз сколько часов, даже в исходники лез. И вот какие замечания: 3) Обнаружилось идиотское поведение freeradius3: он делает radcheck, затем radreply и потом проверяет пароль. Никуда не годится проверять пароль после того, как для учетки будет запрошен динамический ip, а в итоге выдан чужаку не будет. Поэтому пришлось проверять пароль и в radreply (добавлен параметр "пароль" - слава богу, он есть в параметрах радиуса)
да вроде у версии 2 такое же поведение: [root@billing111 /home/ruhost]# radtest -x -d /usr/local/etc/raddb2 test301 pass33 localhost 0 hardpass50 Sending Access-Request of id 54 to 127.0.0.1 port 1812 User-Name = "test301" User-Password = "pass33" NAS-IP-Address = 172.17.0.121 NAS-Port = 0 Message-Authenticator = 0x00000000000000000000000000000000 rad_recv: Access-Reject packet from host 127.0.0.1 port 1812, id=54, length=38 Framed-IP-Address = 172.16.67.10 Framed-IP-Netmask = 255.255.255.255 Framed-Protocol = PPP Framed-Protocol = PPP [root@billing111 /home/ruhost]# radclient -v radclient version 2.2.10, built on Jul 16 2020 at 15:25:36
исправить можно с помощью: post-auth { sql Post-Auth-Type REJECT { attr_filter.access_reject } }
результат: [root@billing111 /home/ruhost]# radtest -x -d /usr/local/etc/raddb2 test301 pass33 localhost 0 hardpass50 Sending Access-Request of id 76 to 127.0.0.1 port 1812 User-Name = "test301" User-Password = "pass33" NAS-IP-Address = 172.17.0.121 NAS-Port = 0 Message-Authenticator = 0x00000000000000000000000000000000 rad_recv: Access-Reject packet from host 127.0.0.1 port 1812, id=76, length=20
вдогонку: [root@billing111 /home/ruhost]# radtest -x -d /usr/local/etc/raddb3 test301 pass33 localhost 0 hardpass50 Sent Access-Request Id 103 from 0.0.0.0:41137 to 127.0.0.1:1812 length 77 User-Name = "test301" User-Password = "pass33" NAS-IP-Address = 172.17.0.121 NAS-Port = 0 Message-Authenticator = 0x00 Cleartext-Password = "pass33" Received Access-Reject Id 103 from 127.0.0.1:1812 to 0.0.0.0:41137 length 20 (0) -: Expected Access-Accept got Access-Reject [root@billing111 /home/ruhost]# radclient -v radclient version 3.0.21, built on Jul 16 2020 at 19:06:45
|
|
|
3
|
Главная категория / Nodeny Plus / Re: freeradius теперь нет в портах
|
: 16 Ноября 2013, 10:12:32
|
Монит в любом случае дело хорошее, но бэкап я бы снимать начал без лока таблиц, есть же уже инструменты. скрипт с 5.0 кочует и кочует(( Пора уже посмотреть вокруг )
В данном скрипте таблицы не блокируются. --add-locks - Surround each table dump with LOCK TABLES and UNLOCK TABLES statements. This results in faster inserts when the dump file is reloaded. не тоже самое, что --lock-tables - For each dumped database, lock all tables to be dumped before dumping them.
|
|
|
4
|
Главная категория / Nodeny Plus / Re: freeradius теперь нет в портах
|
: 12 Ноября 2013, 12:59:59
|
У freeradius2 обнаружилась серьезная проблема, которой не было у freeradius1 - если запрос находится в очереди более 30 секунд, то freeradius2 делает kernel: pid 1709 (radiusd), uid 133: exited on signal 11
В нашем случае все запросы обслуживаются через rlm_sql_mysql, и если mysql начинает по какой-то причине тормозить (загрузка дисков либо системы), то freeradius2 просто падает. В частности, "стандартный" скрипт бэкапа nodeny: #!/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin passwd_root_mysql=`perl -e'require "/usr/local/nodeny/history.nod"; print $sql_root_pass;'` mysql_cmd='/usr/local/bin/mysql' mysqldump_cmd='/usr/local/bin/mysqldump'
fl=`date "+%d-%m-%Y"` cd /var/backups/ echo show tables | ${mysql_cmd} -u root --password=${passwd_root_mysql} bill | \ grep -v '^[stuvxyz]2' | grep -v 'traf_info' | grep -v '^Tables' | \ xargs ${mysqldump_cmd} -R -Q --add-locks -u root --password=${passwd_root_mysql} \ --default-character-set=cp1251 bill $1 > bill_${fl}.sql tar -c -j -f ${fl}.tar.bz2 bill_${fl}.sql rm -f bill_${fl}.sql chmod 440 ${fl}.tar.bz2
который выполняется у нас в системе в течении 47 секунд, стабильно каждую ночь убивает freeradius2 со всеми вытекающими последствиями. freeradius1 сильно ругался при работе этого скрипта, но никогда не вываливался. В качестве костыля поставил freeradius2 под мониторинг программкой monit с таймаутом в 30 секунд. Пользователи не успевают отвалиться ... Стоит хорошо подумать, нужен ли такой апгрейд.
|
|
|
5
|
Главная категория / Nodeny Plus / Re: freeradius теперь нет в портах
|
: 10 Ноября 2013, 09:56:55
|
Хмм ... после установки freeradius2 по инструкции из документации N+ обнаружилась одна неприятная весчь: freeradius2 умирает со следующей диагностикой Sun Nov 10 03:01:38 2013 : Error: Received conflicting packet from client bras1 port 29096 - ID: 202 due to unfinished request 446707. Giving up on old request. Sun Nov 10 03:01:38 2013 : Error: Received conflicting packet from client bras1 port 23768 - ID: 113 due to unfinished request 446708. Giving up on old request. Sun Nov 10 03:01:38 2013 : Error: Received conflicting packet from client bras1 port 57671 - ID: 69 due to unfinished request 446709. Giving up on old request. Nov 10 03:01:38 billing kernel: pid 50337 (radiusd), uid 133: exited on signal 10
радиус падает, перестают идти keepalive'ы, и все становятся неавторизованными. Сразу же начинают звонить юзеры и дружно желать "доброго утра". Хотя я использую версию 50.33, но проблема-то, видимо, общая. До этого freeradius1 с такой диагностикой никогда не падал. Вопрос: чего подкручивать? 8.3-RELEASE-p7 amd64, серверное железо, в логах больше ничего. Да, еще, в 03:01 запускается стандартный periodic daily ls /etc/periodic/daily/ 100.clean-disks 150.clean-hoststat 310.accounting 406.status-gmirror 430.status-rwho 480.status-ntpd 110.clean-tmps 200.backup-passwd 330.news 407.status-graid3 440.status-mailq 500.queuerun 120.clean-preserve 210.backup-aliases 400.status-disks 408.status-gstripe 450.status-security 800.scrub-zfs 130.clean-msgs 220.backup-pkgdb 404.status-zfs 409.status-gconcat 460.status-mail-rejects 999.local 140.clean-rwho 300.calendar 405.status-ata-raid 420.status-network 470.status-named
|
|
|
6
|
Главная категория / Nodeny Plus / Re: freeradius теперь нет в портах
|
: 08 Ноября 2013, 16:36:50
|
Сегодня обновил радиус на 2ю версию в своей бывшей сети. Обновил документацию: https://app.nodeny-plus.com.ua/docs/work/mpd5.htmlОбратите внимание, что для сокращения операций, я не стал описывать редактирование пары файлов, а просто залил их в репозиторий NoDeny (обновитесь). Есть один нюанс, в котором я не разобрался: в конфиге не воспринимает %{SQL-User-Name}, пришлось внести %{User-Name}, а это не безопасно. Подскажите, где что подправить sql.conf: ####################################################################### # Query config: Username ####################################################################### # This is the username that will get substituted, escaped, and added # as attribute 'SQL-User-Name'. '%{SQL-User-Name}' should be used below # everywhere a username substitution is needed so you you can be sure # the username passed from the client is escaped properly. # # Uncomment the next line, if you want the sql_user_name to mean: # # Use Stripped-User-Name, if it's there. # Else use User-Name, if it's there, # Else use hard-coded string "DEFAULT" as the user name. #sql_user_name = "%{%{Stripped-User-Name}:-%{%{User-Name}:-DEFAULT}}" # sql_user_name = "%{User-Name}"
|
|
|
8
|
Главная категория / Nodeny Plus / Re: freeradius теперь нет в портах
|
: 08 Ноября 2013, 14:05:16
|
Сегодня обновил радиус на 2ю версию в своей бывшей сети. Обновил документацию: https://app.nodeny-plus.com.ua/docs/work/mpd5.htmlОбратите внимание, что для сокращения операций, я не стал описывать редактирование пары файлов, а просто залил их в репозиторий NoDeny (обновитесь). Есть один нюанс, в котором я не разобрался: в конфиге не воспринимает %{SQL-User-Name}, пришлось внести %{User-Name}, а это не безопасно. Подскажите, где что подправить А как скачать файлы конфигурации freeradius2 без самой нодени? :-)
|
|
|
10
|
Главная категория / Курилка / Re: freeradius 1.x --> freeradius 2.x
|
: 19 Февраля 2013, 12:07:51
|
разверни на стенде, радтестом и отладкой погоняй )
база данных под 60 гигабайт. только бэкап и перенос в VM займет больше суток. лениво Ой, да ладно.... там шлак один в этих гигабайтах. Выполни бэкап прилагающимся скриптом только нужные таблицы и увидишь что все гораздо скромнее. Дамп получится маленький. Потом на свежеустановленную базу накатываешь этот дамп и счастье сразу приходит ) счастье не придёт - потеряются все процедуры.
|
|
|
11
|
Главная категория / Курилка / Re: freeradius 1.x --> freeradius 2.x
|
: 19 Февраля 2013, 12:05:44
|
зачем бд переносить?
в ней много самописных процедур для радиус-авторизации и аккаунтинга. разораться как это работает пока не представляется возможным. вообще странно, судя по ответам никто толком не разбирался с freeradius2. может и правда, забить? удалить из пакетов регистрацию freeradius, чтобы portupgrade не ругался ...
|
|
|
13
|
Главная категория / Курилка / freeradius 1.x --> freeradius 2.x
|
: 19 Февраля 2013, 10:08:04
|
тут недавно окончательно удалили freeradius 1.x из портов freebsd. надо переходить на freeradius2, но есть сомнения по поводу соместимости со старыми конфигами и nodeny в целом. где-то в мануале по установке биллинга (если не ошибаюсь) было сказано, что на тот момент (примерно 2009 год) использовать freeradius2 не рекомендуется. делал ли кто-нибудь апгрейд на живой системе и какие были подводные камни? заранее спасибо.
|
|
|
|