Перейти к содержимому

MPD5 + FreeRadius


Рекомендованные сообщения

Значит опробовал связку 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 из запроса ибо в БД его нету и радиус из-за этого не хочет стартовать.

Ссылка на сообщение
Поделиться на других сайтах

Нашел ошибку.

В /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 (время в секундах)

Изменено пользователем jcomm
Ссылка на сообщение
Поделиться на других сайтах
  • 2 months later...

Щоб ще одну тему не створювати, напишу тут.

Треба прикрутити перевірку по calling station id у pppoe.

Мені досить добавити атрибут для мережі pppoe виду?

Атрибут: Calling-Station-Id

Оператор: =

Значення: {MAC}

 

Чи треба ще щось змінити?

Ссылка на сообщение
Поделиться на других сайтах

 

 

Атрибут: Calling-Station-Id Оператор: = Значення: {MAC} Чи треба ще щось змінити?

Мало би працювати. Макрос {MAC} присутній в дефолтній вьюшці radius_reply.

 

P.S. якщо ви насправді вирішили використовувати поточну реалізацію роботи freeradius, думаю варто оновитись до CURRENT збірки - там хоча б нормально параметри NAS-ів показуються тепер.

Ссылка на сообщение
Поделиться на других сайтах

В мене нічого не зламається? :)

 

Здається вже зламалось.

 

Notice: Undefined index: COLORIZE_PROFILE_CASH in /usr/local/www/apache22/data/billing/api/libs/api.userprofile.php on line 446

 

Таке світиться коли відркиваю профіль користувача.

Изменено пользователем L1ght
Ссылка на сообщение
Поделиться на других сайтах

 

 

В мене нічого не зламається? :)

Нині, від третьої ночі сижу сам на 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

Ссылка на сообщение
Поделиться на других сайтах

 

В мене нічого не зламається? :)

Нині, від третьої ночі сижу сам на 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

 

Ох, не бачив цього.

А давно воно там? :)

Ссылка на сообщение
Поделиться на других сайтах
Ох, не бачив цього. А давно воно там? :)

+- 5-10 хвилин від написання коду і вкомічування в репозитарій. Якщо бути точним, то COLORIZE_PROFILE_CASH там матеріалізувався 2014/09/15 23:10

Изменено пользователем nightfly
Ссылка на сообщение
Поделиться на других сайтах

Недивно, що не бачив.

Я заходжу десь раз у неділю, листаю доку, може чого цікавого буде.

Ще питання, а буде підтримка accel-ppp IPoE?

Надто цікаво цей акцель описують.

Ссылка на сообщение
Поделиться на других сайтах
Ще питання, а буде підтримка accel-ppp IPoE?

Оцетіпасього? http://wiki.ubilling.net.ua/doku.php?id=accelppp Та аби я руками ше раз туди добровільно поліз... нєєєєє, дякую :D

 

 

Надто цікаво цей акцель описують.

Хз, комбайн як комбайн. Нічо особливо цікавого не побачив.

Можливо його так люблять, бо для цих їхніх лінуксів то один з небагатьох варіантів, хоч якось працювати, не зламавши мозок об хворий tc та всі інші обвіси.

 

Імха Linux ISG і той концептуальніший - до нього таки буду дивитись, якщо видасться якийсь період, коли "взагалі нема чим зайнятись".

Изменено пользователем nightfly
Ссылка на сообщение
Поделиться на других сайтах

Зрозумів :) Дякую!

І ще одне зауваження.

Чомусь думаю, що пошук по маку робиться тільки серед активних користувачів, тобто баланс =>0.

Э користувачі в котрих мак-адрес дефолтно-згенерований, тобто починається на 14:88.

По пошуку мені видає тілько одного такого користувача, котрий активний. Знайшов ще одного такого (тобто с дефолтним маком), він неактивний (баланс <0) і в результатах пошуку його нема.

Изменено пользователем L1ght
Ссылка на сообщение
Поделиться на других сайтах
Чомусь думаю, що пошук по маку робиться тільки серед активних користувачів, тобто баланс =>0.

ні

 

 

 

По пошуку мені видає тілько одного такого користувача, котрий активний. Знайшов ще одного такого (тобто с дефолтним маком), він неактивний (баланс <0) і в результатах пошуку його нема.

Воно взагалі шукає тільки одного користувача. Бай дефолт там мав би бути строгий пошук тільки по цілому маку і діставання тільки одного юзера, за його маком, росте ногами з примусової унікальності його в рамках всього nethosts. Короче кажучи то "історична" фіча :)

Изменено пользователем nightfly
Ссылка на сообщение
Поделиться на других сайтах

 

 

Воно взагалі шукає тільки одного користувача. Бай дефолт там мав би бути строгий пошук тільки по цілому маку і діставання тільки одного юзера, за його маком, росте ногами з примусової унікальності його в рамках всього nethosts. Короче кажучи то "історична" фіча
 

Зрозумів, буду переберати.

Ссылка на сообщение
Поделиться на других сайтах

Для всяких таких речей, типу "пошукати всіх юзерів з маками аля 14:88" є майстер звітів. Він власне і спрямований на формування різних нестандартних виборок.

Ссылка на сообщение
Поделиться на других сайтах

Для всяких таких речей, типу "пошукати всіх юзерів з маками аля 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 запиту - вислухаю з радістю, бо не надто з ним "дружу".

Изменено пользователем L1ght
Ссылка на сообщение
Поделиться на других сайтах

 

 

Якшо є зауваження щодо SQL запиту - вислухаю з радістю, бо не надто з ним "дружу".

Робить - і пох. Так кажете ніби я з ним дружу :D

 

P.S. головне в jcomm нічо про кверізи не питати - від його SQL-я коні дохнуть. :P

Ссылка на сообщение
Поделиться на других сайтах

 

 

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-я коні дохнуть.

Для мене був неочікуваним такий фікс, але працює :)

Ссылка на сообщение
Поделиться на других сайтах

P.S. головне в jcomm нічо про кверізи не питати - від його SQL-я коні дохнуть.  :P

:D

 

Щоб ще одну тему не створювати, напишу тут.

Треба прикрутити перевірку по calling station id у pppoe.

Мені досить добавити атрибут для мережі pppoe виду?

Атрибут: Calling-Station-Id

Оператор: =

Значення: {MAC}

 

Чи треба ще щось змінити?

вот почему я запланировал переписать работу с радиусом: нельзя просто так взять и установить кастомные атрибуты для радиуса... обязательно с бубном надо плясать...

Изменено пользователем jcomm
Ссылка на сообщение
Поделиться на других сайтах

 

P.S. головне в jcomm нічо про кверізи не питати - від його SQL-я коні дохнуть.  :P

:D

 

Щоб ще одну тему не створювати, напишу тут.

Треба прикрутити перевірку по calling station id у pppoe.

Мені досить добавити атрибут для мережі pppoe виду?

Атрибут: Calling-Station-Id

Оператор: =

Значення: {MAC}

 

Чи треба ще щось змінити?

вот почему я запланировал переписать работу с радиусом: нельзя просто так взять и установить кастомные атрибуты для радиуса... обязательно с бубном надо плясать...

 

То мені тепер стрьомно включати таке на працюючій мережі.

Коли плануєте переробити роботу з радіусом?  :rolleyes:

Я звичайно на віртуалці потренуюсь, але хотілось би одразу по "людськи" в мережу вводити.

Изменено пользователем L1ght
Ссылка на сообщение
Поделиться на других сайтах

 

 

Атрибут: Calling-Station-Id Оператор: = Значення: {MAC}
 

Ось так нічого не дає. Пропускає усе одно з іншим маком, а не тим що є у біллінгу.

Гадаю треба редагувати відповідь радіуса на перевірку Calling-Station-Id, але я не знаю, як правильно зробити...

Ссылка на сообщение
Поделиться на других сайтах

Ковиряюсь у радіусі і зовсім не розумію деяких речей.

Наприклад: .

/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.
Изменено пользователем L1ght
Ссылка на сообщение
Поделиться на других сайтах

Ось так нічого не дає. Пропускає усе одно з іншим маком, а не тим що є у біллінгу.

Гадаю треба редагувати відповідь радіуса на перевірку 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 как-бы существенная, не?

Изменено пользователем jcomm
Ссылка на сообщение
Поделиться на других сайтах

Так різниця є, але далі все одно ми робимо @cnt=0 і воно стає =1.

Я так розумію треба правити radius_check?

 

Про інкремент зрозумів, більше не буде таких питаннь :)

 

Жахливо змучився, так і не зміг зрозуміти, як привчити радіус перевіряти і логін, і пароль, і calling-station-id.

Є в когось думки з цього приводу?

Изменено пользователем L1ght
Ссылка на сообщение
Поделиться на других сайтах

Жахливо змучився, так і не зміг зрозуміти, як привчити радіус перевіряти і логін, і пароль, і calling-station-id.

Є в когось думки з цього приводу?

простота роботи білінгу з радіусом вражає.... видно що писався для того щоб можна було легко інтегрувати з будь-яким софтом або желізом будь-якого виробника

хоча і нічого дивного судячи з того що радіус напряму через модуль sql в бд лазить. з іншого боку - простота - частина успіху..

Изменено пользователем Lynx100
Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

  • Похожие публикации

    • Автор: camchatix
      Добрий день,
      створили запасний NAS із зайвою хромосомою, все працює але коли треба вбити сесію користувача - то у списку NAS серверів лише один (той що основний)
      переназначити швидкість теж не можу
      я так розумію пакети CoA Disconnect, CoA connect, PoD - ідуть на IP адресу старого NAS ?
    • Автор: grach_witch_cheese
      Вітаю, колеги!
      Маю наступну схему:
      DHCP-сервер: Accel-PPP (IPoE) DHCP-Relay: MikroTik RADIUS: Запущений безпосередньо на сервері uBilling Зараз авторизація абонентів здійснюється за MAC-адресою, але планується перехід на авторизацію через Option 82.
      У документації uBilling наведені приклади конфігурацій, коли DHCP-сервер працює локально (на самому uBilling) і містить відповідні шаблони для обробки Option 82.
      Однак немає чіткої інформації про використання Option 82 при віддаленому DHCP-сервері, зокрема, коли Accel-PPP використовується як DHCP-сервер у режимі remote та налаштований через Купаген.
      Питання:
      Чи можливо використовувати Accel-PPP як віддалений DHCP-сервер з авторизацією через Option 82? Якщо так, то де відбувається парсинг значень Remote-ID і Circuit-ID? Де в цьому випадку мають зберігатися шаблони для Option 82? Буду вдячний за роз'яснення або посилання на відповідні приклади.
    • Автор: nightfly
      Ubilling 1.5.2 rev 9302 Book of Endings
       
      Зміни в структурі БД. alter.ini: нова опція FASTPROFITCALC_ENABLED, що вмикає швидкий підрахунок прибутку. alter.ini: нова необов'язкова опція KARMA_IN_PROFILE що вмикає показ карми в профілі користувача. alter.ini: нова опція SWITCHES_AUTH_ENABLED, що вмикає довідник даних авторизації пристроїв. alter.ini: нова опція PON_SCRIPTS_ENABLED, що вмикає підтримку скриптів OLT в ПОНізаторі. alter.ini: нова опція PON_ONU_FDB_SELFFILTER, що вмикає фільтр MAC-ів при відображенні FDB за ONU. alter.ini: нова опція USERBYIP_ENABLED, що вмикає виклик userbyip в RemoteAPI. alter.ini: пачка нових опцій PB_FASTURL_*, що керують поведінкою модулю відсилання коротких посилань на оплату. Модуль PONizer: виправлена помилка зникнення PON інтерфейсів при опиті BDCOM GP3600 Модуль “Профіль користувача”: для опису плагінів профілю та оверлеїв на кшталт “чорної магії” тепер опційно можливо вказувати link_target. Модуль “Панель задач”: для опису елементів панелі задач, тепер опційно можна вказувати LINK_TARGET. Модуль Записи телефонних розмов: вирішено проблеми швидкодії, при перегляді списку записів дзвінків. Модуль “Записи телефонних розмов”: більше не призводить до вичерпання пам'яті процесу, при перегляді великих архівів дзвінків. Модуль “Записи телефонних розмов”: новий аудіо-плеєр для прослуховування записів з візуалізацією аудіо-хвилі. Модуль “Пошук оплат”: реалізовано можливість швиденького підрахунку прибутку по обраних чекбоксами платежах. Модуль УКВ: реалізовано можливість швиденького підрахунку прибутку по обраних чекбоксами платежах. Модулі Мапа обладнання та користувачів: трішки вичищено код. Ліпше не стало. Модуль “Мапа будинків”: поле пошуку при розташуванні будинку, тепер попередньо заповнено локацією, при переході за посиланням “розташувати на мапі”. Модуль “Панель задач”: опція TB_QUICKSEARCH_INLINE змінила свою поведінку, та може тепер приймати значення 0|1|2. Модуль “Звіт по трафіку”: виправлено проблему відображення графіків OphanimFlow для NAS на роздільних здатностях менше ніж FullHD. Кабінет користувача: в модулі “Відеоспостереження” відображення попереднього перегляду каналів користувача, стало трішки притомнішим. Сховище зображень: трішки покращено поведінку форми завантаження. RemoteAPI: новий виклик onusigcompressor, що радикально стискає розпухаючі дані історії сигналів ONU. RemoteAPI: новий виклик pbxmonrefill, що оновлює кеш записів телефонних розмов. RemoteAPI: новий виклик userbyip, що повертає дані про користувача за його IP. OpenPayz: в бекенді та фронтенді platon виправлено проблему диких заокруглень, при вказанні зовнішньої комісії.  
      Повний чейнджлог
      Оновлена демка
       

    • Автор: ppv
      Після оновлення до 1.5.1 не відображаються сигнали на
      OLT BDCOM P3310B (Device version10.1.0B)

      та
      P3608-2TE (Firmware Version10.1.0E). 

      3310C та P3608B ніяких проблем немає, знімає все добре. 
      З GPON3600-8 все зрозуміло будуть виправлення в Ubilling: 1.5.2.
       
      Може в когось було щось подібне? Хочу знати куди копати.
    • Автор: mac
      Глюк в тому, що один (так - тільки один) mac адрес onu існує в білінгу у вигляді строки. Це трохи заважає.
      olt - bdcom gepon.
      Наскільки зрозумів, це виключно проблема реалізації snmpwalk у freebsd, де snmpwalk може на свій розсуд віддати mac адресу не як hex-string, а як звичайний string.
      Можливо snmpwalk тригериться на якомусь символі, мені невідомо.
       
      # tcpdump -vv -i em0 udp port 161 and host olt and host ub | grep "3320.101.10.4.1.1.241 ... olt.snmp > ub.47940: [udp sum ok] { SNMPv2c C="*****" { GetResponse(44) R=93278354 E:3320.101.10.4.1.1.241="8LO"W*" } } ub.47940 > olt.snmp: [udp sum ok] { SNMPv2c C="*****" { GetNextRequest(34) R=93278355 E:3320.101.10.4.1.1.241 } } snmpwalk -c***** -v2c -t5 olt .1.3.6.1.4.1.3320.101.10.4.1.1 SNMPv2-SMI::enterprises.3320.101.10.4.1.1.241 = STRING: "8LO\"W*" snmpwalk -Ox -c***** -v2c -t5 olt .1.3.6.1.4.1.3320.101.10.4.1.1 SNMPv2-SMI::enterprises.3320.101.10.4.1.1.241 = Hex-STRING: 38 4C 4F 22 57 2A  
      Це стосується таких параметрів у snmp конфізі bdcom
       
      [signal] MACINDEX=".1.3.6.1.4.1.3320.101.10.4.1.1" [misc] ONUINDEX=".1.3.6.1.4.1.3320.101.11.1.1.3"  
      За для усунення глюку спробував трошки змінити код і завдати тип snmp параметру явно у ./api/libs/api.ponbdcom.php у function collect()
      Це працює. Мабуть станеться у нагоді:
       
      # diff api.ponbdcom.php{.new,.bak} 37c37 < $onuIndex = $this->snmp->walk('-Ox ' . $oltIp . ':' . self::SNMPPORT, $oltCommunity, $onuIndexOid, self::SNMPCACHE); --- > $onuIndex = $this->snmp->walk($oltIp . ':' . self::SNMPPORT, $oltCommunity, $onuIndexOid, self::SNMPCACHE); 91c91 < $macIndex = $this->snmp->walk('-Ox ' . $oltIp . ':' . self::SNMPPORT, $oltCommunity, $macIndexOID, self::SNMPCACHE); --- > $macIndex = $this->snmp->walk($oltIp . ':' . self::SNMPPORT, $oltCommunity, $macIndexOID, self::SNMPCACHE);  
      P.S. Створив тему, а зараз міркую: а може це глюк у ПЗ olt. Оновлю фірмваре olt та перевірю...
       

×
×
  • Создать...