通过 Web App 管理 Mikrotik 路由器
Mikrotik Router Management via Web App
我在构建项目时需要帮助。让我先描述一下我的项目-
我想构建一个 Web 应用程序(使用 php / php 框架 (laravel) , html, css, javaScript, bootstrarp ) 这将帮助 ISP 所有者管理他们的路由器(他们中的大多数使用 Mikrotik 路由器)。
构建此应用程序的原因:
这里的大多数 ISP 提供商都使用 Mikrotik 路由器来管理他们的互联网业务。但是使用 Winbox(一种基于桌面的 windows 软件,用于管理 Mikrotik 路由器)管理路由器对他们来说似乎很复杂。只是为了创建新的 ip 来分配新用户,如果 he/she 不支付账单并管理带宽,他们需要在每次他们发现困难时操作 winbox 时阻止用户。我的方法是构建一个 Web 应用程序来简化他们的工作。
我要提供的功能是-
- 正在创建新的 IP 地址并将其分配给用户(互联网用户/最终用户)
- 管理 IP 地址的带宽
- 自动阻止/锁定任何特定 IP 地址(在本例中为任何特定用户),他们在某个月的特定日期还没有支付月度账单
- 在自动支付会费时重新启用被阻止的 IP 地址
显示接收和使用带宽的每日图表
记录客户历史记录(客户IP地址、月租、姓名、地址等)
- 记录客户的付款历史
- 自动账单计算/到期计算
- 自动筛选到期用户
我能够按照描述完成 6 - 9 个功能,但我不知道如何实现 1 - 5 个功能!
我面临的问题:
一个。我不知道如何通过网络应用程序连接到 MikrotiK 路由器
b.如果我如何使用路由器 IP 地址访问 MikrotiK 路由器,我不知道如何在该路由器数据库上创建新的 IP 地址
C。如何通过网络应用程序管理带宽
d.如何阻止/锁定 ip 地址 !
我自己得到的分数:
我认为使用管理 vlan(路由器 IP 地址)我可以使用 ssh/telnet 访问路由器表单命令提示符。之后创建 lock/block 管理 IP 地址带宽的命令是什么?如果所有这些事情都可以使用命令提示符完成,我该如何为我的 Web 应用程序制作它?
任何人都可以帮我解决这个问题,参考任何 link?我用谷歌搜索,但我唯一找到的是 Mikrotik 路由器管理手册!
您应该使用 APIs 或像 ssh/telnet(PHP-SSH2) 这样的远程命令协议。
这是一个您可以使用的 PHP API 项目:
https://github.com/BenMenking/routeros-api
连接后,您可以像在 mikrotik 控制台上一样提交命令。
我认为您最好在 MySQL 上使用带有数据库的 Radius 服务器。 Mikrotik 与 Radius 完美搭配。在应用程序中实现与数据库的接口以及与 Mikrotik 的所有交互都留给了 Radius。阅读有关 FreeRadius 的示例:
几周前,我完成了您要求客户完成的部分工作。你的问题太笼统了,太广泛了,需要几个月的时间才能完成。
从您可以在 http://wiki.mikrotik.com/wiki/API_PHP_class 找到的基础知识开始您的项目,然后您可以扩展您的应用程序并 post 在 Whosebug 或 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();
参考:
我在构建项目时需要帮助。让我先描述一下我的项目-
我想构建一个 Web 应用程序(使用 php / php 框架 (laravel) , html, css, javaScript, bootstrarp ) 这将帮助 ISP 所有者管理他们的路由器(他们中的大多数使用 Mikrotik 路由器)。
构建此应用程序的原因:
这里的大多数 ISP 提供商都使用 Mikrotik 路由器来管理他们的互联网业务。但是使用 Winbox(一种基于桌面的 windows 软件,用于管理 Mikrotik 路由器)管理路由器对他们来说似乎很复杂。只是为了创建新的 ip 来分配新用户,如果 he/she 不支付账单并管理带宽,他们需要在每次他们发现困难时操作 winbox 时阻止用户。我的方法是构建一个 Web 应用程序来简化他们的工作。
我要提供的功能是-
- 正在创建新的 IP 地址并将其分配给用户(互联网用户/最终用户)
- 管理 IP 地址的带宽
- 自动阻止/锁定任何特定 IP 地址(在本例中为任何特定用户),他们在某个月的特定日期还没有支付月度账单
- 在自动支付会费时重新启用被阻止的 IP 地址
显示接收和使用带宽的每日图表
记录客户历史记录(客户IP地址、月租、姓名、地址等)
- 记录客户的付款历史
- 自动账单计算/到期计算
- 自动筛选到期用户
我能够按照描述完成 6 - 9 个功能,但我不知道如何实现 1 - 5 个功能!
我面临的问题:
一个。我不知道如何通过网络应用程序连接到 MikrotiK 路由器 b.如果我如何使用路由器 IP 地址访问 MikrotiK 路由器,我不知道如何在该路由器数据库上创建新的 IP 地址 C。如何通过网络应用程序管理带宽 d.如何阻止/锁定 ip 地址 !
我自己得到的分数:
我认为使用管理 vlan(路由器 IP 地址)我可以使用 ssh/telnet 访问路由器表单命令提示符。之后创建 lock/block 管理 IP 地址带宽的命令是什么?如果所有这些事情都可以使用命令提示符完成,我该如何为我的 Web 应用程序制作它?
任何人都可以帮我解决这个问题,参考任何 link?我用谷歌搜索,但我唯一找到的是 Mikrotik 路由器管理手册!
您应该使用 APIs 或像 ssh/telnet(PHP-SSH2) 这样的远程命令协议。
这是一个您可以使用的 PHP API 项目:
https://github.com/BenMenking/routeros-api
连接后,您可以像在 mikrotik 控制台上一样提交命令。
我认为您最好在 MySQL 上使用带有数据库的 Radius 服务器。 Mikrotik 与 Radius 完美搭配。在应用程序中实现与数据库的接口以及与 Mikrotik 的所有交互都留给了 Radius。阅读有关 FreeRadius 的示例:
几周前,我完成了您要求客户完成的部分工作。你的问题太笼统了,太广泛了,需要几个月的时间才能完成。
从您可以在 http://wiki.mikrotik.com/wiki/API_PHP_class 找到的基础知识开始您的项目,然后您可以扩展您的应用程序并 post 在 Whosebug 或 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();
参考: