Управление маршрутизатором Mikrotik через веб-приложение
Мне нужна помощь в создании проекта. Позвольте мне сначала описать мой проект -
Я хочу создать веб-приложение (с использованием php/php framework (laravel), html, css, JavaScript, bootstrarp), которое поможет владельцу интернет-провайдера управлять своим маршрутизатором (большинство из них используют маршрутизатор Mikrotik).
Причина для создания этого приложения:
Большинство интернет-провайдеров здесь используют маршрутизатор Mikrotik для управления своим интернет-бизнесом. Но управление маршрутизатором с помощью Winbox (настольное программное обеспечение для Windows то есть сборка для управления маршрутизатором Mikrotik) кажется им сложной. Просто для создания нового ip-адреса для назначения нового пользователя, блокировки пользователя, если он/она не оплачивает счета, и управления пропускной способностью им нужно каждый раз управлять winbox, что им сложно. Мой подход заключается в создании веб-приложения, которое облегчит их работу.
Функции, которые я хочу предоставить, следующие-
- Создание нового IP-адреса и адресация его пользователю (пользователю Интернета / конечному пользователю)
- Управление пропускной способностью IP-адрес
- Автоматически блокировать/блокировать любой конкретный IP-адрес (в данном случае любого конкретного пользователя), который не оплатил свой ежемесячный счет на определенную дату месяца
- Повторное включение заблокированного IP-адреса при автоматической оплате их взносов
Отображение ежедневного графика полученной и используемой пропускной способности
Запись истории клиента (IP-адрес клиента, Ежемесячная арендная плата, Имя, адрес и т. Д.)
- Запись истории платежей клиента
- Авто расчет счета / расчет оплаты
- Автоматическая сортировка пользователей по месяцам
Я могу выполнить 6-9 функций, как описано, но я понятия не имею, как реализовать 1-5 функций!
Проблема, с которой я сталкиваюсь :
А. Я не знаю, как подключиться к маршрутизатору MikrotiK через веб-приложение b. Если я могу получить доступ к маршрутизатору MikrotiK с помощью IP-адреса маршрутизатора, я не знаю, как создать новый IP-адрес в базе данных этого маршрутизатора c. как управлять пропускная способность через веб-приложение d. как заблокировать/заблокировать ip-адрес!
Очки, которые я получаю сам :
Я думаю, что с помощью управляющей vlan (Ip-адрес маршрутизатора) я могу получить доступ к этому маршрутизатору с помощью команды promt, используя ssh/telnet. После этого какова будет команда для создания, блокировки/блокирования, управления пропускной способностью IP-адреса? ЕСЛИ все это можно сделать с помощью командной строки, как я могу сделать это для своего веб-приложения?
Может ли кто-нибудь, пожалуйста, помочь мне с этим, сославшись на какую-либо ссылку?? Я погуглил, но единственное, что я нашел, это руководство по управлению маршрутизатором Mikrotik!
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();
Ссылка:
Вы должны либо использовать API, либо протоколы удаленных команд, такие как ssh/telnet(PHP-SSH2).
Это PHP API проект, который вы могли бы использовать:
https://github.com/BenMenking/routeros-api
После подключения вы можете выполнять команды точно так же, как вы делаете это на консоли mikrotik.
На мой взгляд, вам лучше использовать сервер Radius с базой данных на MySQL. Mikrotik идеально работает с Radius. В приложении реализован интерфейс с базой данных и все взаимодействие с Mikrotik уходит на Radius. Прочитайте о FreeRADIUS, например: