Управление маршрутизатором 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 через веб-приложение
б. Если каким-то образом я могу получить доступ к маршрутизатору MikrotiK с помощью IP-адреса маршрутизатора, я не знаю, как создать новый IP-адрес в этой базе данных маршрутизатора.
с. как управлять пропускной способностью через веб-приложение
д. Как заблокировать / заблокировать IP-адрес!

Очки я получаю сам:

Я думаю, используя управление VLAN (IP-адрес маршрутизатора), я могу получить доступ к этой командной строке формы маршрутизатора, используя SSH / Telnet. После чего будет команда для создания, блокировки / блокировки, управления пропускной способностью IP-адреса? Если все это можно сделать с помощью командной строки, как я могу сделать это для своего веб-приложения?

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

2

Решение

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

Начните свой проект с базового, который вы можете найти на 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();

Ref .:

3

Другие решения

Вы должны использовать API или протоколы удаленных команд, такие как ssh / telnet (PHP-SSH2).

Это PHP API проект, который вы могли бы использовать:
https://github.com/BenMenking/routeros-api

После подключения вы можете совершать команды так же, как вы делаете это на консоли mikrotik.

Mikrotik команд вики

1

На мой взгляд, вам лучше использовать сервер 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
По вопросам рекламы [email protected]