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

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


multigen

Розбіжності

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

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

Порівняння попередніх версійПопередня ревізія
Наступна ревізія
Попередня ревізія
multigen [2023/06/30 10:55] – borisovmultigen [2025/12/31 02:23] (поточний) – [А як чистити дані акаунтингу?] nightfly
Рядок 7: Рядок 7:
 ===== Попереднє налаштування ===== ===== Попереднє налаштування =====
  
-Починаючи з FreeBSD 12.1 **достатньо лише увімкнути (і запустити) FreeRADIUS** в /etc/rc.conf і можна переходити до [[http://wiki.ubilling.net.ua/doku.php?id=multigen&#%D0%B7%D0%B0%D0%BA%D0%B0%D0%BD%D1%87%D0%B8%D0%B2%D0%B0%D0%B5%D0%BC_%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D1%8E_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D1%8F%D0%B5%D0%BC|Увімкнення підтримки в Ubilling]]. \\ +Починаючи з FreeBSD 12.1 достатньо лише увімкнути (і запустити) FreeRADIUS в **/etc/rc.conf**. Все інше відносно КупаГен-у вже автоматично налаштовано для вас.
-Для всіх старіших версій потрібно виконати кроки нижче: \\ \\+
  
-Ми сподіваємося, що ви встановлювали Ubilling за допомогою інсталятора, і все потрібне у вас уже є. Для початку вмикаємо Free Radius в **/etc/rc.conf** \\ +Ми сподіваємося, що ви встановлювали Ubilling за допомогою інсталятора, і все потрібне у вас уже є. Для початку вмикаємо FreeRADIUS в **/etc/rc.conf** \\
-Важливо: пресети в **/docs/multigen/raddb/** для версії freeradius2 і в **docs/multigen/raddb3/** для freeradius3.+
  
-<code ini>+<file ini rc.conf>
 radiusd_enable="YES" radiusd_enable="YES"
-</code> +</file>
- +
-Після чого розгортаємо пресети конфігурації FreeRADIUS і базову структуру БД. +
- +
-==== FreeRADIUS2 ==== +
- +
-<code> +
-# cd /usr/local/www/apache24/data/billing +
-# cp -R ./docs/multigen/raddb/* /usr/local/etc/raddb/ +
-# mysql -u root -p stg < ./docs/multigen/dump.sql +
-# mysql -u root -p stg < ./docs/multigen/radius2_fix.sql +
-</code> +
- +
- +
-==== FreeRADIUS3 ==== +
-Конфігурація FreeRADIUS3 (йде з бінарними пакетами для FreeBSD >=11.2): \\ +
-<code> +
-# cd /usr/local/www/apache24/data/billing +
-# cp -R ./docs/multigen/raddb3/* /usr/local/etc/raddb/ +
-# setenv RADVER `radiusd -v | grep "radiusd: FreeRADIUS Version" | awk '{print $4}' | tr -d ,` +
-# sed -i.bak "s/\/usr\/local\/lib\/freeradius-3.0.16/\/usr\/local\/lib\/freeradius-$RADVER/" /usr/local/etc/raddb/radiusd.conf +
-# mysql -u root -p stg < ./docs/multigen/dump.sql +
-# mysql -u root -p stg < ./docs/multigen/radius3_fix.sql +
-</code> +
- +
- +
- +
-==== Закінчуємо конфігурацію і перевіряємо ==== +
-Потім приступаємо до конфігурації з'єднання FreeRADIUS з БД Ubilling, редагуючи такі параметри в **/usr/local/etc/raddb/sql.conf** +
-^ Параметр  ^ Описание                    ^  +
-| server    | Хост/IP сервера бази даних | +
-| port      | Порт сервера бази даних    | +
-| login     | Користувач                | +
-| password  | Пароль                      | +
-| radius_db | Ім'я бази даних             |+
  
-Якщо все закінчили, можна спробувати запустити FreeRADIUS, але поки що в debug-режимі:+Тепер можна спробувати запустити FreeRADIUS, але поки що в debug-режимі:
 <code> <code>
 # radiusd -X # radiusd -X
Рядок 80: Рядок 44:
 ;MULTIGEN_RADCLIENT="/usr/local/bin/radclient -r 3 -t 1" ;MULTIGEN_RADCLIENT="/usr/local/bin/radclient -r 3 -t 1"
 ;Використовується тільки для баз, що використовують innodb, і має вирішувати проблеми зі швидкодією, ;Використовується тільки для баз, що використовують innodb, і має вирішувати проблеми зі швидкодією,
-за допомогою вирубування автокомміта і ручної роботи з транзакціями.+;за допомогою вирубування автокомміта і ручної роботи з транзакціями.
 ;MULTIGEN_MAKE_INNODB_GREAT_AGAIN=1 ;MULTIGEN_MAKE_INNODB_GREAT_AGAIN=1
 ;Показувати тільки незавершені сесії за замовчуванням ;Показувати тільки незавершені сесії за замовчуванням
Рядок 88: Рядок 52:
 ;Додаткові поля акаунтингу для показу ;Додаткові поля акаунтингу для показу
 ;MULTIGEN_FIELDSACCT="acctuniqueid,acctupdatetime" ;MULTIGEN_FIELDSACCT="acctuniqueid,acctupdatetime"
-;Чи ввімкнено планетарний потрошитель Ішимура?+;Чи ввімкнено планетарний тельбухач Ішимура?
 ISHIMURA_ENABLED=0 ISHIMURA_ENABLED=0
 ;Вмикає і встановлює таймаут кешування юзернеймів. Може поліпшити швидкодію звітів з аккаунтингу. ;Вмикає і встановлює таймаут кешування юзернеймів. Може поліпшити швидкодію звітів з аккаунтингу.
Рядок 95: Рядок 59:
 ;Відправляти PoD при зміні IP адреси у користувача? Може приймати значення 0,1,2. У разі 1 відправляємо PoD із новими даними. У разі 2 відправляємо 2 PoD з новими і старими даними. Актуально, наприклад, для статичних адрес або radius login=ip. ;Відправляти PoD при зміні IP адреси у користувача? Може приймати значення 0,1,2. У разі 1 відправляємо PoD із новими даними. У разі 2 відправляємо 2 PoD з новими і старими даними. Актуально, наприклад, для статичних адрес або radius login=ip.
 MULTIGEN_POD_ON_IP_CHANGE=0 MULTIGEN_POD_ON_IP_CHANGE=0
-Відправляти PoD у разі зміни MAC-адреси у користувача? Може приймати значення 0,1,2. У разі 1 відправляємо PoD із новими даними. У разі 2 відправляємо 2 PoD з новими і старими даними. Актуально, наприклад, для статичних адрес або radius login=mac.+;Відправляти PoD у разі зміни MAC-адреси у користувача? Може приймати значення 0,1,2. У разі 1 відправляємо PoD із новими даними. У разі 2 відправляємо 2 PoD з новими і старими даними. Актуально, наприклад, для статичних адрес або radius login=mac.
 MULTIGEN_POD_ON_MAC_CHANGE=0 MULTIGEN_POD_ON_MAC_CHANGE=0
 +;Чи ввімкнено Mea Culpa -свої логіни для авторизації абонентів, які ви можете сгенерувати, як взавгодно. 
 +MEACULPA_ENABLED=0
 </code> </code>
  
Рядок 109: Рядок 75:
 */2 * * * *  /bin/ubapi "multigen" */2 * * * *  /bin/ubapi "multigen"
 </code> </code>
 +
 +(воно там вже є)
  
 ===== Конфігурація серверів доступу ===== ===== Конфігурація серверів доступу =====
Рядок 187: Рядок 155:
  
 ^ Макрос  ^ Опис                    ^  ^ Макрос  ^ Опис                    ^ 
-| {IP}        | IP користувача у форматі x.x.x.x |+| {IP} | IP користувача у форматі x.x.x.x |
 | {MAC}       | MAC користувача у форматі за замовчуванням aa:bb:aa:bb:aa:bb (two symbols, semicolon lowercase) | | {MAC}       | MAC користувача у форматі за замовчуванням aa:bb:aa:bb:aa:bb (two symbols, semicolon lowercase) |
 | {MACFDL}    | MAC користувача у форматі aabb.aabb.aabb (four symbols, dotted lowercase) | | {MACFDL}    | MAC користувача у форматі aabb.aabb.aabb (four symbols, dotted lowercase) |
Рядок 196: Рядок 164:
 | {USERNAME}  | Юзернейм користувача трансформований щодо налаштувань NAS | | {USERNAME}  | Юзернейм користувача трансформований щодо налаштувань NAS |
 | {PASSWORD}  | Пароль користувача в прямому вигляді | | {PASSWORD}  | Пароль користувача в прямому вигляді |
-| {TARIFF}    | Ім'я тарифу користувача |+| {TARIFF} | Ім'я тарифу користувача |
 | {STATE} | Стан користувача (ON-LINE/DOWN/PASSIVE/OFF-LINE/NOT-EXIST) | | {STATE} | Стан користувача (ON-LINE/DOWN/PASSIVE/OFF-LINE/NOT-EXIST) |
 | {NETID} | ID мережі нетхоста користувача | | {NETID} | ID мережі нетхоста користувача |
Рядок 214: Рядок 182:
 | {SPEEDUPBC} | Швидкість аплоду користувача в bit/s з 1024 бітами в кілобіті поділена на 8 (Cisco burst) | | {SPEEDUPBC} | Швидкість аплоду користувача в bit/s з 1024 бітами в кілобіті поділена на 8 (Cisco burst) |
 | {SPEEDMRL} | Швидкість даунлода і аплода у вигляді downspeedk/upspeedk для Mikrotik-Rate-Limit |  | {SPEEDMRL} | Швидкість даунлода і аплода у вигляді downspeedk/upspeedk для Mikrotik-Rate-Limit | 
-| {USERSWITCHIP} | IP присвоєного світча користувача у форматі x.x.x.x | |+| {USERSWITCHIP} | IP присвоєного світча користувача у форматі x.x.x.x |
 | {USERSWITCHPORT} | Порт присвоєного світча користувача | | {USERSWITCHPORT} | Порт присвоєного світча користувача |
 | {USERSWITCHMAC} | MAC присвоєного світча користувача у форматі aa:bb:aa:bb:aa:bb:aa:bb | | {USERSWITCHMAC} | MAC присвоєного світча користувача у форматі aa:bb:aa:bb:aa:bb:aa:bb |
Рядок 223: Рядок 191:
 | {NASSECRET} | Radius secret NAS-а користувача | | {NASSECRET} | Radius secret NAS-а користувача |
 | {NASPORT} | Віддалений порт для radclient за замовчуванням (3799) | | {NASPORT} | Віддалений порт для radclient за замовчуванням (3799) |
 +| {NETEXT} | Користувацькі підмережі з NETWORKS_EXT для Framed-Route атрибуту |
  
  
Рядок 248: Рядок 217:
  
 ^ Сервіс    ^  Попередній стан користувача      ^ Поточний стан користувача      ^  Буде виконано скрипт ^ ^ Сервіс    ^  Попередній стан користувача      ^ Поточний стан користувача      ^  Буде виконано скрипт ^
-| PoD       |  Користувач активний | Користувач не активний | PoD |+| PoD       | Користувач активний | Користувач не активний | PoD |
 | CoA | Користувач не активний | Користувач активний | CoA Connect | | CoA | Користувач не активний | Користувач активний | CoA Connect |
 | CoA | Користувач активний | Користувач не активний | CoA Disconnect | | CoA | Користувач активний | Користувач не активний | CoA Disconnect |
Рядок 282: Рядок 251:
 у конфігах [[alteriniconf|alter.ini]] та [[userstats|userstats.ini]]. Це активує шоковий двигун, для обходу всієї механіки роботи з колекторами Stargazer-а. у конфігах [[alteriniconf|alter.ini]] та [[userstats|userstats.ini]]. Це активує шоковий двигун, для обходу всієї механіки роботи з колекторами Stargazer-а.
  
-===== А как чистить данные аккаунтинга? =====+===== А як чистити дані акаунтингу? =====
  
-В Ubilling 1.3.0 и далее, все это управляется опциями MULTIGEN_AUTOCLEANUP_* конфига [[alteriniconf|alter.ini]] и происходит **автоматически**.+В Ubilling 1.3.0 і далі, все це керується опціями MULTIGEN_AUTOCLEANUP_* конфіга [[alteriniconf|alter.ini]] і відбувається **автоматично**.
  
-В более ранних релизах, вы можете сделать это при помощи [[onepunch|One-Punch скриптов]] любой упоротости, которые будут делать все что вы захотите. 
  
-Например каких-то таких: +===== А як зробити з аккаунтингу DN? ===== 
-<code php> +У разі, якщо ви використовуєте планетарний тельбухач Ішимура, все має нормально працювати саме по собі за умови штатного виклику fullhostscan з параметром traffdiff.Якщо ж ви не бажаєте спиратися на зміни трафіку, а, скажімо, тільки на існування незавершених сесій Radius, все так само дуже просто, One-Punch скриптом. Для комутованих з'єднань типу PPPoE можна, наприклад, так:
-$cleanupDays=30; +
- +
-$query="DELETE FROM `mlg_acct` WHERE `acctstarttime` <= NOW() - INTERVAL ".$cleanupDays." DAY AND `acctstoptime` IS NOT NULL"; +
-nr_query($query); +
- +
-$query="DELETE FROM `mlg_postauth` WHERE `authdate` <= NOW() - INTERVAL ".$cleanupDays." DAY"; +
-nr_query($query); +
-</code> +
- +
-Сохраняем как-то так +
- +
-{{:mlgclean0.png?direct&|}} +
- +
-После чего оставляем периодический вызов в **crontab -e** как-то так +
- +
-<code bash> +
-4 4 * * *     /bin/ubapi "onepunch&param=mlgclean" +
-</code> +
- +
-===== А как сделать из аккаунтинга DN? ===== +
-В случае, если вы используете планетарный потрошитель Ишимура, все должно нормально работать само по себе при штатном вызове fullhostscan с параметром traffdiff. Если же вы не желаете опираться на изменения трафика, а скажем только на существование незавершенных сессий Radius, все так же очень просто,  One-Punch скриптом. Для коммутируемых соединений типа PPPoE можно например, так:+
  
 <code php> <code php>
Рядок 339: Рядок 286:
 </code> </code>
  
 +===== Mea Culpa =====
 +
 +Документація поки відстуня
multigen.1688111745.txt.gz · Востаннє змінено: повз borisov

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki