Перейти до

MPD5 + FreeRadius


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

Опубліковано: (відредаговано)

 

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

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

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

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

 

Да просто то я від незнаяння :)

Не надто розумію радіус і ці вибоки з sql.

 

Я вже зрозумів, що мені потрібно щось на зразок

id | username | attribute                   | value                          | op |

> +----+----------+--------------------+-------------------+----+

> | 1 | user01 | Cleartext-Password |pass01                        |:= |

> | 2 | user01 | Calling-Station-Id     |98-4B-4A-F5-BF-40    | == |

> +----+----------+--------------------+-------------------+----+

 

Тепер зрозуміти як це зробити  залишилось.

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

 

 

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

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

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

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

 

Да просто то я від незнаяння :)

Не надто розумію радіус і ці вибоки з sql.

 

насправді я приглядався до цього білінгу, але в мене всі браси автентифікуються на радіусі на даний момент.  Глянувши на те як організована робота з радіусом - стало зрозуміло що цей функціонал йому  приліпили аби було (хоча можу і помилятися) ...  але якщо напрягтися то все можна підпиляти. Одним словом бажання відпало його пиляти ... буду пиляти те що маю.... хоча там свої блохи

 

буду мати час вільний то можливо попилю для експерименту (на віртуалці уже стоїть але особливо ще не розкурював) ... харить що підтримки аккаунтінгу з радіусу толком нема - прийдеться теж пиляти, хоча думаю що там не складно має бути

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

 

 

 

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

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

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

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

 

Да просто то я від незнаяння :)

Не надто розумію радіус і ці вибоки з sql.

 

насправді я приглядався до цього білінгу, але в мене всі браси автентифікуються на радіусі на даний момент.  Глянувши на те як організована робота з радіусом - стало зрозуміло що цей функціонал йому  приліпили аби було (хоча можу і помилятися) ...  але якщо напрягтися то все можна підпиляти. Одним словом бажання відпало його пиляти ... буду пиляти те що маю.... хоча там свої блохи

 

буду мати час вільний то можливо попилю для експерименту (на віртуалці уже стоїть але особливо ще не розкурював) ... харить що підтримки аккаунтінгу з радіусу толком нема - прийдеться теж пиляти, хоча думаю що там не складно має бути

 

Ну nightfly з jcomm грозяться переробити взаємодію з радіусом.

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

То як, хтось може що сказати з приводу перевірки login,password, calling station id?

CREATE OR REPLACE VIEW `radius_check` (`UserName`, `Attribute`, `op`, `Value`) AS
SELECT `users`.`login`, 'Cleartext-Password', ':=', `users`.`Password` FROM `users`
UNION
SELECT `users`.`login`, 'Calling-Station-Id', '==', `nethosts`.`mac` FROM `users`
JOIN `nethosts` ON `users`.`IP` = `nethosts`.`ip`
JOIN `networks` ON `nethosts`.`netid` = `networks`.`id` AND `networks`.`use_radius` = 1
ORDER BY `UserName`, `Attribute`;

P.S. Работу с радиусом не проверял, но должно работать...

 

Ну nightfly з jcomm грозяться переробити взаємодію з радіусом.

Как только будет видно, что это действительно нужно...  ;)

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

 

 

Как только будет видно, что это действительно нужно... 
 

То linux ISG та аксель через радіус працюють, доволі цікаві речі.

Ще хотілось би акаунтінг щоб нормально працював, а то без нетфлоу нема статистики.

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

 

 

Как только будет видно, что это действительно нужно... ;)

а я вообще нипричем, у меня другая, правильная религия - "во имя rscriptd" :P

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)
P.S. Работу с радиусом не проверял, но должно работать...
CREATE OR REPLACE VIEW `radius_check` (`UserName`, `Attribute`, `op`, `Value`) AS
SELECT `users`.`login`, 'Cleartext-Password', ':=', `users`.`Password` FROM `users`
UNION
SELECT `users`.`login`, 'Calling-Station-Id', '==', `nethosts`.`mac` FROM `users`
JOIN `nethosts` ON `users`.`IP` = `nethosts`.`ip`
JOIN `networks` ON `nethosts`.`netid` = `networks`.`id` AND `networks`.`use_radius` = 1
ORDER BY `UserName`, `Attribute`;

Дійсно працює, з додаванням у атрибути мережі Calling-Station-Id == {MAC}

root@bsd:/usr/local/etc/raddb/sql/mysql # echo "User-Name=citystr1ap1_ldeg,User-Password=7ypr0apk,Calling-Station-Id=08:00:27:79:89:53" | radclient -x 127.0.0.1 auth 123
Sending Access-Request of id 156 to 127.0.0.1 port 1812
	User-Name = "citystr1ap1_ldeg"
	User-Password = "7ypr0apk"
	Calling-Station-Id = "08:00:27:79:89:53"
rad_recv: Access-Reject packet from host 127.0.0.1 port 1812, id=156, length=20
root@bsd:/usr/local/etc/raddb/sql/mysql # echo "User-Name=citystr1ap1_ldeg,User-Password=7ypr0apk,Calling-Station-Id=08:00:27:79:89:54" | radclient -x 127.0.0.1 auth 123
Sending Access-Request of id 75 to 127.0.0.1 port 1812
	User-Name = "citystr1ap1_ldeg"
	User-Password = "7ypr0apk"
	Calling-Station-Id = "08:00:27:79:89:54"
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=75, length=51
	Calling-Station-Id = "08:00:27:79:89:54"
	Framed-IP-Address = 10.0.0.2
	Framed-IP-Netmask = 255.255.255.255

Ось таке виходить. При валідному маку віддає акцес-акцепт, при невалідному акцес-режект.

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

Ще хотілось би акаунтінг щоб нормально працював, а то без нетфлоу нема статистики.

Экспортом netflow занимался mpd5. И последний замечательно справлялся с этой задачей. А вот что там с accel-ppp и Linux ISG не знаю... 

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

 

 

Экспортом netflow занимался mpd5. И последний замечательно справлялся с этой задачей. А вот что там с accel-ppp и Linux ISG не знаю.

Не добре він з цим справляється.

В мене була велика тема щодо глюків системи. Після відключення нетфлоу на мпд - в НАСа пішли аптайми нормальні, а не неділья, або ще гірше 2-5 днів. 

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

 

 

А вот что там с accel-ppp и Linux ISG не знаю...

Сколько помню у них там есть свой ядерный модуль експорта - типа ng_flow. Вроде ок.

 

 

 

Ось таке виходить. При валідному маку віддає акцес-акцепт, при невалідному акцес-режект.

Правда ніфіга не розумію яка практична цінність в авторизації юзера по login+password+mac. Нє, ну ясно - додаткове секуріті і всьо таке.

Але блін... зручність такого рішення для фінального юзера це ж жесть. Тобто поверху в кращому разі UHW, додається ще "ой у мене 691 помилка" і інший букет чисто РРР проблем.

Раз вже знаєте маки юзерів - не простіше роздати пачкою їм айпішок і забути?

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

 

 

Правда ніфіга не розумію яка практична цінність в авторизації юзера по login+password+mac. Нє, ну ясно - додаткове секуріті і всьо таке. Але блін... зручність такого рішення для фінального юзера це ж жесть. Тобто поверху в кращому разі UHW, додається ще "ой у мене 691 помилка" і інший букет чисто РРР проблем. Раз вже знаєте маки юзерів - не простіше роздати пачкою їм айпішок і забути?
 

 

Не простіше. Є одна організація - в них через іншого прова л2 канал до внутрішніх ресурсів.

Їм простіше підіймати тунель і вікдючати його, коли інтернет не потрібен.

Для звичайних юзерів є дхцп, і там усе простіше.

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

 

Ще хотілось би акаунтінг щоб нормально працював, а то без нетфлоу нема статистики.

Экспортом netflow занимался mpd5. И последний замечательно справлялся с этой задачей. А вот что там с accel-ppp и Linux ISG не знаю... 

 

там без нетфлов

Radius Accounting Start Stop ALive

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

 

 

А вот что там с accel-ppp и Linux ISG не знаю...

Сколько помню у них там есть свой ядерный модуль експорта - типа ng_flow. Вроде ок.

 

В лінуксі є модуль ядрений до фаєрвола який нетфлов експортує. Працює непогано.

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

 

 

Не простіше. Є одна організація - в них через іншого прова л2 канал до внутрішніх ресурсів. Їм простіше підіймати тунель і вікдючати його, коли інтернет не потрібен.

как всьо сложно <_<

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

 

Не простіше. Є одна організація - в них через іншого прова л2 канал до внутрішніх ресурсів. Їм простіше підіймати тунель і вікдючати його, коли інтернет не потрібен.

как всьо сложно <_<

 

Я тут ніпрічьом, шо сказали зробити - те зробив. Вони просто нахабні, сидять під чужими логінами і грошенята не платять, тому потрібні такі збочення  :mellow:

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

 

 

Не простіше. Є одна організація - в них через іншого прова л2 канал до внутрішніх ресурсів. Їм простіше підіймати тунель і вікдючати його, коли інтернет не потрібен.

как всьо сложно <_<

 

Я тут ніпрічьом, шо сказали зробити - те зробив. Вони просто нахабні, сидять під чужими логінами і грошенята не платять, тому потрібні такі збочення  :mellow:

 

В котрий раз переконуюсь, що мені пора заминати з розвитком біллінгу та починати барижити монтіровками. :D

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

 

 

 

Не простіше. Є одна організація - в них через іншого прова л2 канал до внутрішніх ресурсів. Їм простіше підіймати тунель і вікдючати його, коли інтернет не потрібен.

как всьо сложно <_<

 

Я тут ніпрічьом, шо сказали зробити - те зробив. Вони просто нахабні, сидять під чужими логінами і грошенята не платять, тому потрібні такі збочення  :mellow:

 

В котрий раз переконуюсь, що мені пора заминати з розвитком біллінгу та починати барижити монтіровками. :D

 

Непогана думка, мені з десяток треба, на конкурентів і "особливих" юзерів ;)

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

Не добре він з цим справляється.

В мене була велика тема щодо глюків системи. Після відключення нетфлоу на мпд - в НАСа пішли аптайми нормальні, а не неділья, або ще гірше 2-5 днів. 

Может мне еще и о вашем аптайме переживать? Нет уж, разбирайтесь в чем проблема сами: моя задача связать биллинг, мпд и радиус, а все косяки, которые вылезают в процессе работы этой связки - ваши проблемы...

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

 

 

Может мне еще и о вашем аптайме переживать? Нет уж, разбирайтесь в чем проблема сами: моя задача связать биллинг, мпд и радиус, а все косяки, которые вылезают в процессе работы этой связки - ваши проблемы...
 

Шановний, я вам дуже вдячний за вирішення мого питання з приводу calling-station-id, і ніяк не хочу жалітися, просто кажу, що нетфлоу в мпд не так добре працює, як того хотілося б.

В мене все вирішилося відключенням нетфлоу у мпд, та хай йому грець, мені не критично :)

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

Дєвачкі - нє сорьтєсь ;)

 

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

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

Так, значится обновив убіллінг, до 0.6.1, там же змінилася логіка роботи радіуса, чому я радий.

Тілько вилізла одна неприємна річ, замість 691 помилки, він пропонує ще 2 рази ввести правильний логін і пароль і якщо данні знову не вірні - то віддає 619 помилку.

Можно якось виправити?

Бо радіус колупав, але не знайшов як ото відбувається.

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

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

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

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

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

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

Вхід

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

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

  • Схожий контент

    • Від ppv
      Потрібно було витерти одну мережу, всі абоненти з неї були перенесені в іншу. Але світить що 6 IP зайняті, хоча вона повністю вільна.
       
      ID    Мережа/CID           RВсього IP        Використано IP ▾           Вільно IPСервіс
      6      172.16.70.0/23        506                    6                                       500
       
      Підкажіть як правильно це підчистити щоб видалити мережу.
    • Від sanyadnepr
      Приветствую всех.
      Подскажите пожалуйста где копнуть и нет ли проблемы со стороны протокола взаимодействия сити24 или возможно не учтена необходимая проверка в модуле сити24 в Ubilling, пока писал понял что похоже в проверке payID, но это не точно.  
      Недавно обнаружилось с сити24 начали прилетать дубликаты платежей, в целом платежей мало, два одинаковых запроса Pay с одинаковым transactionID и payID в одну секунду одному платежному ID при этом биллинг "думает" примерно чуть больше минуты и отвечает одним ответом <result>0</result>, сити24 утверждает что ответ они не получили и по протоколу дальше повторяет запросы дублем, биллинг ответ и так по кругу, сити24 спрашивает каким образом с одинаковым payID от сити24 билл продолжает обрабатывать запросы и пополнять абоненту счет раз в 5 минут примерно, на одну и туже сумму, ведь этот payID уже был обработан предполагают сити24 согласно протоколу.
      Конечно есть вопрос к сити24 зачем они дублем присылают два запроса, но они отвечают что эта ситуация учтена в протоколе и проблема на стороне биллинга, потому что он пополняет счет по уже обработанному одинаковому payID.
      При этом transactionID в дублях одинаковый, но с каждым новым дублем разный.
      Если зафаерволить запросы от сити24, но оставить возможность отвечать то после блокировки билл отправляет 2-3 минуты 6 ответов <account>0001</account>  <result>0</result>.
      После снятия блокировки, дубли и платежи нескольких проблемных абонентов прилетают так же по кругу, при этом и с некоторыми новыми пополнениями происходит аналогичная ситуация.
      В openpayz в платежах transactionID и не видно payID.
    • Від nightfly
      Ubilling 1.4.3 rev 9058 The Bladewood Grove
       
      Зміни в структурі БД. alter.ini: нові опції OPHANIMFLOW_ENABLED та OPHANIMFLOW_URLS котрі вмикають та керують інтеграцією з OphanimFlow. alter:ini: нова опція PHOTOSTORAGE_POSTPROCESSING, що вмикає післяобробку зображень при завантаженні в Сховище зображень. alter:ini: нова опція PHOTOSTORAGE_WATERMARK, що вмикає розміщення вотермарки на всіх зображеннях, що завантажуються. alter:ini: нова опція PHOTOSTORAGE_RECOMPRESS, що вмикає зміну компрессії завантажених зображень. alter:ini: нова опція PHOTOSTORAGE_AUTORESIZE, що вмикає автоматичне та лагідне масштабування зображень конячих розмірів. alter:ini: нова опція PHOTOSTORAGE_DRAWIMGINFO, що вмикає вдруковування в зображення відлагоджувальної інформації. alter.ini: нова опція ONDEMAND_CHARTS, що вмикає відкладене завантаження графіків завантаження користувацької смуги. userstats.ini: нова опція OPHANIM_ENABLED, що вмикає інтеграцію OphanimFlow в кабінеті користувача. Модуль Заздрість: тепер авторизаційні дані пристроїв, не відображаються в списку пристроїв. Модуль “Заздрість”: при створенні та редагуванні пристроїв, для полів “пароль” та “enable пароль” тепер використовуються інпути паролів. Модуль “Заздрість”: заздрісним пристроям додано нове поле “Порт”. Тепер в скриптах можна використовувати, відповідний макрос {PORT}. Модуль “Статистика трафіку користувача”: проведено радикальний рефакторинг. Модуль “Статистика трафіку користувача”: додано опційну можливість, відображення трафіку отриманого з OphanimFlow. Модуль “Статистика трафіку користувача”: виправлено проблему невірного відображення залишку коштів на кінець місяця, при використанні Ішимури. Модуль “Статистика трафіку користувача”: додано можливість відображення графіків за останню годину з OphanimFlow. Модуль “Користувачі”: додано опційну можливість, відображення трафіку отриманого з OphanimFlow. Модуль “Сховище зображень”: тепер додатково перевіряє завантажувані зображення на тему їх валідності. Модуль “Фінансові операції”: виправлено відображення суми платежів користувача. Remote API: новий виклик ophanimtraff, який просто бере і синхронізує локальну БД з віддаленими джерелами OphanimFlow. Remote API: виклик userbynum тепер також опційно містить поле з “Платіжним ID” користувача. Глобально: у всіх полях вводу паролів, окрім форми входу, тепер відображається елемент керування “показати/приховати” пароль. Кабінет користувача: в модулі “Трафік” додано опційну можливість, відображення трафіку отриманого з OphanimFlow. Кабінет користувача: в модулі “Трафік” виправлено проблему невірного відображення залишку коштів на кінець місяця, при використанні Ішимури. Кабінет користувача: в модулі “Відеоспостереження” для NVR WolfRecorder замінено розділювач попередньо заповнених даних авторизації. OpenPayz: додано frontend portmonemulti, для отримання платежів від різних контрагентів. Інформацію по контрагентам бере з біллінгу, також використовую розширену інформацію контрагента. Платіжна система в контрагенті мусить бути створена, як PORTMONE 1984tech: додано функціонал генерації RPZ для isc-bind, спасибі @misterromanbush  
      Повний чейнджлог
      Оновлена демка
       

    • Від mac
      Здається, після оновлення PHP 7.4 до PHP 8.2 feesharvester припинив працювати:
       
      /usr/local/bin/curl "http://127.0.0.1/billing/?module=remoteapi&key={SERIAL}&action=feesharvester" <br /> <b>Fatal error</b>: Uncaught TypeError: Unsupported operand types: string - string in {UBPATH}/billing/api/libs/api.fundsflow.php:570 Stack trace: #0 {UBPATH}/billing/modules/remoteapi/feesharvester.php(22): FundsFlow-&gt;harvestFees('2024-01') ...  
      Невеличке розслідування врешті з'ясувало, що це через наявність пробілу у деяких логінах абонентів. Як так сталося? Тому що інколи був неуважно додан трейлінг пробіл до номеру будинка і цей пробіл потрапив до логіну абоненту. Логін абоненту неможливо змінити ніяким чином штатними засобами. Я не розглядаю створення нового абонента для усунення помілки.

      Був обран такий шлях вирішення проблеми. Заміну функції php explode() знайшов у мережі. Мабуть це станеться в нагоді:

       
      diff api.fundsflow.php.bak api.fundsflow.php.new 559c559 < $eachfee = explode(' ', $eachline); --- > $eachfee = preg_split("~(?<!\\\\)(?:\\\\{2})*'[^'\\\\]*(?:\\\\.[^'\\\\]*)*'(*SKIP)(*F)|\s+~s" , $eachline);  
    • Від Dilan
      Собственно ищу кто сделает такую связку с нуля под ключ. Тз высылаю в личку. Заранее спасибо.
×
×
  • Створити нове...