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

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


junmxgen

Розбіжності

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

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

Порівняння попередніх версій Попередня ревізія
Наступна ревізія По сторонах наступні версії
junmxgen [2017/08/21 13:02]
junmxgen [2022/09/24 14:39]
127.0.0.1 зовнішнє редагування
Рядок 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 |}}
 +
 +