Перейти до

Ubilling + Mikrotik + multigen


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

Добрый день.

Пробую в тестовом режиме связку Ubilling + Mikrotik DHCP + multigen. Добавлен один НАС, заведено 3 абонента. Настроены следующие атрибуты:

JyKaKVm.png

Столкнулся с такой проблемой, после запуска команды '/bin/ubapi "multigen"' в табличке mlg_reply чередуется количество атрибутов.

Первый запуск:

mysql> select * from mlg_reply;
+----+-------------------+-----------------------+----+-----------------+
| id | username          | attribute             | op | value           |
+----+-------------------+-----------------------+----+-----------------+
|  1 | 20:47:da:8f:eb:96 | Session-Timeout       | =  | 7200            |
|  2 | 20:47:da:8f:eb:96 | Framed-IP-Address     | =  | 10.10.10.2      |
|  3 | 20:47:da:8f:eb:96 | Mikrotik-Rate-Limit   | =  | 100000k/100000k |
|  4 | 20:47:da:8f:eb:96 | Mikrotik-Address-List | =  | ALLOW           |
|  5 | 14:88:40:82:80:77 | Mikrotik-Rate-Limit   | =  | 100000k/100000k |
|  6 | 14:88:40:82:80:77 | Framed-Pool           | =  | pool1           |
|  7 | 14:88:40:82:80:77 | Mikrotik-Address-List | =  | DOWN            |
|  8 | 14:88:40:82:80:77 | Session-Timeout       | =  | 120             |
|  9 | 14:88:14:89:88:30 | Session-Timeout       | =  | 7200            |
| 10 | 14:88:14:89:88:30 | Framed-IP-Address     | =  | 10.10.10.4      |
| 11 | 14:88:14:89:88:30 | Mikrotik-Rate-Limit   | =  | 100k/100k       |
| 12 | 14:88:14:89:88:30 | Mikrotik-Address-List | =  | ALLOW           |
+----+-------------------+-----------------------+----+-----------------+

Второй запуск:

mysql> select * from mlg_reply;
+----+-------------------+---------------------+----+-----------------+
| id | username          | attribute           | op | value           |
+----+-------------------+---------------------+----+-----------------+
|  2 | 20:47:da:8f:eb:96 | Framed-IP-Address   | =  | 10.10.10.2      |
|  3 | 20:47:da:8f:eb:96 | Mikrotik-Rate-Limit | =  | 100000k/100000k |
|  5 | 14:88:40:82:80:77 | Mikrotik-Rate-Limit | =  | 100000k/100000k |
|  6 | 14:88:40:82:80:77 | Framed-Pool         | =  | pool1           |
| 10 | 14:88:14:89:88:30 | Framed-IP-Address   | =  | 10.10.10.4      |
| 11 | 14:88:14:89:88:30 | Mikrotik-Rate-Limit | =  | 100k/100k       |
+----+-------------------+---------------------+----+-----------------+

Третий запуск вернет первую табличку, но будут изменены часть id-шников.

При этом в биллинге никаких изменений не делаю.

Что я делаю не так, и как побороть это?

 

Ссылка на сообщение
Поделиться на других сайтах
20 минут назад, mohax_kh_ua сказал:

Что я делаю не так, и как побороть это?

Атрибуты Mikrotik-Address-List и Session-Timeout имеют одинаковое имя. Попробуйте унести их для неактивных юзеров, скажем в сценарий groupreply. Собственно, в рамках одного сценария атрибуты с одинаковым именем сначала создаются для активных пользователей, после чего они же удаляются для неактивных и наоборот.

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

Спасибо за помощь.

Перенести в сценарий groupreply у меня не получилось, атрибуты не отдаются. Я изменил логику, отказался от Mikrotik-Address-List для неактивных пользователей, и Session-Timeout выдаю одинаковый для всех. Так работает на ура!

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, mohax_kh_ua сказал:

Спасибо за помощь.

Перенести в сценарий groupreply у меня не получилось, атрибуты не отдаются. Я изменил логику, отказался от Mikrotik-Address-List для неактивных пользователей, и Session-Timeout выдаю одинаковый для всех. Так работает на ура!

Если использовали пресет нашего конфига для радиуса - должны из групреплай отдаваться.

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

Все ставил четко по мануалу. Но при вот-такой настройке неактивным пользователям ничего из groupreply не отдается.

SCgV7Q2.png

Ссылка на сообщение
Поделиться на других сайтах
18 минут назад, mohax_kh_ua сказал:

Все ставил четко по мануалу. Но при вот-такой настройке неактивным пользователям ничего из groupreply не отдается.

SCgV7Q2.png

мы определенно тестировали фукнционал

по хорошему - надо разобраться почему не работает

Ссылка на сообщение
Поделиться на других сайтах
1 minute ago, l1ght said:

мы определенно тестировали фукнционал

по хорошему - надо разобраться почему не работает

Я готов предоставить любую необходимую информацию!

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, mohax_kh_ua сказал:

Я готов предоставить любую необходимую информацию!

Я так понимаю радиус второй версии.

Починили в карренте груп реплай.

git

Відредаговано l1ght
Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, mohax_kh_ua сказал:

Я готов предоставить любую необходимую информацию!

Пожалуйста предоставьте номер кредитной карточки, ее expire date и три цифры с задней стороны. Это очень необходимо для отладки КучаГена :)

 

Короче с новым dialup.conf все теперь работает и на freeradius2.

 

Конфигурация NAS:

1.png

 

Ответ радиуса для активного абонента:

# radtest 14:88:13:30:62:97 123 127.0.0.1 0 dec0071981b1
Sending Access-Request of id 87 to 127.0.0.1 port 1812
	User-Name = "14:88:13:30:62:97"
	User-Password = "123"
	NAS-IP-Address = 127.0.0.1
	NAS-Port = 0
	Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=87, length=72
	Session-Timeout = 1800
	Framed-IP-Address = 172.17.0.12
	Mikrotik-Rate-Limit = "1024k/5240k"
	Mikrotik-Address-List = "internet_user"

Хопа, он внезапно стал неактивным:

2.png

и опять уже правильный ответ радиуса:

radtest 14:88:13:30:62:97 123 127.0.0.1 0 dec0071981b1
Sending Access-Request of id 233 to 127.0.0.1 port 1812
	User-Name = "14:88:13:30:62:97"
	User-Password = "123"
	NAS-IP-Address = 127.0.0.1
	NAS-Port = 0
	Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=233, length=64
	Mikrotik-Rate-Limit = "1024k/5240k"
	Framed-Pool = "pool1"
	Session-Timeout = 120
	Mikrotik-Address-List = "DOWN"

 

Ссылка на сообщение
Поделиться на других сайтах
17 minutes ago, nightfly said:

Пожалуйста предоставьте номер кредитной карточки, ее expire date и три цифры с задней стороны. Это очень необходимо для отладки КучаГена :)

Могу сфотографировать с 2-х сторон ?

 

Заменил у себя файлик dialup.conf , сейчас и у меня все работает. Еще раз спасибо за помощь!

Ссылка на сообщение
Поделиться на других сайтах
26 минут назад, mohax_kh_ua сказал:

Заменил у себя файлик dialup.conf , сейчас и у меня все работает. Еще раз спасибо за помощь!

Хоба!

hoba.jpg

Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, mohax_kh_ua сказал:

Могу сфотографировать с 2-х сторон ?

 

Заменил у себя файлик dialup.conf , сейчас и у меня все работает. Еще раз спасибо за помощь!


Да знаем мы

 

с двух сторон.png

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

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

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

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

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

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

Вхід

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

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

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

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

    • Від 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
      Собственно ищу кто сделает такую связку с нуля под ключ. Тз высылаю в личку. Заранее спасибо.
    • Від ukrtelekom
      Доброго часу!
      Шукається адміністратор віддалений для разової роботи по коригуванню працюючого Ubilling з мікротами. Якщо стосунки зклєяться- то до постійної додаткової копійки. 
      Всім заздалегідь дякую. Хейти, бажано не писати. Контакти в приватні повідомлення або O73283344O
×
×
  • Створити нове...