通过RouterOS的Container容器安装Librespeed,部署在RouterOS上,搭建自家带宽测试平台。用于外网和内网的带宽测试,验证带宽是否达到要求。

使用本地镜像文件部署,该版本speedtest,使用go源码编译,不依赖php和apache/nginx。镜像文件提供了两个平台一个是x86,一个是arm64,由于性能问题没有考虑支持arm32或armv7,可以通过/system resouce查看硬件构架是否为arm64

通过百度网盘下载

链接:https://pan.baidu.com/s/1d97xQ2t3hyCa38MOGJHM9g
提取码:rign

已经在RouterOS7.9.1和7.10rc1版本测试运行,平台包括RB5009和CHR

安装流程

1、安装准备

在RouterOS上安装Container要求版本7.4以上,具体安装可以参考官方视频

在system package下确认container包安装成功

 

Container安装包成功后,还需要在device-mode下启用,详细配置可以参考官方视频

[admin@R1] /system/device-mode> update container=yes

配置完成后,会提示断电重启或者使用reset键确认(如果是PVE不能直接shutdown,需要在shell命令行使用qm stop id)

在device-mode查看container是否启用

[admin@R1] > /system/device-mode/print
         mode: enterprise
    container: yes
[admin@R1]

上传speedtest_x86/arm64.tar文件到File存储目录下,具体存放在RouterOS本地存储,还是外部存储器(USB扩展/Nvme),根据设备具体情况确认,使用winbox时,通过文件拖放到File下,也可以使用upload按钮

2、网络配置

进入interface 创建veth接口,用于容器网口分配,规划的IP地址为172.20.0.2/24,设置网关172.20.0.1(IP地址规划根据自己实际情况配置)

点击ok或者apply,创建完成

进入bridge创建一个桥接接口,取名docker

进入bridge port下将veth1加入到docker的桥接下,目的是将容器的网口放入到一个bridge下,如果有多个容器都在一个二层网络中,方便管理

进入IP address添加docker桥接的IP地址,即所有容器的网关,这里设置172.20.0.1/24

3、配置Container

进入container添加一个容器项目,File指定刚才上传的文件speedtest_x86.tar,interface:选择容器的网口为veth1,Cmd:需要指定运行speedtest的路径,Hostname:主机名称随意,Root Dir:需要指定容器存放的路径,指定一个目录disk1,如果是RB或者CCR设备指定到外部存储设备上,不用指定到本地存储,至于x86或者CHR平台,根据自己系统盘分配空间情况,也可以挂载扩展存储。

默认服务端口是:TCP/8989

点击ok或者apply后,等待解压

当状态变为stop后,可以点击start运行

Running出现后如果状态没有改变为stop,表示speedtest运行成功

如果在内网路由正确,可以直接访问172.20.0.2:8989端口,进行带宽测速,如果172.20.0.2不通,可以将bridge port下的veth1接口,删除重新添加一次

RB5009带宽测试的CPU情况(1Gbps):

RB5009带宽测试的CPU情况(2.5Gbps):

hAP ax3 带宽测试的CPU情况(1Gbps):

hAP ax3 带宽测试的CPU情况(2.5Gbps),在upload测试只有1.3Gbps:

4、外网的nat映射

如果需要映射到外网,需要配置nat映射,进入ip friewall nat下配置,如下面的配置是,选择chain链表为dstnat,dst-address设置192.168.99.30表示我的外网地址,Protocol指定tcp协议,dst-port端口设置9999,在action下选择dst-nat,to-addresses为对应的容器IP地址,to-ports就是speedtest http页面的访问端口8989

具体的nat配置就不过多介绍,可以参考routeros入门到精通v6查看nat章节

 

 

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章很值,打赏犒劳作者一下