Управление маршрутизатором Mikrotik через веб-приложение


Мне нужна помощь в создании проекта. Позвольте мне сначала описать мой проект -

Я хочу создать веб-приложение (с использованием php/php framework (laravel), html, css, JavaScript, bootstrarp), которое поможет владельцу интернет-провайдера управлять своим маршрутизатором (большинство из них используют маршрутизатор Mikrotik).

Причина для создания этого приложения:

Большинство интернет-провайдеров здесь используют маршрутизатор Mikrotik для управления своим интернет-бизнесом. Но управление маршрутизатором с помощью Winbox (настольное программное обеспечение для Windows то есть сборка для управления маршрутизатором Mikrotik) кажется им сложной. Просто для создания нового ip-адреса для назначения нового пользователя, блокировки пользователя, если он/она не оплачивает счета, и управления пропускной способностью им нужно каждый раз управлять winbox, что им сложно. Мой подход заключается в создании веб-приложения, которое облегчит их работу.

Функции, которые я хочу предоставить, следующие-

  1. Создание нового IP-адреса и адресация его пользователю (пользователю Интернета / конечному пользователю)
  2. Управление пропускной способностью IP-адрес
  3. Автоматически блокировать/блокировать любой конкретный IP-адрес (в данном случае любого конкретного пользователя), который не оплатил свой ежемесячный счет на определенную дату месяца
  4. Повторное включение заблокированного IP-адреса при автоматической оплате их взносов
  5. Отображение ежедневного графика полученной и используемой пропускной способности

  6. Запись истории клиента (IP-адрес клиента, Ежемесячная арендная плата, Имя, адрес и т. Д.)

  7. Запись истории платежей клиента
  8. Авто расчет счета / расчет оплаты
  9. Автоматическая сортировка пользователей по месяцам

Я могу выполнить 6-9 функций, как описано, но я понятия не имею, как реализовать 1-5 функций!

Проблема, с которой я сталкиваюсь :

А. Я не знаю, как подключиться к маршрутизатору MikrotiK через веб-приложение b. Если я могу получить доступ к маршрутизатору MikrotiK с помощью IP-адреса маршрутизатора, я не знаю, как создать новый IP-адрес в базе данных этого маршрутизатора c. как управлять пропускная способность через веб-приложение d. как заблокировать/заблокировать ip-адрес!

Очки, которые я получаю сам :

Я думаю, что с помощью управляющей vlan (Ip-адрес маршрутизатора) я могу получить доступ к этому маршрутизатору с помощью команды promt, используя ssh/telnet. После этого какова будет команда для создания, блокировки/блокирования, управления пропускной способностью IP-адреса? ЕСЛИ все это можно сделать с помощью командной строки, как я могу сделать это для своего веб-приложения?

Может ли кто-нибудь, пожалуйста, помочь мне с этим, сославшись на какую-либо ссылку?? Я погуглил, но единственное, что я нашел, это руководство по управлению маршрутизатором Mikrotik!

Author: Erfan Ahmed Emon, 2015-12-22

3 answers

Я сделал часть того, о чем вы просите клиента, несколько недель назад. Ваш вопрос должен быть широким, очень обширным, на выполнение этой работы уйдут месяцы.

Начните свой проект с базового, который вы можете найти по адресу http://wiki.mikrotik.com/wiki/API_PHP_class , затем вы можете расширить свое приложение и публиковать конкретные вопросы о своих проблемах в таких местах, как stackoverflow или reddit.

Следуйте примеру для подключения к API, затем выполните команды, а затем разъединять.

$API = new RouterosAPI();
$API->debug = true; // turn debug on to learn more about your api
if ($API->connect($server , $username , $passwd, $port)) {

    // wireless registration table
    $API->write('/interface/wireless/registration-table/print',false);
    $API->write('=stats=');
    // print output here

} else {

    // connection fails
}
$API->disconnect();

Ссылка:

 3
Author: B4NZ41, 2016-05-05 08:24:35

Вы должны либо использовать API, либо протоколы удаленных команд, такие как ssh/telnet(PHP-SSH2).
Это PHP API проект, который вы могли бы использовать: https://github.com/BenMenking/routeros-api
После подключения вы можете выполнять команды точно так же, как вы делаете это на консоли mikrotik.

Команды Mikrotik вики

 1
Author: Arash, 2016-03-12 11:22:13

На мой взгляд, вам лучше использовать сервер Radius с базой данных на MySQL. Mikrotik идеально работает с Radius. В приложении реализован интерфейс с базой данных и все взаимодействие с Mikrotik уходит на Radius. Прочитайте о FreeRADIUS, например:

Https://www.howtoforge.com/authentication-authorization-and-accounting-with-freeradius-and-mysql-backend-and-webbased-management-with-daloradius

 1
Author: Igor Gindich, 2016-03-25 09:58:23