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

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


junmxgen

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Попередня ревізія
junmxgen [2017/08/21 13:02]
junmxgen [2023/06/16 10:06]
nightfly знищено
Рядок 1: Рядок 1:
 +====== Внимание ======
 +Данная реализация является устаревшей с релиза 0.9.0, и эта документация может быть использована только для общего развития. Используйте в своей практической деятельности новый и очень крутой [[multigen|КучаГен]]. Все что описано здесь - бесстрашно удалено начиная с Ubilling 1.2.8.
 +{{:alertold.png? |}}
 +
 +
 +====== Juniper MX ======
 +Данная механика появилась начиная с релиза 0.8.4 и предназначена для удобной и полностью автоматической работы с Juniper MX в роли IPoE NAS. Для подсчета трафика все так же используется NetFlow, Radius Accounting в свою очередь используется для визуального контроля жизни пользовательских сессий.
 +
 +{{:junmx104.jpg?|}}
 +
 +===== Предварительная настройка  =====
 +
 +Мы надеемся, что вы устанавливали Ubilling при помощи инсталлятора, и все нужное у вас уже есть. Для начала включаем Free Radius в **/etc/rc.conf**
 +
 +<code ini>
 +radiusd_enable="YES"
 +</code>
 +
 +Далее заменим стандартные конфигурационные файлы заготовками
 +
 +<code>
 +# cd /usr/local/www/apache24/data/billing
 +# cp -R ./docs/jungen/raddb/* /usr/local/etc/raddb/
 +</code>
 +
 +Вливаем нужный нам дамп базы
 +<code>
 +# mysql -u root -p stg < ./docs/jungen/dump.sql
 +</code>
 +
 +
 +Потом приступаем к конфигурированию соединения FreeRADIUS с БД Ubilling, редактируя следующие параметры в **/usr/local/etc/raddb/sql.conf**
 +^ Параметр  ^ Описание                    ^ 
 +| server    | Хост/IP сервера базы данных |
 +| port      | Порт сервера базы данных    |
 +| login     | Пользователь                |
 +| password  | Пароль                      |
 +| radius_db | Имя базы данных             |
 +
 +Если все закончили, можно попробовать запустить FreeRADIUS, но пока в debug-режиме:
 +<code>
 +# radiusd -X
 +</code>
 +
 +И если вы увидели нечто похожее на код ниже - можно продолжать дальше.
 +<code>
 +... 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.
 +</code>
 +
 +
 +
 +===== Включение поддержки в Ubilling  =====
 +
 +Включаем соответствующую опцию в **alter.ini**
 +
 +<code 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"
 +</code>
 +
 +===== Использование  =====
 +
 +  ubapi "jungen" - регенерация данных всех пользователей, естественно только изменившихся либо отсутствующих.
 +  ubapi "juncast&run=block&login=userlogin" - блокирование пользователя 
 +  ubapi "juncast&run=unblock&login=userlogin" - разблокирование пользователя
 +  ubapi "juncast&run=terminate&login=userlogin" - принудительное убиваниие сессии пользователя
 +  
 +Куда это засовывать?
 +
 +**crontab -e**
 +<code bash>
 +*/1 * * * *  /bin/ubapi "jungen"
 +</code>
 +
 +
 +**OnConnect**
 +<code bash>
 +#Juniper NAS unblock
 +/bin/ubapi "juncast&run=unblock&login=${LOGIN}"
 +</code>
 +
 +**OnDisconnect**
 +<code bash>
 +#Juniper NAS block
 +/bin/ubapi "juncast&run=block&login=${LOGIN}"
 +</code>
 +
 +Если у вас используются NAS разных типов, можно сделать это как-то так:
 +<code bash>
 +#Juniper NAS interaction
 +NASTYPE=`/etc/stargazer/GetNasType ${LOGIN}`
 +if [ "$NASTYPE" = "radius" ]
 +then
 +/bin/ubapi "juncast&run=unblock&login=${LOGIN}"
 +fi
 +</code>
 +
 +
 +Вот в общем то и все. Дальше все должно работать в полностью автоматическом режиме без какого-либо специального вмешательства. Для контроля за пользовательскими сессиями, можно использовать соответствующий модуль находящийся в "черной магии". Два клика, да. Также есть общий отчет по сессиям все пользователей, и возможность просмотреть лог (если включено логирование) регенерации данных необходимых для ААА, с целью оценки производительности.\\
 +
 +{{:jungen1.png?400 |}}
 +
 +{{:jungen2.png?400 |}}
 +
 +{{:jungen3.png?400 |}}
 +
 +