Биллинговая система Nodeny

Главная категория => Nodeny Plus => Тема начата: Groov от 24 Сентября 2013, 22:12:01



Название: freeradius теперь нет в портах
Отправлено: Groov от 24 Сентября 2013, 22:12:01
поставил чистую FreeBSD
обновил порты
и теперь нет
cd /usr/ports/net/freeradius
есть только
/usr/ports/net/freeradius2
а конфиги отличаются и как теперь настроить, попробовал ставить первую версию, ругается на версию Perl мол слишком новая я такой не знаю (((((  и не ставится ((


Название: Re: freeradius теперь нет в портах
Отправлено: sov от 24 Сентября 2013, 23:06:52
Не настолько сильно отличаются конфиги, чтобы не было понятно, как его настроить. Параметры для настройки нужно прописать те-же самые, что и в 1-й версии. Ищете, меняете на нужные вам значения. Если что непонятно - читаете man.


Название: Re: freeradius теперь нет в портах
Отправлено: Redmen от 24 Сентября 2013, 23:09:04
наброски инструкции


Название: Re: freeradius теперь нет в портах
Отправлено: Groov от 25 Сентября 2013, 03:14:29
Спасибо, очень благодарен  :)


Название: Re: freeradius теперь нет в портах
Отправлено: YuSHa от 25 Сентября 2013, 08:22:39
ставите чистую 9.1, при установке не снимаете галочку ports, после установки делаете
Код:
portsnap fetch extract
порт freeradius не ставите, а ставите freeradius-mysql, а то долго будете ковырять логи, почему он не конектится к БД.


Название: Re: freeradius теперь нет в портах
Отправлено: Redmen от 25 Сентября 2013, 11:40:34
если кому надо, есть готовый Freebsd 9.1 Stable i386 (не надо обновлятся до Stable)
http://yadi.sk/d/9EqNm7TX812AK (http://yadi.sk/d/9EqNm7TX812AK)
при установке выбрать SRC и не обновлять их иначе при сборке ядра будет Freebsd 9.2 Release (в подписи ядра)
хотя и не критично, ибо мир останется Freebsd 9.1 Stable


Название: Re: freeradius теперь нет в портах
Отправлено: elite от 25 Сентября 2013, 12:11:11
а зачем i386?


Название: Re: freeradius теперь нет в портах
Отправлено: Redmen от 25 Сентября 2013, 12:16:00
а зачем i386?
у меня серв на Intel без х64, поетому и выложил что есть
появится 9.2 Stable, залью оба (так как на офф фтп он живёт не более месяца)


Название: Re: freeradius теперь нет в портах
Отправлено: Docent от 28 Сентября 2013, 06:30:07
наброски инструкции
В dialup.conf
нужно прописать
authorize_check_query = "call radcheck('%{SQL-User-Name}')"
 authorize_reply_query = "call radreply('%{SQL-User-Name}')"
 postauth_query = "call radupdate('%{SQL-User-Name}','%{Framed-IP-Address}',\
        'user=%{Calling-Station-Id};nas=%{NAS-IP-Address}')"
 accounting_update_query = "call radupdate('%{SQL-User-Name}','%{Framed-IP-Address}',\
        'user=%{Calling-Station-Id};nas=%{NAS-IP-Address}')"


Название: Re: freeradius теперь нет в портах
Отправлено: Efendy от 29 Сентября 2013, 10:02:54
Сегодня обновил радиус на 2ю версию в своей бывшей сети. Обновил документацию:

https://app.nodeny-plus.com.ua/docs/work/mpd5.html

Обратите внимание, что для сокращения операций, я не стал описывать редактирование пары файлов, а просто залил их в репозиторий NoDeny (обновитесь).

Есть один нюанс, в котором я не разобрался: в конфиге не воспринимает %{SQL-User-Name}, пришлось внести %{User-Name}, а это не безопасно. Подскажите, где что подправить


Название: Re: freeradius теперь нет в портах
Отправлено: boomer666 от 29 Сентября 2013, 10:53:33
Сегодня обновил радиус на 2ю версию в своей бывшей сети. Обновил документацию:

https://app.nodeny-plus.com.ua/docs/work/mpd5.html

Обратите внимание, что для сокращения операций, я не стал описывать редактирование пары файлов, а просто залил их в репозиторий NoDeny (обновитесь).

Есть один нюанс, в котором я не разобрался: в конфиге не воспринимает %{SQL-User-Name}, пришлось внести %{User-Name}, а это не безопасно. Подскажите, где что подправить
у меня радиус2 и в конфиге sql.conf
Код:
        sql_user_name = "%{User-Name}"

         authorize_check_query = "call radcheck('%{SQL-User-Name}')"
         authorize_reply_query = "call radreply('%{SQL-User-Name}')"
         postauth_query = "call radupdate('%{SQL-User-Name}','%{Framed-IP-Address}','user=%{Calling-Station-Id};nas=%{NAS-IP-Address}')"
        accounting_update_query = "call radupdate('%{SQL-User-Name}','%{Framed-IP-Address}','user=%{Calling-Station-Id};nas=%{NAS-IP-Address}')"

}
в чем различие?
driver = "rlm_sql_${database}" или driver = "rlm_sql_mysql"
у меня нет вот этой строки "deletestalesessions =yes"



Название: Re: freeradius теперь нет в портах
Отправлено: dimia от 08 Ноября 2013, 14:05:16
Сегодня обновил радиус на 2ю версию в своей бывшей сети. Обновил документацию:

https://app.nodeny-plus.com.ua/docs/work/mpd5.html

Обратите внимание, что для сокращения операций, я не стал описывать редактирование пары файлов, а просто залил их в репозиторий NoDeny (обновитесь).

Есть один нюанс, в котором я не разобрался: в конфиге не воспринимает %{SQL-User-Name}, пришлось внести %{User-Name}, а это не безопасно. Подскажите, где что подправить

А как скачать файлы конфигурации freeradius2 без самой нодени? :-)


Название: Re: freeradius теперь нет в портах
Отправлено: Efendy от 08 Ноября 2013, 14:32:39
А тебе зачем? Шпион 50й версии?)) Есть бесплатная версия N+.  Лень скачать и глянуть?


Название: Re: freeradius теперь нет в портах
Отправлено: dimia от 08 Ноября 2013, 15:49:43
Да, 50-я версия, переход на 2-й радиус с первого раза не получился. Быстро откатился назад, пока все пользователи не отвалились.
Может шпион, а может и нет ... вот коплю деньги на оплату работы по апгрейду на N+.


Название: Re: freeradius теперь нет в портах
Отправлено: dimia от 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}"


Название: Re: freeradius теперь нет в портах
Отправлено: dimia от 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



Название: Re: freeradius теперь нет в портах
Отправлено: dimia от 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 секунд. Пользователи не успевают отвалиться ... Стоит хорошо подумать, нужен ли такой апгрейд.


Название: Re: freeradius теперь нет в портах
Отправлено: versus от 15 Ноября 2013, 22:09:07
Монит в любом случае дело хорошее, но бэкап я бы снимать начал без лока таблиц, есть же уже инструменты. скрипт с 5.0 кочует и кочует(( Пора уже посмотреть вокруг )


Название: Re: freeradius теперь нет в портах
Отправлено: dimia от 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.