Користувальницькькі налаштування

Налаштування сайту


Сайдбар

Розділи

Загальний опис
Історія змін
Рекомендації до оновлення
Плани на майбутнє
Відомі проблеми
Онлайн демо
Допомога проекту
Люди
Трохи про безпеку

FAQ



Редагувати сайдбар

junmxgen

Це стара версія документу!


Внимание

Данная реализация является устаревшей с релиза 0.9.0, и эта документация может быть использована только для общего развития. Используйте в своей практической деятельности новый и очень крутой КучаГен. Все что описано здесь - бесстрашно удалено начиная с Ubilling 1.2.8.

Juniper MX

Данная механика появилась начиная с релиза 0.8.4 и предназначена для удобной и полностью автоматической работы с Juniper MX в роли IPoE NAS. Для подсчета трафика все так же используется NetFlow, Radius Accounting в свою очередь используется для визуального контроля жизни пользовательских сессий.

Предварительная настройка

Мы надеемся, что вы устанавливали Ubilling при помощи инсталлятора, и все нужное у вас уже есть. Для начала включаем Free Radius в /etc/rc.conf

radiusd_enable="YES"

Далее заменим стандартные конфигурационные файлы заготовками

# cd /usr/local/www/apache24/data/billing
# cp -R ./docs/jungen/raddb/* /usr/local/etc/raddb/

Вливаем нужный нам дамп базы

# mysql -u root -p stg < ./docs/jungen/dump.sql

Потом приступаем к конфигурированию соединения FreeRADIUS с БД Ubilling, редактируя следующие параметры в /usr/local/etc/raddb/sql.conf

Параметр Описание
server Хост/IP сервера базы данных
port Порт сервера базы данных
login Пользователь
password Пароль
radius_db Имя базы данных

Если все закончили, можно попробовать запустить FreeRADIUS, но пока в debug-режиме:

# radiusd -X

И если вы увидели нечто похожее на код ниже - можно продолжать дальше.

... adding new socket proxy address * port 10049
Listening on authentication address * port 1812
Listening on accounting address * port 1813
Listening on command file /var/run/radiusd/radiusd.sock
Listening on authentication address 127.0.0.1 port 18120 as server inner-tunnel
Listening on proxy address * port 1814
Ready to process requests.

Включение поддержки в Ubilling

Включаем соответствующую опцию в alter.ini

; Поддержка Juniper MX включена?
JUNGEN_ENABLED=1
;Следующая опция необязательна и выставляет пароль по-умолчанию для авторизации IPoE пользователей
;JUNGEN_KEY="mxBras"
;Эта опция тоже не обязательна и включает логирование jungen. Возможные значения 0 - disabled, 1 - enabled, 2 - debug. 
;Может уменьшить быстродействие. Рекомендуется включать только на время отладки.
;JUNGEN_LOGGING=1
;Если требуется - устанавливает альтернативные путь и опции для radclient.
;JUNGEN_RADCLIENT="/usr/local/bin/radclient -r 3 -t 1"

Использование

ubapi "jungen" - регенерация данных всех пользователей, естественно только изменившихся либо отсутствующих.
ubapi "juncast&run=block&login=userlogin" - блокирование пользователя 
ubapi "juncast&run=unblock&login=userlogin" - разблокирование пользователя
ubapi "juncast&run=terminate&login=userlogin" - принудительное убиваниие сессии пользователя

Куда это засовывать?

crontab -e

*/1 * * * *  /bin/ubapi "jungen"

OnConnect

#Juniper NAS unblock
/bin/ubapi "juncast&run=unblock&login=${LOGIN}"

OnDisconnect

#Juniper NAS block
/bin/ubapi "juncast&run=block&login=${LOGIN}"

Если у вас используются NAS разных типов, можно сделать это как-то так:

#Juniper NAS interaction
NASTYPE=`/etc/stargazer/GetNasType ${LOGIN}`
if [ "$NASTYPE" = "radius" ]
then
/bin/ubapi "juncast&run=unblock&login=${LOGIN}"
fi

Вот в общем то и все. Дальше все должно работать в полностью автоматическом режиме без какого-либо специального вмешательства. Для контроля за пользовательскими сессиями, можно использовать соответствующий модуль находящийся в “черной магии”. Два клика, да. Также есть общий отчет по сессиям все пользователей, и возможность просмотреть лог (если включено логирование) регенерации данных необходимых для ААА, с целью оценки производительности.

junmxgen.1686899175.txt.gz · Востаннє змінено: 2023/06/16 10:06 повз nightfly