×

LibreSpeed——一款可以用于内网测的工具

hqy hqy 发表于2024-12-19 11:11:53 浏览5 评论0

抢沙发发表评论

LibreSpeed是一款快速部署,可以用于测试网速的工具,特别是在局域网环境中,用来测试网络设备带宽是否达标非常好用。代码主要由一组html、js和php构成。下面以Ubuntu下安装为例:


一、安装

  1. 安装配置Ubuntu20.04虚拟机。

  2. 安装Apache和php

sudo apt install apache2 php
  1. 从github下载项目

sudo git clone https://github.com/librespeed/speedtest.git
  1. 配置LibreSpeed

sudo cd speedtestsudo cp -R backend example-singleServer-pretty.html *.js  /vat/www/html/
sudo cd /vat/www/html/
sudo mv example-singleServer-pretty.html index.html
sudo chown -R www-data

二、测试

配置好后,访问http://ip/index.html即可使用。测试一下效果,千兆跑满。
在这里插入图片描述





LibreSpeed 是一个用于测量网络速度的工具,它的特点是简洁、易用,特别是在局域网环境中,用来测试网络设备带宽是否达标非常好用。你可以把它看作speedtest的开源简化版本。

一、docker部署

1.1 默认部署

此方式为官方文档中使用的单机模式standalone,有一个致命缺点:测速结束后网页下方的客户端ip显示的是容器的虚拟ip地址而不是真实的物理机ip

docker run -e MODE=standalone -p 8080:80 -it ghcr.io/librespeed/speedtest

1.2 桥接模式部署

为了解决上述问题,必须启用桥接模式–net=host,同时为避免80端口和宿主机冲突,修改默认网页端口80。

如果想修改测速网页标题,可以加上title的变量。

sudo docker run -e MODE=standalone -e WEBPORT=8999 -e restart=always --net=host ghcr.io/librespeed/speedtest

  • MODE=standalone 独立部署模式,

  • WEBPORT=8999 修改默认网页访问端口为8999

  • restart=always 设置容器随宿主机启动

  • –net=host 使用桥接模式,这样是为了测速后显示客户端ip为真实地址

    详细参数如下

`TITLE` :速度测试的标题。 默认值: `LibreSpeed` `TELEMETRY` :是否启用遥测。 默认值: `false` `ENABLE_ID_OBFUSCATION` :在启用遥测的情况下设置为 true 时,将对测试 ID 进行模糊处理,以避免公开数据库内部顺序 ID。 默认值: `false` `REDACT_IP_ADDRESSES` :在启用遥测的情况下设置为 true 时,将从收集的遥测数据中编辑 IP 地址和主机名,以获得更好的隐私。 默认值: `false` `PASSWORD` :访问统计信息页面的密码。如果未设置,统计信息页面将不允许访问。 `EMAIL` :GDPR 请求的电子邮件地址。启用遥测时必须指定。 `IPINFO_APIKEY` :ipinfo.io 的 API 密钥。可选,但如果您希望提供大量测试,则是必需的 `DISABLE_IPINFO` :如果设置为 true,则不会从 ipinfo.io 获取 ISP 信息和距离。 默认值:值: `false` `DISTANCE` :设置为 false 时 `DISABLE_IPINFO` ,指定如何测量与服务器的距离。可以是 `km` 公里、 `mi` 英里或空字符串,以禁用距离测量。 默认值: `km` `WEBPORT` :允许为包含的 Web 服务器选择自定义端口。 默认值: `80`


测速界面测速界面

二、高级模式

高级模式为机翻,本人没有测试。请尽量看官方文档。

在librespeed的官方文档中,还提供了多点测试模式。这时需要1个以上的后端模式服务器backend和1个前端服务器frontend。

2.1 后端模式backend

在后端模式下,LibreSpeed 仅提供一个没有 UI 的测试点。为此,请将 MODE 环境变量设置为 backend

部署后可以在端口 80 上访问以下后端文件: garbage.phpempty.phpgetIP.php

2.2 前端模式frontend

在前端模式下,LibreSpeed 为客户提供 Web UI 和服务器列表。为此,请执行以下操作:

  • 设置 MODE 环境变量 为frontend

  • 创建一个包含测试点的servers.json文件。语法如下:

    [    {        "name": "Friendly name for Server 1",        "server" :"//server1.mydomain.com/",        "dlURL" :"garbage.php",        "ulURL" :"empty.php",        "pingURL" :"empty.php",        "getIpURL" :"getIP.php"    },    {        "name": "Friendly name for Server 2",        "server" :"https://server2.mydomain.com/",        "dlURL" :"garbage.php",        "ulURL" :"empty.php",        "pingURL" :"empty.php",        "getIpURL" :"getIP.php"    },    ...more servers... ]

  • 注意:如果服务器仅支持HTTP或HTTPS,请在服务器字段中指定协议。如果它同时支持两者,只需使用 // .

  • 容器中的/servers.json要装载到宿主机(此文件末尾的示例)

可以在端口 80 上访问该测试。

下面是此模式下可用的其他环境变量的列表:

  • TITLE :速度测试的标题。默认值: LibreSpeed

  • TELEMETRY :是否启用遥测。默认值: false

  • ENABLE_ID_OBFUSCATION :在启用遥测的情况下设置为 true 时,将对测试 ID 进行模糊处理,以避免公开数据库内部顺序 ID。默认值: false

  • REDACT_IP_ADDRESSES :在启用遥测的情况下设置为 true 时,将从收集的遥测数据中编辑 IP 地址和主机名,以获得更好的隐私。默认值: false

  • PASSWORD :访问统计信息页面的密码。如果未设置,统计信息页面将不允许访问。

  • EMAIL :GDPR 请求的电子邮件地址。启用遥测时必须指定。

  • DISABLE_IPINFO :如果设置为 true,则不会从 ipinfo.io 获取 ISP 信息和距离。默认值:值: false

  • DISTANCE :设置为 false 时 DISABLE_IPINFO ,指定如何测量与服务器的距离。可以是 km 公里、 mi 英里或空字符串,以禁用距离测量。默认值: km

  • WEBPORT :允许为包含的 Web 服务器选择自定义端口。默认值: 80

2.3 双模

在此模式下,LibreSpeed 既可以作为独立服务器运行,也可以连接到其他测试点。为此,请执行以下操作:

  • 设置 MODE 环境变量 为 dual

  • 按照 servers.json 前端模式的说明进行操作

  • The first server entry should be the local server, using the server endpoint address that a client can access.(第一个服务器条目应为本地服务器,使用客户端可以访问的服务器终结点地址。)









在NAS上部署内网测速神器【LibreSpeed】


网络测速软件的使用场景

不知道小伙伴们在日常生活中会不会用到网络测速软件(APP),其实网络测速在我们家庭网络部署中可使用的场景还是非常多的。

不说别的,当我们家里安装好宽带第一件事是不是就需要检测家里的网速“达标”没有?这个时候直接用测速软件一测便知。家里的网络有问题怎么办?我们又可以通过测速软件逐一排除是网线的问题,或者信号问题,还是路由器的问题。还有喜欢打游戏的,还可以使用测速软件方便测出当前网络的延迟以及丢包率。



像我这样的折腾玩家,没事就喜欢自己重新布线组网,特别是有了交换机和NAS之后,再玩一些链路聚合或者外网访问什么的,使用测速软件可以很快的知道我的组网到底有没有问题,非常的方便!

目前来说,测速软件还是在手机上使用居多。常见的有国外鼎鼎大名的Speedtest(Ookla 版),国内华为的花瓣测速等,都非常的不错,而我今天教大家,怎么再自己的NAS上,使用Docker 来部署一款网络测速软件LibreSpeed,相比在手机上使用的测速APP,我们可以在任何支持浏览器的设备(手机,电脑,平板等)上打开便能测速,特别是在局域网环境中,用来测试家里的网络状况非常方便!

LibreSpeed的部署与玩法

首先我需要说明的是,今天介绍的这款网络测速神器【LibreSpeed】是通过Docker的方式部署在自己的NAS中的,所以只要你的NAS支持Docker 功能,都可以按照今天的教程部署成功。

装备介绍:



此次使用的NAS还是我的得力干将威联通TS-464C,作为目前威联通四盘位NAS,它的处理器采用了Intel 高性能四核X86处理器N5095,再加上双2.5GbE口,NVMe双M.2插槽的旗舰配置,也为我可以随心所欲折腾Docker提供了基本保障!



此次使用的路由器为华硕的 RT-AX86U Pro,搭载博通四核2.0GHz处理器,配备1GB RAM内存和256MB储存,支持2.4GHz/5GHz/2.4G+5GHz无线,双频并发传输速率高达5700Mbps(2.4GHz 861Mbps、5GHz 4804Mbps),最主要的是自带一个2.5G端口,搭配威联通NAS的2.5GbE口,有线连接传输速率高达2.5Gb/s。

LibreSpeed简介



LibreSpeed是一个非常轻量级的内网(局域网)测速软件,它测出来的数据包括延迟、抖动、上下行带宽,

。它主要由一组html、js和php构成,可以快速部署在支持的平台上,比如说我们今天演示的NAS中。

由于LibreSpeed是一款基于网络的工具,所以它的测试结果会受任何网络波动的影响,从而导致测试结果不一定很准确。简单来说,LibreSpeed测速结果仅供参考。

LibreSpeed部署

SSH命令部署

通过SSH工具(Putty,XShell,FinalShell等)连接到NAS之后,直接运行以下命令即可:

docker run -d \
--name=librespeed \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Hong_Kong \
-p 自定义端口:80 \
-v 本地主机(NAS)实际路径:/config \
--restart always \
linuxserver/librespeed" class=" external" target="_blank" rel="nofollow noreferrer" data-za-detail-view-id="1043" style="text-decoration-line: none; border-bottom: 1px solid rgb(129, 133, 143); cursor: pointer;">ghcr.io/linuxserver/lib

命令中的“自定义端口”改成任意端口即可,不要和本地其它容器端口重复,不能是80以及443端口。“本地主机(NAS)实际路径”需要指定一个实际路径用来存放配置文件(config),需要提前新建一个共享文件夹即可。

威联通ContainerStation部署



先用NAS上的File Station在Container文件夹里面新建一个LibreSpeed的文件夹用于存放配置文件(config)。

PS:Container文件夹是威联通自带的Docker容器配置文件存放文件夹,不需要新建。



然后打开Container Station,点击“创建”,搜索栏搜索“linuxserver/librespeed”,出现搜索结果之后点击“安装”



默认映像版本latest,意思是最新版,下一步



这个界面点“高级设置”



新增以下三个环境变量:

  • PUID-->1000

  • PGID-->1000

  • TZ-->Asia/Hong_Kong



网络这里。模式默认NAT,新增一个端口转发:主机端口任意设置一个局域网内没有被占用的端口,容器端口为80。



共享文件夹这里,本机共享文件夹选择前面新建的LibreSpeed文件夹(鼠标点击空白处就能直接选择),后面的挂载路径输入“/config”。全部完成之后点击下面的“创建”按钮。



最后确认一遍,没有问题直接点“确认”即可。



几秒钟的时间便创建完成!点击容器后面的连接直接就可以打开了!

LibreSpeed使用方法

使用起来非常的简单。你想知道任何局域网的设备和路由器路由器之间传输速率,你只需要输入内网设别的任意浏览器输入:【内网IP加+冒号+端口】即可访问。

然后打开页面之后直接点击“Start”按钮就能开始测试。



以上是我电脑端测试的结果。通过结果我们可以得知我电脑和路由器之间的连接速度还是很不错的,不管是中Ping值还是Jitter值都非常的小(这两个数值越小说明网络连接越稳定),而上传和下载基本都接近1000Mbps,说明连接没有缩水(因为我电脑主板的网口是1GbE口)。



我们也可以简单测试威联通NAS和路由器之间的网络情况。我使用的是威联通独家的虚拟浏览器『Browser Station』来进行测试,可以看出那怕是使用的虚拟交换机网络,威联通仍然跑出了接近2.5G网口应有的成绩!

PS:不过有一说一,上图结果是我测了差不多十次取得的最好的成绩,其它时候一般都是在1500--2000Mbps之间。



当然,我们也可以通过手机浏览器打开LibreSpeed界面来测试手机和路由器之间的网络连接情况。通过截图大家应该猜出我使用的是iPhone手机,没错,它其实是iPhone 14手机连接5G WiFi的测试结果。

请大家不要对这个结果意外,虽说iPhone 14支持WiFi6,但是它是不支持160MHz的,简单来说它使用的是残血WiFi6(这个并不是我在这里胡说,很多数码博主通过拆机查询主板上的WiFi芯片得出的结果),所以实际使用下来,iPhone 其实连千兆网络都跑不满!我只能感叹:iPhone作为手机WiFi6的先驱者,国产千元机都快普及WiFi6E了,它竟然多年来一直原地踏步啊!

我的使用场景

就我个人来讲,我搭建LibreSpeed最大的用途是用来测试我家各个房间的WiFi网络状况。我只需要拿着手机在每个房间里多测几遍,就能知道每个房间的网速怎么样,衰减程度如何。如果有信号死角,我可以得出解决方案,到底是移动路由器位置,还是使用Mesh路由器组网增大WiFi信号覆盖。

总结

其实在NAS上部署测速容器本就不是为了数据而来的,因为前面说过,很很容易受到各种网络波动的影响,再加上NAS本身也会有性能损耗。但是用它测试的数据简单的判断网络信号,或者一些链路测试什么的,还是有用的。再加上它本身也是一个占用资源很小的Docker容器,所以部署在NAS上作为家庭测速服务器还是不错的!



打赏

本文链接:https://www.kinber.cn/post/4239.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客