Wondershaper是一个小型bash脚本,可以限制Linux中的网络带宽 。 它使用tc命令行程序作为配置流量控制的后端。 它是控制Linux服务器带宽的便捷工具。
它允许您设置最大下载速率和/或最大上载速率。 此外,它还允许您清除已设置的限制,并可以从命令行显示接口的当前状态。 您可以将其作为systemd下的服务持久运行,而不是使用CLI选项。
在本文中,我们将展示如何安装和使用wondershaper来限制Linux系统上的网络带宽。
如何在Linux系统中安装Wondershaper
首先,首先使用您的Linux发行包管理器从默认的指令库中安装wondershaper ,如图所示。
$ sudo apt install wondersharper [On Debian/Ubuntu] $ sudo yum install wondersharper [On CentOS/RHEL] $ sudo dnf install wondersharper [On Fedora 22+]
或者,要提取和安装最新更新,您需要将Wondershaper的GitHub存储库克隆到您的系统,移动到本地存储库并使用以下命令进行安装。 请注意,您应该安装git命令行工具:
$ cd bin $ git clone https://github.com/magnific0/wondershaper.git $ cd wondershaper $ sudo make install
在开始使用wondershaper之前,首先应使用ifconfig或ip命令检查连接到计算机的所有网络接口。
这将帮助您了解要对其进行带宽使用的界面,例如,处于活动状态的无线接口wlp1s0 。
$ ifconfig OR $ ip addr
检查Linux中的网络接口
如何使用Wondershaper限制Linux中的网络带宽
要为接口定义以Kbps为单位的最大下载速率,请使用选项-a
(定义接口)和-d
(定义Kbps)运行以下命令,即下载速率将设置为4Mbps 。
$ wondershaper -a wlp1s0 -d 4048
要为接口设置以Kbps为单位的最大上载速率,请使用-u
选项,如下所示。
$ wondershaper -a wlp1s0 -u 1048
例如,您也可以使用单个命令一次设置下载和上载。
$ wondershaper -a wlp1s0 -d 4048 -u 1048
-s
选项允许您查看接口的当前状态。
$ wondershaper -sa wlp1s0
检查网络接口状态
例如,您还可以使用iPerf - 网络吞吐量工具来测试奇迹记录器带宽的减少。
您可以使用-c
标志清除为接口设置的下载或上载限制。
$ wondershaper -ca wlp1s0
也可以将wondershaper作为服务运行,您可以在其中定义用于在配置文件中整形带宽的参数。 这使得Wondershaper能够在启动时启动并在系统启动时始终限制带宽使用,如下一节所述。
如何在Systemd下持续运行Wondershaper
在此模式下,您需要在位于/etc/conf.d/wondershaper的wondershaper配置文件中设置接口,上载和下载速率。 您可以使用您喜欢的CLI编辑器打开此文件进行编辑,如图所示。
$ sudo vim /etc/conf.d/wondershaper
定义必要的参数如下。
[wondershaper] # Adapter IFACE="wlp1s0" # Download rate in Kbps DSPEED="4048" # Upload rate in Kbps USPEED="512"
保存文件并关闭它。
接下来,使用systemctl命令启动奇迹时间服务,使其在系统引导时自动启动并查看其状态。
$ sudo systemctl start wondershaper $ sudo systemctl enable wondershaper $ sudo systemctl status wondershaper
如果您更改配置文件中参数的值,则需要重新启动wonderservice以使更改生效。
$ sudo systemctl restart wondershaper
要停止奇妙的服务,请使用以下命令。
$ sudo systemctl stop wondershaper
有关更多帮助,请参阅Wondershaper Github存储库: https : //github.com/magnific0/wondershaper
Wondershaper是一种限制Linux系统网络带宽的流量整形器。 尝试一下,并通过下面的反馈表与我们分享您的想法。 如果你知道任何类似的工具,你可以在评论中提到我们 - 我们将不胜感激。