Перейти до

UBilling + NAS Mikrotik по API


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

Добрый день!

С недавних пор в сети стал необходим биллинг. Нашел UBilling, установил.

Такой вопрос: может ли UBilling взаимодействовать с микротиком не по радиусу, а по api?

Сеть имеет следующий принцип: выдача ip клиентам производится с помощью dhcp relay + option 82, так же есть dhcp snooping. В итоге на один порт коммутатора может выдаваться один строго определенный в конфиге isc-dhcp-server на отдельном сервере с debian IP-адрес.

Далее по дефолтному маршруту клиент попадает на шлюз сегмента, а потом на NAS на RouterOS х86.

На NAS шейпинг и воогще разрешение доступа в интернет производится с помощью адррес листов, фаерволла и queue tree. Вкратце:

1. Есть 3 аддрес-листа - T1 T2 T3 на каждый из тарифов.

2. Для всех IP, не входящих в эти адрес листы, доступ блокируется.

3. Для IP входящих в листы, шейпинг производится с помощью QT согласно тарифу.

На данный момент добавление, отключение и включение пользователей производится вручную (благо сеть небольшая, студенческая). То есть так:

 - новый юзер = добавим его ip в соответствующий аддрес-лист;

 - отключим за неуплату = в адрес листе деактивируем его адрес;

 - заплатил = снова активируем адрес.

 - смена тарифа = переносим ip в другой адрес лист.

Более менее разбираюсь с Mikrotik API, поэтому сам вопрос: может ли UBilling управлять микротиком по api? Т.е.:

 - новый юзер = Ubilling добавляет его IP в соответствующий аддрес-лист на микротике по API;

 - кончились деньги на счету = с помощью API ищем юзера и деактивируем запись;

 - заплатил = так же ищем юзера и активируем запись.

 - смена тарифа = Ищем юзера и меняем ему аддрес лист.

И если UBilling это умеет, то где писать скрипты для API?

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

Відредаговано Arey-kms
Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)
  В 21.01.2016 в 05:21, diman321 сказав:

API умеет, про это написано в документации.

 

queue tree не умеет, только simple

 

NASом управляет Stargazer, скрипты /etc/stargazer/On*

По инструкции перенес скрипты в /etc/stargazer

Открыл скрипт OnConnect (включение пользователя, как я понимаю?) и что-то не понять где там именно обращения по API к микротик и команды этого обращения. До этого с API микротика работал на C# на самописной проге, тем все более менее понятно было. Создаешь объект микротика, логинишься и вперед что-то типа такого:

            mik.Send("/ip/firewall/address-list/add");

            mik.Send("=address="+ CurrentSecret.CallerID);

            mik.Send("=comment="+ CurrentSecret.Address);

            mik.Send("=list=BlockedSecret",true);

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

Изначально в stargazer было так, но в связке у ubilling'ом видимо всё как-то сложенее.

 

Посмотри ещё в /etc/stargazer/system/executer/, может яснее станет. А может кто у меный на форуме появится, подскажет.

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)
  В 21.01.2016 в 06:58, diman321 сказав:

Изначально в stargazer было так, но в связке у ubilling'ом видимо всё как-то сложенее.

То есть, получается, скрипт OnConnect выполняется при запросе клиентом авторизации, как я понял из той ссылки. А чтобы выполнить мою задачу нужно чтобы он запускался при изменении состояния клиента в биллинге на "Акивен", т.е., например, при внесении денег на счет. А скрипт OnDisconnect при переходе клиента в биллинге в состояние неактивности. Или в связке с UBilling они так и работают?

Если нет, есть ли какой-нибудь способ добраться до БД UBilling с другого устройства? Т.е., к примеру, написать программу под Win, которая будет, например, раз в час обращаться в БД UBilling и в соответствии ей вносить через API изменения на микротик. Хотя костыль жестокий, конечно.

 

PS. Можно сделать, чтобы КП был не по адресу http://abc.ab/billing/userstats, а просто http://abc.ad/

Відредаговано Arey-kms
Ссылка на сообщение
Поделиться на других сайтах
  В 21.01.2016 в 10:47, Arey-kms сказав:
То есть, получается, скрипт OnConnect выполняется при запросе клиентом авторизации, как я понял из той ссылки

Херово поняли. Пытайтесь лучше.

 

 

  В 21.01.2016 в 10:47, Arey-kms сказав:
А чтобы выполнить мою задачу нужно чтобы он запускался при изменении состояния клиента в биллинге на "Акивен", т.е., например, при внесении денег на счет.

:facepalm:

 

 

  В 21.01.2016 в 10:47, Arey-kms сказав:
Если нет, есть ли какой-нибудь способ добраться до БД UBilling с другого устройства? Т.е., к примеру, написать программу под Win, которая будет, например, раз в час обращаться в БД UBilling и в соответствии ей вносить через API изменения на микротик. Хотя костыль жестокий, конечно.

Пиздeц у вас фантазия конечно. Даже про смирительную рубашку шутить как-то расхотелось.

 

 

  В 21.01.2016 в 10:47, Arey-kms сказав:
PS. Можно сделать, чтобы КП был не по адресу http://abc.ab/billing/userstats, а просто http://abc.ad/

Можно.

Відредаговано nightfly
Ссылка на сообщение
Поделиться на других сайтах
  Цитата
Если нет, есть ли какой-нибудь способ добраться до БД UBilling с другого устройства? Т.е., к примеру, написать программу под Win, которая будет, например, раз в час обращаться в БД UBilling и в соответствии ей вносить через API изменения на микротик. Хотя костыль жестокий, конечно.

 

Зачем тогда вообще ubilling?  :)

 

  Цитата
PS. Можно сделать, чтобы КП был не по адресу http://abc.ab/billing/userstats, а просто http://abc.ad/

 

 

 

VirtualHost , если апач конечно.

Ссылка на сообщение
Поделиться на других сайтах
  В 21.01.2016 в 11:35, diman321 сказав:
Зачем тогда вообще ubilling? :)

Ну типа... иконки-менюшки красивые, очевидно.

 

  Цитата

 

VirtualHost , если апач конечно.

Т-с-с-с не палите контору, пересрете ж все веселье ;)

 

Еще бы сказали ему, что скрипты инициализации пользователей, делают ровно то же(обожемойктобымогподумать!!111), что и обозначают их имена.

Відредаговано nightfly
Ссылка на сообщение
Поделиться на других сайтах
  В 21.01.2016 в 11:39, nightfly сказав:

 

  В 21.01.2016 в 11:35, diman321 сказав:
Зачем тогда вообще ubilling? :)

Ну типа... иконки-менюшки красивые, очевидно.

 

  Цитата

 

VirtualHost , если апач конечно.

Т-с-с-с не палите контору, пересрете ж все веселье ;)

 

Еще бы сказали ему, что скрипты инициализации пользователей, делают ровно то же(обожемойктобымогподумать!!111), что и обозначают их имена.

 

Собственно поэтому и спрашиваю, что не ясно.

Вся сеть держится на микротиках, вся маршрутизация, авторизация, шейпер и т.д. RouterOS я знаю хорошо, а с FreeBSD до этого не сталкивался, да и с чистым линуткос довольно поверхностно, а сейчас пришлось. Или я не так понимаю, зачем нужны форумы?

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

 

 

  В 21.01.2016 в 10:47, Arey-kms сказав:
PS. Можно сделать, чтобы КП был не по адресу http://abc.ab/billing/userstats, а просто http://abc.ad/

это как раз проще всего, переносишь userstats папку со всем содержимым куда хочешь, в соответствующем файле index.php делаешь перенаправление, для примера как здесь:

http://wiki.ubilling.net.ua/doku.php?id=debtredir

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

То, что я описал в первом сообщении может быть организованно разработчиками биллинга индивидуально за денежку? И сколько примерно будет по цене?

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

Рылся по /billing/docs и нашел 2 пути до пресетов микротика /dosc/presets/MikroTik и /dosc/mikrotik/presets/stargazer. И там, и там есть скрипты On*. В документации сказано, что нужно кипировать в старгазер скрипты из /dosc/presets/MikroTik, а что делают скрипты из второго расположения? Это остались хвосты со времен управления через ssh или как?

Спасибо за разъяснения.

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

 

 

  В 29.01.2016 в 11:20, Arey-kms сказав:
Это остались хвосты со времен управления через ssh или как?

Да.

 

http://wiki.ubilling.net.ua/doku.php?id=microtik

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

Примерно составил техническое задание (за оплату, само собой).

Скрипты, управляющие NAS на Mikrotik v6.23.3 должны делать следующее.

<IP> - IP-адрес клиента из UBilling

<LOGIN> - логин клиента из UBilling

<TARIF> - тариф клиента из UBilling

<NEW_TARIF> - новый тариф клиента из UBilling (при изменении).

Списание АП - ежедневное, но не SpreadFee (просто списывается каждый день фиксированная сумма)

 

1. При добавлении нового клиента

В адрес-лист тарифа добавляется новая запись с IP клиента

В виде команды:

/ip firewall address-list add address=<IP> list=<TARIF> comment=<LOGIN>

 

2. При удалении клиента

Из соответствующего адрес листа удаляется соотвтетсвующий IP.

/ip firewall address-list remove [find address=<IP>]

 

3. При включении клиента (т.е. когда у него, к примеру, была задолжность и он ее погасил), как я понимаю, это OnConnect (?).

Просто включается соответствующий IP в адрес-листах.

/ip firewall address-list enable [find address=<IP>]

 

4. При отключении клиента (деньги кончились)

Выключается соответсвующий IP

/ip firewall address-list disable [find address=<IP>]

 

5. При смене тарифа (если такой вообще есть)

Меняется адрес-лист, в который входит IP

/ip firewall address-list set [find address=<IP>] list=<NEW_TARIF>

 

6. Инструкция, как куда и что кидать, заменять и настраивать, чтоб работало.

 

Вот как-то так.

Сколько будет ориентировочно стоить выполнение всех пунктов? Сколько будет стоить выполнение только пунктов 3, 4 и 6? И возьметесь ли вообще за такое?

 

Спасибо за ответ.

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

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

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

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

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

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

Вхід

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

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

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

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

    • Від Игорь2025
      Требуется ремонт  внешней точки доступа Mikrotik
      Точка доступа RBwAPG-5HacD2HnD
    • Від camchatix
      Добрий день,
      створили запасний NAS із зайвою хромосомою, все працює але коли треба вбити сесію користувача - то у списку NAS серверів лише один (той що основний)
      переназначити швидкість теж не можу
      я так розумію пакети CoA Disconnect, CoA connect, PoD - ідуть на IP адресу старого NAS ?
    • Від fitros
      Вітаю всіх!
      Професійно займаюсь ремонтом зварювальних апаратів, сколювачів, обладнання MikroTik та Ubiquiti. Маю великий досвід і ґрунтовні знання в ремонті та обслуговуванні вказаного обладнання. Звертайтесь із запитаннями — завжди радий допомогти!
       
       
    • Від zababaha
      Всем привет.
      В один прекрасный день отвалился MikroTik RB4011GS+RM. При включении загорается индикация питания и всё. 
      Попытки сбросить до заводских настроек, играться с netisntall в надежде перезалить в него прошивку никак не помогли. Поведение не меняется.
      Пробежался по интернетам в попытках найти авторизованный сервис для диагностики и, если живой, то ремонта - не помогли.
      Несколько лет назад покупал его на ntema, позвонил им, но ребята сказали, что негарантийным ремонтом не занимаются.
       
      Подскажите, плиз, кого-нибудь, кто возьмётся за диагностику и ремонт, если он ремонтопригоден? Цацка не копеечная, сразу в утиль отправлять будет грустно.
       
      З.Ы.: За 15 лет дружбы с тиками у меня этот первый, кто взял - и сдох на ровном месте(
    • Від alexeya
      Контроллер TP-Link OC200 - 2700 грн (є 4 штуки)
      Точка доступа TP-Link EAP245 - 2900 грн
      Mimosa C5x - 5000 грн (є 2 штуки)
      Mikrotik Groove A-52HPn - 1500 грн
       
      Mikrotik Groove A-52HPn вживана без POE-адаптера - 990 грн

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