侧边栏壁纸
  • 累计撰写 4 篇文章
  • 累计创建 2 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Shallow RouterOS API

dubhe
2025-03-22 / 0 评论 / 3 点赞 / 397 阅读 / 0 字

Shallow RouterOS API是基于RouterOS的API接口搭建的一个监控管理平台,主要用于本地网络的RouterOS设备管理,目前具备实时监控功能,其他功能还在开发中。。。

由于个人的开发经验非常的浅薄,所以使用shallow这个名称来定义项目!

当前仅内部测试,如果有任何需求和bug等问题,请发邮件到athlon_sds@163.com

建议:

1、API对接主要适配RouterOS v7,最好是v7.18+

2、在RouterOS的container运行,已经测试在基于RouterOS v7.17+的hAP ax3,RB5009,RB450x4,CHR,x86等硬件

3、在RouterOS的RB、CRS和CCR设备运行时,API获取数据CPU消耗较低,主要是前端页面刷新时CPU消耗较高,如RB450x4(IPQ-4019 arm32 4核心)在刷新页面时CPU消耗在40%左右,只是在停留在仪表盘或设备状态观察数据CPU消耗在7-10%左右

RouterOS配置

Shallow RouterOS API是基于IP连接访问RouterOS,需要在RouterOS的/ip service 下启用api服务

为防止其他IP攻击,可使用available-from属性设置仅允许Shallow RouterOS API的主机访问,如下图shallow部署主机IP是192.168.88.18

部署

建议RouterOS v7.18以上版本

当前提供Docker部署,支持x86,ARM和ARM64三种平台,可以在RouterOS v7和Linux的Docker进行部署;

此处具体说下RouterOS部署,要求RouterOS硬件平台是x86/CHR,ARM64或ARM,具体查看RouterOS硬件平台,可以通过/system/resource下

根据不同平台选择对应的Docker镜像,目前提供x86和arm两种镜像,arm镜像兼容arm/arm64平台

首先将镜像上传到RouterOS file目录下,使用winbox打开file,并通过鼠标拖动到file列表中对应的目录:

以上操作演示使用本地ROM存储Docker镜像,需要注意RB、CRS和CCR硬件产品选择扩展的外部存储,不要使用本地ROM存储部署Docker,这样是避免ROM频繁读写导致损坏,如usb扩展存储

进入interface列表,选择VETH,创建veth1接口用于分配给docker的网络连接

这里设置的IP地址是10.10.0.2/24,网关是10.10.0.1

在bridge创建一个桥接网络,取名docker,用于将veth1加入到桥接

进入bridge port,将veth1加入docker桥接

进入/ip/address配置docker桥接的IP地址为10.10.0.1/24,作为连接docker的网关

以上基本的docker网络配置完成,进入container创建shallow api的容器,

操作:

  • file:选择上传的shallowapiarm.tar

  • interface:选择veth1

  • hostname:设置shallowapi

  • 为方便查看日志,可以勾选logging,

  • 勾选Start On Boot开机启动

  • 点后点击apply,等待解压

解压完成后:

点击start运行,处于running说明已经运行

在RouterOS 的log日志中,可以看到http server started on 6636,http服务运行在tcp 6636端口

如果你的RouterOS作为网关,即可以通过http://10.10.0.2:6636/login访问

Shallow API界面

通过http访问登录页面,http://ip:6636/login

默认账号:admin,密码:123456

登录后进入仪表盘,这里是已经创建的设备列表

进入设备管理,可以添加要管理的RouterOS设备,下面添加使用的是API方式端口8728,如果是RouterOS本地容器部署选择API方式不影响安全,如果是通过局域网或公共网络访问选择API-SSL加密通信

创建完成后,可以点击查看,了解设备的运行详情:

查看历史数据(docker版本当前仅保留72小时数据)

API-SSL连接

API-SSL连接,需要在Shallow API和RouterOS两端添加CA证书,Shallow RouterOS API初次安装会默认生成有效期为5年的自签证书,也可以重新生成一份新的自签证书

下载证书: 点击下载按钮获取证书文件certificate.zip,里面包含server.pem和key.pem,解压后导入RouterOS的certificate下

首先,进入证书页面,可以看到默认证书,点击下载按钮

下载完成后,解压certificate.zip文件

通过鼠标将两份文件拖动到winbox的file列表下

然后可以选择命令导入

[admin@MikroTik] > certificate/

[admin@MikroTik] /certificate> import file-name=server.pem

[admin@MikroTik] /certificate> import file-name=key.pem

在winbox的system/certificates下可以看到成功导入证书确认前缀是KAT

进入ip service选择对应的证书

Shallow RouterOS API添加设备

3
博主关闭了所有页面的评论