Перейти до

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 користувачів

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

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

    • Від 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 та перевірю...
       

    • Від Plastilin
      Вітаю. Маю наступний комплект. Ubilling на Debian + Mikrotik CHR як маршрутизатор. Наче все запустилось, але виникло питання яке не вдається розрулити. Читав Wiki, ковиряв, читав знову Wiki, знову ковиряв - не допомогло.
      Чи можливо якось визначити конкретну IP адресу з пулу який видає Mikrotik клієнту через Radius? Мені пропонує обрати наступну вільну адресу з пулу при спробі зміни адреси?
      З цього з'являється додаткове питання, чи можливо контролювати доступ користувачам у яких IP назначений статично, тобто прописаний вручну? Наприклад при зміні статусу не активний - пхати до Firewall Mikrotik правила заборони доступу з IP адреси визначеної вручну, навіть якщо вона не отримана по DHCP.
       
      UPD: з першою частиною знайшов: IP_CUSTOM=1 в alter.ini 
    • Від 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  
      Повний чейнджлог
      Оновлена демка
       

×
×
  • Створити нове...