Биллинговая система Nodeny
29 Сентября 2024, 02:17:42 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1] 2 3 ... 5
  Печать  
Автор Тема: Mikrotik API  (Прочитано 29886 раз)
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4787



Просмотр профиля
« : 17 Ноября 2013, 11:49:43 »

Расскажите в чем была проблема в Н50 в управлении Микротика по АПИ? По АПИ в принципе тормознуто или неправильно его использовал? Т.е. есть смысл портировать с Н50 и исправить недочеты или писать под ssh?
Записан
elite
Начальник планеты
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1227

In LAN we trust!

358714596
Просмотр профиля
« Ответ #1 : 17 Ноября 2013, 14:22:33 »

может работать через радиус?
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4787



Просмотр профиля
« Ответ #2 : 18 Ноября 2013, 13:04:20 »

т.е. радиус +  CoA - это самое оптимальное решение и всех устроит?
Записан
stek
Пользователь
**

Карма: 0
Offline Offline

Сообщений: 7


Просмотр профиля
« Ответ #3 : 29 Ноября 2013, 22:21:26 »

Модуль управления NAS-ом (Сателлит) должен соответствовать правилам работы с сателлитами этого биллинга и работать как демон, должно контролироваться потребление модулем памяти.
Можно сделать на базе уже существующего.
Требования по доработке:
-ликвидировать главный недостаток модуля в дублировании списков AccessList.
-убрать ошибки модуля при создании записей в разделе Queue
-обьеденить Queue для учетной записи с несколькоими IP для того чтоб пользователь со всеми своими IP ходит в один канал а не на каждый IP отдельная дырка.
-Перенастроить модуль на создание (и обязательно удаление) TreeQueues. Логика, описана вот тут
_ttp://habrahabr.ru/blogs/sysadm/131295/
-поделить списки разрешённых к доступу абонентов по ID тарифов (например, 01_online, 02_online…)
-не обязательно, но желательно. Отдельно вести списки отключённых абонентов (напрпимер, 01_offline, 02_inline…)
-сделать «правильную» синхронизацию с биллингом, когда изменения в Списки и в Очереди вносятся только если происходят изменения в биллинге, а не каждый цикл обхода скриптом списков пользователей. То есть, данные получаются из Тика, сверяются и изменяются только если данные изменились.
-добавить возможность запуска нескольких сателлитов, управляющих разными NAS-ами. Для каждого будет заведена отдельная группа пользователей в биллинге. Обычный скрипт, который просто делает перезапуск исполняемого скрипта второго сателлита каждые N-минут не годится, нужно что бы так же как и задумано изначально, это был отдельный демон.
- в модуле сделать возможность указания версии RouterOS для mikrotik 5-6 так как Queue отличатся поле =target=$ip", и =target-address=$ip",
- В админке добавить возможность добавлять очередной роутер с возможностью указания версии rOS (так как обычно их несколько)
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4787



Просмотр профиля
« Ответ #4 : 30 Ноября 2013, 23:29:43 »

Ой, мамааа, почему вы микротики такие сложные? Нет, спасибо, лучше я тут на Freebsd постою. Это недели 2 работы. Если переводить в оплату, скажем, в соответствии с моей текущей работой, то это 2 тыс. у.е. К сожалению микротик будет отдыхать
« Последнее редактирование: 03 Декабря 2013, 08:12:15 от Efendy » Записан
boomer666
NoDeny
Постоялец
*

Карма: 1
Offline Offline

Сообщений: 194



Просмотр профиля Email
« Ответ #5 : 01 Декабря 2013, 09:32:13 »

мне бы  полезна была поддержка сателлитов из микротика) . 2000$ для одного меня это много

но готов поддержать тех людей кто готов скинутся
Записан
omega
Пользователь
**

Карма: 0
Offline Offline

Сообщений: 47


Просмотр профиля
« Ответ #6 : 01 Декабря 2013, 15:38:09 »

Меня тоже интересует поддержка микротика!

1.Нужно микротик научить DHCP+radius, IPoE
2.Добавить возможность отправки личный сообщений клиентам с требованием прочтения
и возможность использовать заглушку.
3.Использовать адрес лист  не всей базы данных а только обслуживающей группы клиентов.
4.Добавление новых сателлитов из админки, без ковыряния msql.

Разницы на чем будет данный модуль работать API или SSH нет.
PS: Нужно сделать  что бы разницы работы между сателлитом на МТ и freebsd не было. Микротик перспективнее  части компактности и энергопотребления для построения разнесенных сетей в пределах области.

Готов поучаствовать в спонсорстве данной разработки.

Записан
stek
Пользователь
**

Карма: 0
Offline Offline

Сообщений: 7


Просмотр профиля
« Ответ #7 : 04 Декабря 2013, 09:08:14 »

Ой, мамааа, почему вы микротики такие сложные? Нет, спасибо, лучше я тут на Freebsd постою. Это недели 2 работы. Если переводить в оплату, скажем, в соответствии с моей текущей работой, то это 2 тыс. у.е. К сожалению микротик будет отдыхать
зачем тогда вы взялись ПРОДАВАТЬ продукт если тут же говорите, дай тех задание а потом открещиваетесь от него?
Безмерная радость конечно за хорошую зарплату, НО.
Вы дали продукт и подписались его поддерживать.
А в итоге слово не держите.
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4787



Просмотр профиля
« Ответ #8 : 04 Декабря 2013, 10:04:39 »

Т.е. я должен поддерживать все возможные комбинации оборудования и хотелок? Спасибо, когда я стану богом, я займусь чем-нибудь другим, а не NoDeny.

Все, что перечислено - это оверхед логики, а это признак, что будет глючить как поменяется направление ветра или влажность воздуха. Есть куча протоколов, которая четко описывает логику и соблюдая правила, все корректно работает. А микротик... ну 5 лет назад я нашел кучу багов в их перловом апи, написал в форуме, что-то изменилось? Нихуя, похуй им на нюансы, хавайте, что дают типа. Спасибо, я постою с нормальными продуктами
Записан
boomer666
NoDeny
Постоялец
*

Карма: 1
Offline Offline

Сообщений: 194



Просмотр профиля Email
« Ответ #9 : 04 Декабря 2013, 12:02:20 »

не нужно много хотелок сразу.

достаточно сделать чтото похожее как у abills

Записан
stek
Пользователь
**

Карма: 0
Offline Offline

Сообщений: 7


Просмотр профиля
« Ответ #10 : 09 Декабря 2013, 19:02:55 »

Т.е. я должен поддерживать все возможные комбинации оборудования и хотелок? Спасибо, когда я стану богом, я займусь чем-нибудь другим, а не NoDeny.

не нужно хотелки, ребята ну это как то совсем не гут.
сначала ещё в 49й версии вы выбрасывает модуль для микротика.
Затем он изчезает, и за тем у вас народ уже 4 года просит дописать модуль под !ОДИН! микротик.
причём как то старанно получается, тут же вы говорите ставь тех задание и тут же открещиваетесь
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4787



Просмотр профиля
« Ответ #11 : 09 Декабря 2013, 20:20:12 »

Я же объяснял причины. Коротко пройдусь по ним:

- В н49/н50 через АПИ работает нестабильно, хотя я четко следовал документации и предусмотрел синхронизацию состояний.
- Количество требований, учитывающих лажовость АПИ, такое - что мне пока нерационально их делать - работы, я бы даже сказал еботни, много, а результат еще неизвестен.
- Сами создатели микротика не очень-то заинтересованы чтобы их АПИ в частности на перле работало нормально - у них там фатальные ошибки, на которые они забили.
- Опытные люди утверждают, что следует смотреть в сторону управления микротиком через радиус - выдавать скорость через радиус (я это скоро сделаю, как освобожусь чуток). Останется CoA для вырубания сессий.
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4787



Просмотр профиля
« Ответ #12 : 11 Декабря 2013, 17:46:13 »

-убрать ошибки модуля при создании записей в разделе Queue

что за ошибки? если это связано с тем, что очередь создается если она уже создана - это описано еще в Н50, там же сказано почему это сделано - для ускорения все запросы на изменения данных асинхронные, льются потоком. Т.е. не анализируется ответ от микротика успешно ли изменилась очередь или нет. Принят простой алгоритм: создам очередь (если уже создана - ничего страшного, ошибку игнорим), устанавливаем данные очереди. Если это критично (я тестирую и вижу, что вроде нет), то можно помучиться и исправить

-поделить списки разрешённых к доступу абонентов по ID тарифов (например, 01_online, 02_online…)
-не обязательно, но желательно. Отдельно вести списки отключённых абонентов (напрпимер, 01_offline, 02_inline…)
просто заносить/удалять ip из этих списков?

-сделать «правильную» синхронизацию с биллингом, когда изменения в Списки и в Очереди вносятся только если происходят изменения в биллинге, а не каждый цикл обхода скриптом списков пользователей. То есть, данные получаются из Тика, сверяются и изменяются только если данные изменились.
Ну оно так и работало и работает сейчас: получаем списки и пытаемся послать на микротик команды только если есть отличия.

P.S. Понял, почему оно не работало в предыдущей версии, в ответе не обрабатывались суфиксы 'k' и 'M', поэтому считалось, что скорость на микротике не соответствует действительности и постоянно менялась. В Н+ этого бага нет
« Последнее редактирование: 11 Декабря 2013, 18:54:33 от Efendy » Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4787



Просмотр профиля
« Ответ #13 : 12 Декабря 2013, 18:49:54 »

Хочу сказать, что 2й день полет нормальный. Я более чем доволен, отмечу некоторые моменты:

1) биллинг и микротик находятся в разных городах
2) обслуживается реальная сеть с >500  абонов, ~300 абонов авторизованных, динамическое изменение скоростей
3) тестировались перезагрузка микротика, очищение аксесс листов и очередей, блокировка трафика через фаервол - после устранения проблемы все синхронизировалось отлично
4) есть возможность управлять несколькими микротиками, запускалась 2-я копия на управление тем же микротиком и были отключены скрипты по управлению скоростями, в итоге скрипты управления микротиком соревновались кто же докажет микротичку, что у клиента должна быть именно такая скорость. Никто не упал
5) посылка на микротик команды только если данные на нем не соответствуют действительности, для очередей сделал тоже самое, причем без лишней команды add

6) Ну и где, бля, та толпа людей, которая е* мне мозги "дайте модуль микротика"? На кого я потратил 2 дня моего времени?
Записан
omega
Пользователь
**

Карма: 0
Offline Offline

Сообщений: 47


Просмотр профиля
« Ответ #14 : 12 Декабря 2013, 20:41:24 »

А какая авторизация абонентов на новом скрипте, и как он работает через радиус?
Записан
Страниц: [1] 2 3 ... 5
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!