l1ght Опубликовано: July 5, 2014 at 13:48 Опубликовано: July 5, 2014 at 13:48 Значит опробовал связку mpd5 + freeradius. Нашел ошибку. В /usr/local/etc/raddb/sql/mysql/dialup.conf нужно поправить строку. Было (в /usr/local/www/apache22/data/billing/docs/freeradius/raddb/sql/mysql/dialup.conf) nas_query = "SELECT id, nasname, shortname, type, secret, server FROM ${nas_table}" Должно быть nas_query = "SELECT nasname, shortname, type, secret, server FROM ${nas_table}" То бишь нужно убрать id из запроса ибо в БД его нету и радиус из-за этого не хочет стартовать.
l1ght Опубліковано: July 5, 2014 at 14:07 Автор Опубліковано: July 5, 2014 at 14:07 И сходу сюда же вопрос Как сделать таймаут сессии на фрирадиусе?
jcomm Опубліковано: July 5, 2014 at 19:06 Опубліковано: July 5, 2014 at 19:06 (відредаговано) Нашел ошибку. В /usr/local/etc/raddb/sql/mysql/dialup.conf нужно поправить строку. Спасибо за репорт, зафиксил в таком варианте: nas_query = "SELECT (@cnt := @cnt + 1) AS `id`, `nasname`, `shortname`, `type`, `secret`, `server` \ FROM `${nas_table}` \ CROSS JOIN (SELECT @cnt := 0) AS `dummy` \ ORDER BY `id`" Как сделать таймаут сессии на фрирадиусе? Session-Timeout := 86400 (время в секундах) Відредаговано July 5, 2014 at 19:08 jcomm
l1ght Опубліковано: September 16, 2014 at 09:43 Автор Опубліковано: September 16, 2014 at 09:43 Щоб ще одну тему не створювати, напишу тут. Треба прикрутити перевірку по calling station id у pppoe. Мені досить добавити атрибут для мережі pppoe виду? Атрибут: Calling-Station-Id Оператор: = Значення: {MAC} Чи треба ще щось змінити?
nightfly Опубліковано: September 16, 2014 at 12:07 Опубліковано: September 16, 2014 at 12:07 Атрибут: Calling-Station-Id Оператор: = Значення: {MAC} Чи треба ще щось змінити? Мало би працювати. Макрос {MAC} присутній в дефолтній вьюшці radius_reply. P.S. якщо ви насправді вирішили використовувати поточну реалізацію роботи freeradius, думаю варто оновитись до CURRENT збірки - там хоча б нормально параметри NAS-ів показуються тепер.
l1ght Опубліковано: September 16, 2014 at 12:34 Автор Опубліковано: September 16, 2014 at 12:34 (відредаговано) В мене нічого не зламається? Здається вже зламалось. Notice: Undefined index: COLORIZE_PROFILE_CASH in /usr/local/www/apache22/data/billing/api/libs/api.userprofile.php on line 446 Таке світиться коли відркиваю профіль користувача. Відредаговано September 16, 2014 at 12:36 L1ght
nightfly Опубліковано: September 16, 2014 at 12:56 Опубліковано: September 16, 2014 at 12:56 В мене нічого не зламається? Нині, від третьої ночі сижу сам на CURRENT 0.5.8 rev 3741 - поки що живий. Notice: Undefined index: COLORIZE_PROFILE_CASH in /usr/local/www/apache22/data/billing/api/libs/api.userprofile.php on line 446 Таке світиться коли відркиваю профіль користувача. Ну а шо ви чекали? http://wiki.ubilling.net.ua/doku.php?id=relnotes#section058
l1ght Опубліковано: September 16, 2014 at 13:38 Автор Опубліковано: September 16, 2014 at 13:38 В мене нічого не зламається? Нині, від третьої ночі сижу сам на CURRENT 0.5.8 rev 3741 - поки що живий. Notice: Undefined index: COLORIZE_PROFILE_CASH in /usr/local/www/apache22/data/billing/api/libs/api.userprofile.php on line 446 Таке світиться коли відркиваю профіль користувача. Ну а шо ви чекали? http://wiki.ubilling.net.ua/doku.php?id=relnotes#section058 Ох, не бачив цього. А давно воно там?
nightfly Опубліковано: September 16, 2014 at 13:39 Опубліковано: September 16, 2014 at 13:39 (відредаговано) Ох, не бачив цього. А давно воно там? +- 5-10 хвилин від написання коду і вкомічування в репозитарій. Якщо бути точним, то COLORIZE_PROFILE_CASH там матеріалізувався 2014/09/15 23:10 Відредаговано September 16, 2014 at 13:40 nightfly
l1ght Опубліковано: September 16, 2014 at 13:47 Автор Опубліковано: September 16, 2014 at 13:47 Недивно, що не бачив. Я заходжу десь раз у неділю, листаю доку, може чого цікавого буде. Ще питання, а буде підтримка accel-ppp IPoE? Надто цікаво цей акцель описують.
nightfly Опубліковано: September 16, 2014 at 13:50 Опубліковано: September 16, 2014 at 13:50 (відредаговано) Ще питання, а буде підтримка accel-ppp IPoE? Оцетіпасього? http://wiki.ubilling.net.ua/doku.php?id=accelppp Та аби я руками ше раз туди добровільно поліз... нєєєєє, дякую Надто цікаво цей акцель описують. Хз, комбайн як комбайн. Нічо особливо цікавого не побачив. Можливо його так люблять, бо для цих їхніх лінуксів то один з небагатьох варіантів, хоч якось працювати, не зламавши мозок об хворий tc та всі інші обвіси. Імха Linux ISG і той концептуальніший - до нього таки буду дивитись, якщо видасться якийсь період, коли "взагалі нема чим зайнятись". Відредаговано September 16, 2014 at 13:53 nightfly
l1ght Опубліковано: September 16, 2014 at 13:59 Автор Опубліковано: September 16, 2014 at 13:59 (відредаговано) Зрозумів Дякую! І ще одне зауваження. Чомусь думаю, що пошук по маку робиться тільки серед активних користувачів, тобто баланс =>0. Э користувачі в котрих мак-адрес дефолтно-згенерований, тобто починається на 14:88. По пошуку мені видає тілько одного такого користувача, котрий активний. Знайшов ще одного такого (тобто с дефолтним маком), він неактивний (баланс <0) і в результатах пошуку його нема. Відредаговано September 16, 2014 at 14:00 L1ght
nightfly Опубліковано: September 16, 2014 at 14:02 Опубліковано: September 16, 2014 at 14:02 (відредаговано) Чомусь думаю, що пошук по маку робиться тільки серед активних користувачів, тобто баланс =>0. ні По пошуку мені видає тілько одного такого користувача, котрий активний. Знайшов ще одного такого (тобто с дефолтним маком), він неактивний (баланс <0) і в результатах пошуку його нема. Воно взагалі шукає тільки одного користувача. Бай дефолт там мав би бути строгий пошук тільки по цілому маку і діставання тільки одного юзера, за його маком, росте ногами з примусової унікальності його в рамках всього nethosts. Короче кажучи то "історична" фіча Відредаговано September 16, 2014 at 14:03 nightfly
l1ght Опубліковано: September 16, 2014 at 14:08 Автор Опубліковано: September 16, 2014 at 14:08 Воно взагалі шукає тільки одного користувача. Бай дефолт там мав би бути строгий пошук тільки по цілому маку і діставання тільки одного юзера, за його маком, росте ногами з примусової унікальності його в рамках всього nethosts. Короче кажучи то "історична" фіча Зрозумів, буду переберати.
nightfly Опубліковано: September 16, 2014 at 15:42 Опубліковано: September 16, 2014 at 15:42 Для всяких таких речей, типу "пошукати всіх юзерів з маками аля 14:88" є майстер звітів. Він власне і спрямований на формування різних нестандартних виборок.
l1ght Опубліковано: September 16, 2014 at 16:20 Автор Опубліковано: September 16, 2014 at 16:20 (відредаговано) Для всяких таких речей, типу "пошукати всіх юзерів з маками аля 14:88" є майстер звітів. Він власне і спрямований на формування різних нестандартних виборок. Дякую за наводку. Ну вийшло в мене наступне: SQL: SELECT `login`,`ip` FROM `users` WHERE `ip` IN (SELECT `ip` from `nethosts` where `mac` LIKE '14:88%') Поля виборки: login,ip,mac Поля вибірки що буде відображене: login,ip Знаходити повну адресу за колонкою `login` : ТАК Знаходити ПІБ за колонкою `login` : ТАК Показувати кількість рядків вибірки : ТАК І воно красиво виводить з логінами, айпішками, адресами. Якшо є зауваження щодо SQL запиту - вислухаю з радістю, бо не надто з ним "дружу". Відредаговано September 16, 2014 at 16:21 L1ght
nightfly Опубліковано: September 16, 2014 at 16:36 Опубліковано: September 16, 2014 at 16:36 Якшо є зауваження щодо SQL запиту - вислухаю з радістю, бо не надто з ним "дружу". Робить - і пох. Так кажете ніби я з ним дружу P.S. головне в jcomm нічо про кверізи не питати - від його SQL-я коні дохнуть.
l1ght Опубліковано: September 16, 2014 at 16:47 Автор Опубліковано: September 16, 2014 at 16:47 nas_query = "SELECT (@cnt := @cnt + 1) AS `id`, `nasname`, `shortname`, `type`, `secret`, `server` \ FROM `${nas_table}` \ CROSS JOIN (SELECT @cnt := 0) AS `dummy` \ ORDER BY `id`" P.S. головне в jcomm нічо про кверізи не питати - від його SQL-я коні дохнуть. Для мене був неочікуваним такий фікс, але працює
jcomm Опубліковано: September 16, 2014 at 17:30 Опубліковано: September 16, 2014 at 17:30 (відредаговано) P.S. головне в jcomm нічо про кверізи не питати - від його SQL-я коні дохнуть. Щоб ще одну тему не створювати, напишу тут. Треба прикрутити перевірку по calling station id у pppoe. Мені досить добавити атрибут для мережі pppoe виду? Атрибут: Calling-Station-Id Оператор: = Значення: {MAC} Чи треба ще щось змінити? вот почему я запланировал переписать работу с радиусом: нельзя просто так взять и установить кастомные атрибуты для радиуса... обязательно с бубном надо плясать... Відредаговано September 16, 2014 at 17:30 jcomm
l1ght Опубліковано: September 16, 2014 at 18:21 Автор Опубліковано: September 16, 2014 at 18:21 (відредаговано) P.S. головне в jcomm нічо про кверізи не питати - від його SQL-я коні дохнуть. Щоб ще одну тему не створювати, напишу тут. Треба прикрутити перевірку по calling station id у pppoe. Мені досить добавити атрибут для мережі pppoe виду? Атрибут: Calling-Station-Id Оператор: = Значення: {MAC} Чи треба ще щось змінити? вот почему я запланировал переписать работу с радиусом: нельзя просто так взять и установить кастомные атрибуты для радиуса... обязательно с бубном надо плясать... То мені тепер стрьомно включати таке на працюючій мережі. Коли плануєте переробити роботу з радіусом? Я звичайно на віртуалці потренуюсь, але хотілось би одразу по "людськи" в мережу вводити. Відредаговано September 16, 2014 at 18:26 L1ght
l1ght Опубліковано: September 16, 2014 at 20:18 Автор Опубліковано: September 16, 2014 at 20:18 Атрибут: Calling-Station-Id Оператор: = Значення: {MAC} Ось так нічого не дає. Пропускає усе одно з іншим маком, а не тим що є у біллінгу. Гадаю треба редагувати відповідь радіуса на перевірку Calling-Station-Id, але я не знаю, як правильно зробити...
l1ght Опубліковано: September 16, 2014 at 21:06 Автор Опубліковано: September 16, 2014 at 21:06 (відредаговано) Ковиряюсь у радіусі і зовсім не розумію деяких речей. Наприклад: . /usr/local/etc/raddb/sql/mysql/dialup.conf authorize_check_query = "SELECT (@cnt := @cnt + 1) AS `id`, `UserName`, `Attribute`, `Value`, `op` \ FROM `${authcheck_table}` \ CROSS JOIN (SELECT @cnt := 0) AS `dummy` \ WHERE `UserName` = '%{SQL-User-Name}' \ ORDER BY `id`" Чому не ось так наприклад authorize_check_query = "SELECT (@cnt := 1) AS `id`, `UserName`, `Attribute`, `Value`, `op` \ FROM `${authcheck_table}` WHERE `UserName` = '%{SQL-User-Name}' " В упор не розумію нафіга там автоінкремент два рази, якщо всеодно повертаємо айді 1. Відредаговано September 16, 2014 at 21:07 L1ght
jcomm Опубліковано: September 16, 2014 at 21:11 Опубліковано: September 16, 2014 at 21:11 (відредаговано) Ось так нічого не дає. Пропускає усе одно з іншим маком, а не тим що є у біллінгу. Гадаю треба редагувати відповідь радіуса на перевірку Calling-Station-Id, але я не знаю, як правильно зробити... Все атрибуты, которые ставите - идут в *reply таблицы... Ковиряюсь у радіусі і зовсім не розумію деяких речей. Наприклад: . /usr/local/etc/raddb/sql/mysql/dialup.conf authorize_check_query = "SELECT (@cnt := @cnt + 1) AS `id`, `UserName`, `Attribute`, `Value`, `op` \ FROM `${authcheck_table}` \ CROSS JOIN (SELECT @cnt := 0) AS `dummy` \ WHERE `UserName` = '%{SQL-User-Name}' \ ORDER BY `id`" Чому не ось так наприклад authorize_check_query = "SELECT (@cnt := 1) AS `id`, `UserName`, `Attribute`, `Value`, `op` \ FROM `${authcheck_table}` WHERE `UserName` = '%{SQL-User-Name}' " В упор не розумію нафіга там автоінкремент два рази, якщо всеодно повертаємо айді 1. По вашему варианту все ваши id будут = 1. Вообще он не испольуется радиусом, но: ####################################################################### # Authorization Queries ####################################################################### # These queries compare the check items for the user # in ${authcheck_table} and setup the reply items in # ${authreply_table}. You can use any query/tables # you want, but the return data for each row MUST # be in the following order: # # 0. Row ID (currently unused) # 1. UserName/GroupName # 2. Item Attr Name # 3. Item Attr Value # 4. Item Attr Operation ####################################################################### Поэтому и используется этот самописный инкремент... якщо всеодно повертаємо айді 1 Обратите внимание, что разница между @cnt := 1 и (@cnt := @cnt + 1 как-бы существенная, не? Відредаговано September 16, 2014 at 21:14 jcomm
l1ght Опубліковано: September 16, 2014 at 21:27 Автор Опубліковано: September 16, 2014 at 21:27 (відредаговано) Так різниця є, але далі все одно ми робимо @cnt=0 і воно стає =1. Я так розумію треба правити radius_check? Про інкремент зрозумів, більше не буде таких питаннь Жахливо змучився, так і не зміг зрозуміти, як привчити радіус перевіряти і логін, і пароль, і calling-station-id. Є в когось думки з цього приводу? Відредаговано September 16, 2014 at 22:42 L1ght
Lynx100 Опубліковано: September 16, 2014 at 22:51 Опубліковано: September 16, 2014 at 22:51 (відредаговано) Жахливо змучився, так і не зміг зрозуміти, як привчити радіус перевіряти і логін, і пароль, і calling-station-id. Є в когось думки з цього приводу? простота роботи білінгу з радіусом вражає.... видно що писався для того щоб можна було легко інтегрувати з будь-яким софтом або желізом будь-якого виробника хоча і нічого дивного судячи з того що радіус напряму через модуль sql в бд лазить. з іншого боку - простота - частина успіху.. Відредаговано September 16, 2014 at 22:56 Lynx100
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас