2015-12-22 7 views
1

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

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

Причина построить это приложение:

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

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

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

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

  7. Запись платежной истории клиента
  8. расчета Авто банкноты/из-за расчет
  9. аВТОСОРТИРОВКИ из из-за пользователями месяцев

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

Проблема, что я столкнулся:

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

Очки я сам:

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

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

+2

Ваш вопрос является слишком широким для переполнения стека, и я боюсь за anyother сайта в сети SE. Просить нас о ссылке (ресурс за пределами участка) также не по теме. Вы можете попробовать в чате или на другом форуме, таком как Quora, которые лучше подходят для таких тем. – rene

+1

Есть ли у вас опыт работы с WinBox? Если нет, это хорошее место для начала. Если вы можете понять, как выполнить функции, которые вам нужны в WinBox, большинство окон и диалогов в WinBox транслируются непосредственно в консольные команды. Команды консоли/CLI доступны с SSH, как вы предложили, и в принципе, ваше веб-приложение может генерировать эти команды и анализировать ответы. В WinBox есть ссылка «Руководство», которая поможет вам подключиться к онлайн-документации. –

+1

Используйте API RouterOS, так как это самый быстрый, у меня есть клиент, который автоматически войдет в Mikrotik и сделает всевозможные вещи из малины pi. Я просто подключаю его в любую сеть, используя маршрутизатор mikrotik, и он запускается. Я также использовал ssh и telnet, но они оба слишком медленные, поэтому я использую их только в том случае, если мне это нужно, но это автоматизировано, поэтому я просто сижу и жду, пока он закончится. SSH является самым медленным. Проблемы с производительностью могут быть скриптом, но я смог использовать API и, как он. Взгляните на кактусы или zabbix с потоком трафика в RouterOS для данных пропускной способности. –

ответ

1

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

Mikrotik commands wiki

1

На мой взгляд, лучше использовать сервер Radius с базой данных на MySQL. Микротик отлично работает с радиусом. В интерфейсе реализации приложения с базой данных и всем взаимодействии с Микротиком уходит в Радиус. Читайте о FreeRadius, например:

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

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 .: