Название: Сбор трафика через Radius Отправлено: Efendy от 19 Апреля 2014, 19:09:09 Если вы используете pppoe, то у вас стоит Radius, который периодически принимает от mpd accounting пакеты, в которых передается трафик. Вот эти пакеты в настоящее время используются только как признак "клиент жив". Хотя можно их использовать для начисления трафика в учетку клиента. Плюс в том, что практически никаких накладных расходов. Т.е мы удаляем ipcad (ну, и, соответственно, правила divert в фаерволе) и получаем увеличение производительности сервера. Минус в том, что лога трафика (графиков) не будет.
Фича оттестирована elite, поэтому если всплывут какие-то нюансы - задавайте вопросы ему. В /usr/local/etc/raddb/sql.conf Код: postauth_query = "call radupdate('%{User-Name}','%{Framed-IP-Address}',\ Код: accounting_update_query = "call radupdate('%{User-Name}','%{Framed-IP-Address}',\ Код: CREATE TABLE IF NOT EXISTS `ses_traf` ( Название: Re: Сбор трафика через Radius Отправлено: goletsa от 21 Апреля 2014, 13:20:57 Круто. Для 50 ветки можно использовать? :)
Название: Re: Сбор трафика через Radius Отправлено: elite от 21 Апреля 2014, 15:42:38 можно :)
Название: Re: Сбор трафика через Radius Отправлено: goletsa от 19 Мая 2014, 04:13:38 А для какой версии freeradius писалось? У меня просто 2 ветка под linux.
Сам конфиг сведен к минимуму: Код: root@mxradius:/etc/freeradius/sql/mysql# cat tinco.conf Т.е. у меня нету postauth_query Я могу просто заменить свой accounting_update_query ? Название: Re: Сбор трафика через Radius Отправлено: Sidius от 05 Августа 2014, 22:52:01 Учитывается трафик только в одну сторону?
Название: Re: Сбор трафика через Radius Отправлено: goletsa от 31 Июля 2015, 11:44:46 можно :) Не, не хватает каких-то процедур.Но пока глубоко не ковырялся. Надо будет посмотреть что они в N+ возвращают. Название: Re: Сбор трафика через Radius Отправлено: Warlock от 03 Августа 2015, 08:42:14 а в этом случае лог трафика никак нельзя сделать?
Название: Re: Сбор трафика через Radius Отправлено: goletsa от 03 Августа 2015, 17:31:24 а в этом случае лог трафика никак нельзя сделать? Теоретически можно, но все будет упираться в частоту акаунтинга, а на некоторых железных BRAS время между Interim-Update может быть 15-30 минут.Название: Re: Сбор трафика через Radius Отправлено: elite от 16 Мая 2017, 09:04:39 А чтобы сделать лог трафика, нужно заполнять x-таблицы?
Название: Re: Сбор трафика через Radius Отправлено: Cell от 16 Мая 2017, 10:25:50 жалко что на микротике аккаунтинг не покатит, если без коммутации юзать (((
Название: Re: Сбор трафика через Radius Отправлено: elite от 16 Мая 2017, 11:37:32 а почему нет? разве хотспот не отдает аккаунтинг?
Название: Re: Сбор трафика через Radius Отправлено: Cell от 16 Мая 2017, 14:53:19 а почему нет? разве хотспот не отдает аккаунтинг? хотспот отдает, с этим у него все хорошо, только на мой взгляд без него как-то лучше работается на одном ДХЦП и аксесс листеНазвание: Re: Сбор трафика через Radius Отправлено: elite от 16 Мая 2017, 21:41:18 меньше нагрузка на микротик?
Название: Re: Сбор трафика через Radius Отправлено: Cell от 16 Мая 2017, 23:03:56 правил в файрволе на порядок меньше - соответственно да.
Название: Re: Сбор трафика через Radius Отправлено: elite от 17 Мая 2017, 14:10:27 Ладно, вопрос в другом: что нужно, чтобы сделать норм лог трафика и графики работали?
Заполнять х-таблицу? Или что-то ещё надо? Название: Re: Сбор трафика через Radius Отправлено: Efendy от 18 Мая 2017, 10:12:39 создавать и заполнять x-таблицу с округлением времени, иначе трафик будет на каждую секунду. Думаю, округлять лучше минут до 5, если на каждую минуту - все таки будет перекос из-за что 40 секунд могут попасть или в одну и другую минуту
Название: Re: Сбор трафика через Radius Отправлено: Efendy от 08 Февраля 2018, 21:31:38 Переделал процедуру так, чтобы велся график трафика. Внимание! Необходимо в конфиге collectors.cfg закомментировать все коллекторы (list => [],) и запустить модуль collectors - это нужно только для того, чтобы он создавал на каждый день X-таблицу типа X2018_2_8. Срезы кратны минуте (в процедуре число 60)
Код: DROP PROCEDURE IF EXISTS `radupdate`; Название: Re: Сбор трафика через Radius Отправлено: k291 от 10 Февраля 2018, 15:21:24 Будет работать в связке NoDeny+Radius+Mikrotik+DHCP ?
Название: Re: Сбор трафика через Radius Отправлено: Cell от 10 Февраля 2018, 18:57:49 Насчет DHCP большие сомнения. В связке Hotspot - работает однозначно.
Название: Re: Сбор трафика через Radius Отправлено: Efendy от 10 Февраля 2018, 20:39:44 Даю общий ответ: если устройство посылает на радиус трафик - будет работать. Возможно придется поменять название атрибута для трафика (со стандартизацией у нас проблемы). И, естественно, необходимо не тупо копировать процедуру, а взять вашу и вставить в нее код, который сохраняет трафик
Название: Re: Сбор трафика через Radius Отправлено: Cell от 10 Февраля 2018, 22:20:56 Учитывается трафик только в одну сторону? Начал разбираться и тоже удивился. А какой смысл в том чтобы только траф_ин учитывать?Я конечно все понимаю, но не на живых же абонентах экспериментировать с этим делом? Название: Re: Сбор трафика через Radius Отправлено: Roman от 10 Февраля 2018, 22:44:58 Учитывается трафик только в одну сторону? Начал разбираться и тоже удивился. А какой смысл в том чтобы только траф_ин учитывать?Я конечно все понимаю, но не на живых же абонентах экспериментировать с этим делом? Я не силен в перле, но можно было бы в модули коллекторов добавить модуль Radius. Модуль создает таблицу типа HEAP (в памяти) в которую через радиус аккаунтинг запросы добавляются записи. Далее раз в таймут конфига происходит парсинг временной таблицы и заполнение X_date таблиц, с очисткой временной таблицы. Я могу это все реализовать, временную таблицу заполнять из радиуса, не проблема. Скриптом по крону раз в минуту парсить и складывать в X_date таблицы, но у меня о они игнорятся биллингом, мне нужен точный формат X_date таблиц. Готов принять участие в создании и тестировании модуля. Название: Re: Сбор трафика через Radius Отправлено: Efendy от 11 Февраля 2018, 08:48:54 Зачем тебе парсить и укладывать данные в X-таблицы, если я уже сделал проще и привел пример?
Насчет исходящего трафика. Его добавить элементарно, неужели сами не догадались? Я вас научил прыгать на правой ноге, думал вы догадаетесь как это делать на левой Название: Re: Сбор трафика через Radius Отправлено: elite от 12 Февраля 2018, 18:30:23 Можно ses_traf в memory хранить
Название: Re: Сбор трафика через Radius Отправлено: elite от 21 Мая 2018, 07:33:24 схема рабочая, но крайний срез трафика обновляется в режиме реального времени, не очень удобно
Название: Re: Сбор трафика через Radius Отправлено: skreep от 16 Сентября 2018, 19:08:30 настроил у себя сбор трафика по Radius и получил вот такую ошибку
Sun Sep 16 00:00:00 2018 : Error: [sql] Couldn't update SQL accounting ALIVE record - Table 'nodeny.X2018_9_16' doesn't exist Sun Sep 16 00:00:00 2018 : Error: rlm_sql_mysql: Cannot store result Sun Sep 16 00:00:00 2018 : Error: rlm_sql_mysql: MySQL error 'Table 'nodeny.X2018_9_16' doesn't exist' . . . Sun Sep 16 00:00:49 2018 : Error: [sql] Couldn't update SQL accounting ALIVE record - Table 'nodeny.X2018_9_16' doesn't exist Sun Sep 16 00:00:49 2018 : Error: rlm_sql_mysql: Cannot store result Sun Sep 16 00:00:49 2018 : Error: rlm_sql_mysql: MySQL error 'Table 'nodeny.X2018_9_16' doesn't exist' Так понимаю что не успевает создатся таблица, как исправить, потому что из-за ошибки у клиенттов пропадает авторизация и блокируется доступ такая ошибка повторяется каждую ночь У меня база реплицируется из-за чего имеется еще одна ошибка Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. INSERT... ON DUPLICATE KEY UPDATE on a table with more than one UNIQUE KEY is uns afe Statement: call radupdate('14:cc:20:73:75:99','10.100.2.108', 'vlan=bond0.126;int=ipoe305', '58e72eb2e3d70de0', (0 * POWER(2, 32)) + 15809915, (0 * POWER(2, 32)) + 61 05836) Подскажите как исправить запрос что б без ошибок все работало mysql 5.5.6 Название: Re: Сбор трафика через Radius Отправлено: skreep от 18 Сентября 2018, 10:31:51 настроил у себя сбор трафика по Radius и получил вот такую ошибку Тут все исправилось binlog_format=mixedSun Sep 16 00:00:00 2018 : Error: [sql] Couldn't update SQL accounting ALIVE record - Table 'nodeny.X2018_9_16' doesn't exist Sun Sep 16 00:00:00 2018 : Error: rlm_sql_mysql: Cannot store result Sun Sep 16 00:00:00 2018 : Error: rlm_sql_mysql: MySQL error 'Table 'nodeny.X2018_9_16' doesn't exist' . . . Sun Sep 16 00:00:49 2018 : Error: [sql] Couldn't update SQL accounting ALIVE record - Table 'nodeny.X2018_9_16' doesn't exist Sun Sep 16 00:00:49 2018 : Error: rlm_sql_mysql: Cannot store result Sun Sep 16 00:00:49 2018 : Error: rlm_sql_mysql: MySQL error 'Table 'nodeny.X2018_9_16' doesn't exist' Так понимаю что не успевает создатся таблица, как исправить, потому что из-за ошибки у клиенттов пропадает авторизация и блокируется доступ такая ошибка повторяется каждую ночь может таблицу создавать в продцедуре? тут в таблице X2018_9_16 не хватает данных за первую минуту текущего дня, и лишние данные за первую минуту 17 числа соответсвенно график трафика за сутки поломан. У меня база реплицируется из-за чего имеется еще одна ошибка Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. INSERT... ON DUPLICATE KEY UPDATE on a table with more than one UNIQUE KEY is uns afe Statement: call radupdate('14:cc:20:73:75:99','10.100.2.108', 'vlan=bond0.126;int=ipoe305', '58e72eb2e3d70de0', (0 * POWER(2, 32)) + 15809915, (0 * POWER(2, 32)) + 61 05836) Подскажите как исправить запрос что б без ошибок все работало mysql 5.5.6 Название: Re: Сбор трафика через Radius Отправлено: SlavikUA от 24 Марта 2019, 21:17:33 Є питання: зміна в /usr/local/etc/raddb/sql.conf
Код: postauth_query = "call radupdate('%{User-Name}','%{Framed-IP-Address}',\ 'user=%{Calling-Station-Id};nas=%{NAS-IP-Address}',%{Acct-Session-Id},0)" в Радіус3 ця процедура відрізняється досить кардинально. Название: Re: Сбор трафика через Radius Отправлено: Pa4ka от 25 Марта 2019, 21:03:14 Є питання: зміна в /usr/local/etc/raddb/sql.conf пошукайте по форуму було по freeradius3Код: postauth_query = "call radupdate('%{User-Name}','%{Framed-IP-Address}',\ 'user=%{Calling-Station-Id};nas=%{NAS-IP-Address}',%{Acct-Session-Id},0)" в Радіус3 ця процедура відрізняється досить кардинально. А процедура яка? radupdate(це процедура бази данних) А тут просто запит до бази з змінними і викликається call radupdate(***); Название: Re: Сбор трафика через Radius Отправлено: SlavikUA от 10 Апреля 2019, 19:17:39 Підкажіть хто небуть, вже весь мозг зірвало. В мене звязка Nodeny+, Mikrotik, Freeradius3 не працює збір трафіка і графіки, перевірив таблицю ses_traf а вона пуста. Раніше запускав радіус з виводом на екран, то радіус писав що uid немає значення по замовчуванню. Можливо щось треба включити в мікротіку, хоча акаунтінг включено, в конфігурації радіуса виклик вункції параметри правильні згідно документації на мікрот.
Название: Re: Сбор трафика через Radius Отправлено: skreep от 10 Апреля 2019, 20:19:30 Підкажіть хто небуть, вже весь мозг зірвало. В мене звязка Nodeny+, Mikrotik, Freeradius3 не працює збір трафіка і графіки, перевірив таблицю ses_traf а вона пуста. Раніше запускав радіус з виводом на екран, то радіус писав що uid немає значення по замовчуванню. Можливо щось треба включити в мікротіку, хоча акаунтінг включено, в конфігурації радіуса виклик вункції параметри правильні згідно документації на мікрот. як, пам'ять мене не підводить Мікротік не шле акаунтінг коли ІРОЕ Название: Re: Сбор трафика через Radius Отправлено: Efendy от 11 Апреля 2019, 11:37:35 Всегда для решения проблем вида "нихрена не работает", связанных с радиусом, запускаем радиус в debug режиме и смотрим на экран: есть ли вообще аккаунтинг? запускаются ли процедуры mysql? с какими параметрами? возвраащается ли ошибка?
Название: Re: Сбор трафика через Radius Отправлено: SlavikUA от 13 Апреля 2019, 19:14:58 Тут ще проблема вилізла перестав запускатись радіус з опцією -Х, замість виводу на консоль він просто стартує як демон.
Название: Re: Сбор трафика через Radius Отправлено: Efendy от 14 Апреля 2019, 13:21:04 Тут ще проблема вилізла перестав запускатись радіус з опцією -Х, замість виводу на консоль він просто стартує як демон. 1) переустановить биллинг2) переустановить виндовз 3) почистить диск что ты хотел услышать? как радиус починить? Название: Re: Сбор трафика через Radius Отправлено: SlavikUA от 14 Апреля 2019, 14:45:04 Я думав може переустановити сам радіус? В мене є безпосередній доступ до сервера (поки не в роботі). Білінг не повинен впливати на роботу радіуса чи я помиляюся?
Название: Re: Сбор трафика через Radius Отправлено: elite от 14 Апреля 2019, 19:23:55 можно попробовать отформатировать жесткий и переустановить все с нуля
Название: Re: Сбор трафика через Radius Отправлено: Cell от 14 Апреля 2019, 23:00:29 2) переустановить виндовз АААААбиллинг на виндавс? ааааааа!!!!! Название: Re: Сбор трафика через Radius Отправлено: SlavikUA от 23 Апреля 2019, 08:01:52 Всім доброго дня. Радіус поборов повною перестановкою Фряхи. Підкажіть хтось де можна почитати про синтаксис запросів мускула, які прописані /usr/local/etc/raddb/mods-enabled/sql, цікавить акаунтінг. Хочу зробити підрахунок вихідного трафіку, а тупо добавити ще один параметер не вийшло, радіус пише, що неправильний синтаксис і вказує останній запис з реальними данними які передав мікротік.
Название: Re: Сбор трафика через Radius Отправлено: Efendy от 24 Апреля 2019, 10:45:40 Я тебе в личку написал, что запрос твой неверен - лишняя скобка
Название: Re: Сбор трафика через Radius Отправлено: SlavikUA от 24 Апреля 2019, 12:00:39 Всім дуже дякую. Все працює.
Название: Re: Сбор трафика через Radius Отправлено: SlavikUA от 22 Ноября 2020, 15:54:56 Народ глянув лог файл радіуса а там:
ERROR: rlm_sql_mysql : ERROR 1048 (Column 'uid' cannot be null):23000 помилка пишеться з частотою до 30 секунд, таке враження що це період акаунтінгу Перевірив процедури мускула вроді все добре, все працює клієнти отримують інтернет, трафік отримую (деколи пише про помилки при виводі на графік) База зараз вся не задіяна працює тільки частина клієнтів решта на іншому обладнанні ще не переведені можливо це причина? Название: Re: Сбор трафика через Radius Отправлено: Efendy от 23 Ноября 2020, 00:56:53 ну, с такими неиформативными данными только пальцем в небо поможет. Или запускай радиус с ключем -x и смотри в консоль какой именно запрос выдает ошибку или пробуй в консоли mysql как бы самому семулировать процесс авторизации и эккаунтинга, но последнее трудно, нужно понимать процедуры mysql
|