Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Порівняння попередніх версій Попередня ревізія Наступна ревізія | Попередня ревізія | ||
multigen [2022/11/02 19:40] nightfly [Включение поддержки в Ubilling] |
multigen [2024/10/28 12:41] (поточний) pautina |
||
---|---|---|---|
Рядок 1: | Рядок 1: | ||
- | ====== КучаГен aka MultiGen ====== | + | ====== КупаГен aka MultiGen ====== |
- | Данная механика появилась начиная с релиза 0.9.0 и представляет собой удобный уровень абстракции и автоматизации для работы с любыми NAS поддерживающими работу | + | Ця механіка з'явилася починаючи з релізу 0.9.0 і являє собою зручний рівень абстракції та автоматизації для роботи з будь-якими NAS, що підтримують |
{{: | {{: | ||
- | ===== Предварительная настройка ===== | + | ===== Попереднє налаштування |
- | Начиная с FreeBSD 12.1 **достаточно только | + | Починаючи з FreeBSD 12.1 достатньо лише увімкнути (і запустити) FreeRADIUS |
- | Для всех более старых версий нужно проделать шаги ниже: \\ \\ | + | |
- | Мы надеемся, | + | Ми сподіваємося, що ви встановлювали Ubilling |
- | Важно: пресеты в **/ | + | |
- | <code ini> | + | <file ini rc.conf> |
radiusd_enable=" | radiusd_enable=" | ||
- | </code> | + | </file> |
- | + | ||
- | После чего разворачиваем пресеты конфигурации FreeRADIUS и базовую структуру БД. | + | |
- | + | ||
- | ==== FreeRADIUS2 ==== | + | |
- | + | ||
- | < | + | |
- | # cd / | + | |
- | # cp -R ./ | + | |
- | # mysql -u root -p stg < ./ | + | |
- | # mysql -u root -p stg < ./ | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | ==== FreeRADIUS3 ==== | + | |
- | Конфигурация FreeRADIUS3 (идет с бинарными пакетами для FreeBSD >=11.2): \\ | + | |
- | < | + | |
- | # cd / | + | |
- | # cp -R ./ | + | |
- | # setenv RADVER `radiusd -v | grep " | + | |
- | # sed -i.bak " | + | |
- | # mysql -u root -p stg < ./ | + | |
- | # mysql -u root -p stg < ./ | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | + | ||
- | ==== Заканчиваем конфигурацию и проверяем ==== | + | |
- | Потом приступаем к конфигурированию соединения FreeRADIUS с БД Ubilling, редактируя следующие параметры в **/ | + | |
- | ^ Параметр | + | |
- | | server | + | |
- | | port | Порт сервера базы данных | + | |
- | | login | Пользователь | + | |
- | | password | + | |
- | | radius_db | Имя базы данных | + | |
- | Если все закончили, | + | Тепер |
< | < | ||
# radiusd -X | # radiusd -X | ||
</ | </ | ||
- | И если вы увидели нечто похожее на код ниже - можно продолжать дальше. | + | І якщо |
< | < | ||
... adding new socket proxy address * port 10049 | ... adding new socket proxy address * port 10049 | ||
Рядок 67: | Рядок 31: | ||
</ | </ | ||
- | ===== Включение поддержки в Ubilling | + | ===== Включення підтримки в Ubilling |
- | Включаем соответствующую | + | Вмикаємо відповідну опцію у **alter.ini** |
<code ini> | <code ini> | ||
- | ;Включена ли поддержка КучаГен-а? | + | ;Чи ввімкнено підтримку КупаГен? |
MULTIGEN_ENABLED=1 | MULTIGEN_ENABLED=1 | ||
- | ;Эта | + | ;Ця опція не обов'язкова і вмикає логування multigen. |
- | ;Может уменьшить быстродействие. Радикально. Рекомендуется включать только на время отладки или | + | ; |
; | ; | ||
- | ;Путь и опции по-умолчанию radclient для КучаГен-а. Необязательная | + | ;Шлях і опції за замовчуванням |
; | ; | ||
- | ;Используется только для баз использующих | + | ;Використовується тільки для баз, що використовують innodb, і має вирішувати проблеми зі швидкодією, |
- | ;посредством вырубания автокоммита и ручной работы с транзакциями. | + | за допомогою |
; | ; | ||
- | ;Показывать только незавершенные | + | ;Показувати тільки незавершені сесії за замовчуванням |
; | ; | ||
- | ;Количество дней, используемых для показа статистики аккаунтинга по-умолчанию | + | ;Кількість днів, використовуваних для показу статистики акаунтингу |
; | ; | ||
- | ;Дополнительные | + | ;Додаткові поля акаунтингу для показу |
; | ; | ||
- | ;Включен ли планетарный потрошитель | + | ;Чи ввімкнено планетарний тельбухач Ішимура? |
ISHIMURA_ENABLED=0 | ISHIMURA_ENABLED=0 | ||
- | ;Включает и устанавливает | + | ;Вмикає і встановлює таймаут кешування юзернеймів. Може |
- | ;Да, циферка в секундах. | + | ;Так, циферка в секундах. |
; | ; | ||
- | ;Отправлять PoD при | + | ;Відправляти PoD при |
MULTIGEN_POD_ON_IP_CHANGE=0 | MULTIGEN_POD_ON_IP_CHANGE=0 | ||
- | ;Отправлять PoD при смене MAC адреса у пользователя? Может принимать значения 0, | + | ;Відправляти PoD у разі зміни MAC-адреси у користувача? Може приймати значення 0, |
MULTIGEN_POD_ON_MAC_CHANGE=0 | MULTIGEN_POD_ON_MAC_CHANGE=0 | ||
+ | ;Чи ввімкнено Mea Culpa -свої логіни для авторизації абонентів, | ||
+ | MEACULPA_ENABLED=0 | ||
</ | </ | ||
- | ===== Использование | + | ===== Використання |
- | Вызов | + | Виклик |
- | ubapi " | + | ubapi " |
| | ||
- | Куда это | + | Куди це засовувати? |
**crontab -e** | **crontab -e** | ||
Рядок 110: | Рядок 76: | ||
</ | </ | ||
- | ===== Конфигурация серверов доступа ===== | + | ===== Конфігурація серверів доступу ===== |
- | Все | + | Все |
{{: | {{: | ||
- | Каждый | + | Кожен NAS може мати свої власні механіки роботи, сервіси, що виконуються, |
{{: | {{: | ||
- | Следует | + | Слід також зазначити, що в разі ввімкнення режиму NAS-а "Тільки активні користувачі" всі модифікатори одиничних атрибутів "Користувачі" буде проігноровано, а атрибути буде згенеровано |
\\ | \\ | ||
\\ | \\ | ||
- | **Не забываем**, что в продакшне следует | + | **Не забуваємо**, що в продакшні слід перезапускати ваш радіус-сервер, скажімо, за допомогою |
\\ | \\ | ||
- | **Не забываем №2**, | + | **Не забуваємо №2**, |
- | ===== Кастомные настройки | + | ===== Кастомні налаштування |
- | Также, начиная с Ubilling 1.2.8, | + | Також, починаючи з Ubilling 1.2.8, |
{{: | {{: | ||
Рядок 134: | Рядок 100: | ||
{{: | {{: | ||
- | Лишнехромосомные NAS имеют приоритет перед нормальными | + | Зайвохромосомні NAS мають пріоритет перед нормальними |
{{: | {{: | ||
- | Собственно вот | + | Власне ось результат |
{{: | {{: | ||
- | И конечно же **не забываем**, что любые из этих изменений | + | І звичайно ж **не забуваємо**, що будь-які |
- | ===== Как проверить все | + | ===== Як перевірити чи все |
- | При запущенном в одном | + | При запущеному в одному вікні |
# radiusd -X | # radiusd -X | ||
| | ||
- | делаем в соседнем что-то вроде | + | робимо в сусідньому щось на кшталт |
# radtest testlogin testpassword 127.0.0.1 0 dec0071981b1 | # radtest testlogin testpassword 127.0.0.1 0 dec0071981b1 | ||
| | ||
- | Где testlogin | + | Де testlogin |
- | Что мы должны увидеть в результате? А вот что-то такое: | + | Що ми маємо побачити в результаті? А ось щось таке: |
< | < | ||
Рядок 170: | Рядок 136: | ||
</ | </ | ||
- | В случае если мы увидим | + | У випадку, якщо ми побачимо |
< | < | ||
root@test11_1x64: | root@test11_1x64: | ||
Рядок 177: | Рядок 143: | ||
</ | </ | ||
- | стоит обратить внимание как минимум на **/ | + | варто звернути увагу як мінімум на **/ |
< | < | ||
127.0.0.1 | 127.0.0.1 | ||
</ | </ | ||
- | ===== Макросы ===== | + | ===== Макроси ===== |
- | На данный момент | + | Наразі підтримуються такі |
- | ^ Макрос | + | ^ Макрос |
- | | {IP} | IP пользователя в формате x.x.x.x | | + | | {IP} | IP користувача у форматі x.x.x.x | |
- | | {MAC} | MAC пользователя в формате по-умолчанию aa: | + | | {MAC} | MAC користувача у форматі за замовчуванням |
- | | {MACFDL} | + | | {MACFDL} |
- | | {MACFML} | + | | {MACFML} |
- | | {MACTMU} | + | | {MACTMU} |
- | | {MACTML} | + | | {MACTML} |
- | | {LOGIN} | + | | {LOGIN} |
- | | {USERNAME} | + | | {USERNAME} |
- | | {PASSWORD} | + | | {PASSWORD} |
- | | {TARIFF} | + | | {TARIFF} | Ім'я тарифу користувача | |
- | | {STATE} | + | | {STATE} | Стан користувача (ON-LINE/ |
- | | {NETID} | + | | {NETID} | ID мережі |
- | | {NETADDR} | + | | {NETADDR} | Мережа користувача | |
- | | {NETCIDR} | + | | {NETCIDR} | CIDR мережі користувача | |
- | | {NETSTART} | + | | {NETSTART} | початкова IP мережі користувача | |
- | | {NETEND} | + | | {NETEND} | кінцева IP мережі користувача | |
- | | {NETDESC} | + | | {NETDESC} | Мережа користувача у форматі network/ |
- | | {NETMASK} | + | | {NETMASK} | Маска |
- | | {SPEEDDOWN} | Скорость даунлода пользователя | + | | {SPEEDDOWN} | Швидкість даунлоду користувача в Kbit/s | |
- | | {SPEEDUP} | + | | {SPEEDUP} | Швидкість аплоду користувача в Kbit/s | |
- | | {SPEEDDOWNB} | Скорость даунлода | + | | {SPEEDDOWNB} | Швидкість даунлода |
- | | {SPEEDUPB} | + | | {SPEEDUPB} | Швидкість аплоду користувача в bit/s з 1024 бітами в кілобіті | |
- | | {SPEEDDOWNBD} | Скорость даунлода | + | | {SPEEDDOWNBD} | Швидкість даунлода |
- | | {SPEEDUPBD} | + | | {SPEEDUPBD} | Швидкість аплоду користувача в bit/s з 1000 бітами в кілобіті | |
- | | {SPEEDDOWNBC} | Скорость даунлода | + | | {SPEEDDOWNBC} | Швидкість даунлода |
- | | {SPEEDUPBC} | + | | {SPEEDUPBC} | Швидкість аплоду користувача в bit/s з 1024 бітами в кілобіті поділена на 8 (Cisco burst) | |
- | | {SPEEDMRL} | + | | {SPEEDMRL} | Швидкість даунлода |
- | | {USERSWITCHIP} | IP присвоенного свитча | + | | {USERSWITCHIP} | IP присвоєного світча |
- | | {USERSWITCHPORT} | Порт присвоенного свитча | + | | {USERSWITCHPORT} | Порт присвоєного світча |
- | | {USERSWITCHMAC} | MAC присвоенного свитча | + | | {USERSWITCHMAC} | MAC присвоєного світча |
- | | {RADCLIENT} | Путь к radclient | + | | {RADCLIENT} | Шлях до radclient |
- | | {SUDO} | + | | {SUDO} | Шлях до sudo за замовчуванням |
- | | {PRINTF} | + | | {PRINTF} | Шлях до printf за замовчуванням |
- | | {NASIP} | + | | {NASIP} | IP NAS-а |
- | | {NASSECRET} | + | | {NASSECRET} | Radius secret NAS-а |
- | | {NASPORT} | + | | {NASPORT} | Віддалений порт для radclient |
+ | | {NETEXT} | Користувацькі підмережі з NETWORKS_EXT для Framed-Route атрибуту | ||
- | ===== Шаблоны атрибутов с одинаковыми именами ===== | + | ===== Шаблони атрибутів з однаковими іменами ===== |
- | Следует | + | Слід також зауважити, що з метою поліпшення швидкодії, архітектурою КупаГен не передбачено |
{{: | {{: | ||
- | В следствии | + | Внаслідок чого, ми отримаємо від FreeRADIUS |
<code bash> | <code bash> | ||
Рядок 239: | Рядок 206: | ||
</ | </ | ||
- | это же относится и к случаям, если мы хотим отдавать атрибут | + | це ж стосується і випадків, якщо |
{{: | {{: | ||
- | ===== Сервисы NAS ===== | + | ===== Сервіси NAS ===== |
- | На данный момент | + | Наразі підтримуються сервіси PoD (RADIUS Packet of Disconnect) |
- | ^ Сервис ^ Предыдущее | + | ^ Сервіс ^ Попередній |
- | | PoD | + | | PoD |
- | | CoA | + | | CoA | Користувач не активний | Користувач активний | CoA Connect | |
- | | CoA | + | | CoA | Користувач активний | Користувач не активний | CoA Disconnect | |
- | | CoA | + | | CoA | Користувач активний | Користувач активний + змінився будь-який його атрибут | CoA Disconnect + CoA Connect | |
- | Соответственно для сервиса POD+CoA при вываливании пользователя | + | Відповідно для сервісу POD+CoA при вивалюванні користувача в офлайн правила послідовно ті самі. Для |
- | ===== Много NAS-ов ===== | + | ===== Багато NAS-ів ===== |
- | Никто вас не заставляет | + | Ніхто вас не змушує |
{{: | {{: | ||
- | ===== А что по скорости? ===== | + | ===== А що по швидкості? ===== |
- | Догони меня кирпич | + | Наздожени мене цегла |
{{: | {{: | ||
- | ===== О учёте | + | ===== Про облік |
- | Сам сервер FreeRADIUS вести | + | Сам сервер FreeRADIUS вести |
- | ===== А все же если очень хочется? | + | ===== А все ж таки якщо дуже хочеться? ===== |
- | Если | + | Якщо дуже хочеться, і вам не страшно - можете |
< | < | ||
20 * * * * /bin/ubapi " | 20 * * * * /bin/ubapi " | ||
</ | </ | ||
- | Это будет запихивать данные из аккаунтинга в Stargazer. | + | Це запихатиме |
- | ===== А можно чтобы это | + | ===== А можна щоб це було не так |
- | Да, теперь можно. Используйте для | + | Так, тепер можна. Використовуйте для тельбуханя даних акаунтингу планетарний тельбухач Ішимура. Просто ввімкнувши опцію |
<code ini> | <code ini> | ||
ISHIMURA_ENABLED=1 | ISHIMURA_ENABLED=1 | ||
</ | </ | ||
- | в конфигах [[alteriniconf|alter.ini]] | + | у конфігах [[alteriniconf|alter.ini]] |
- | ===== А как чистить данные | + | ===== А як чистити дані акаунтингу? ===== |
- | В Ubilling 1.3.0 и далее, все это управляется опциями MULTIGEN_AUTOCLEANUP_* конфига [[alteriniconf|alter.ini]] и происходит автоматически. | + | |
- | В более ранних релизах, вы можете сделать это при помощи | + | В Ubilling 1.3.0 і далі, все це керується опціями MULTIGEN_AUTOCLEANUP_* конфіга |
- | Например | + | У більш ранніх |
+ | |||
+ | Наприклад якихось | ||
<code php> | <code php> | ||
$cleanupDays=30; | $cleanupDays=30; | ||
Рядок 298: | Рядок 266: | ||
</ | </ | ||
- | Сохраняем как-то так | + | Зберігаємо |
{{: | {{: | ||
- | После чего оставляем периодический вызов в **crontab -e** как-то так | + | Після чого залишаємо періодичний виклик у **crontab -e** якось так |
<code bash> | <code bash> | ||
Рядок 308: | Рядок 276: | ||
</ | </ | ||
- | ===== А как сделать из аккаунтинга DN? ===== | + | ===== А як зробити з аккаунтингу DN? ===== |
- | В случае, если вы используете планетарный потрошитель | + | У разі, якщо ви використовуєте планетарний тельбухач Ішимура, |
<code php> | <code php> | ||
Рядок 338: | Рядок 306: | ||
</ | </ | ||
+ | ===== Mea Culpa ===== | ||
+ | |||
+ | Документація поки відстуня |