如何使用Wondershaper限制Linux中的网络带宽

时间:2020-03-21 11:44:42  来源:igfitidea点击:

本教程将轻松限制网络带宽并在Linux和UNIX操作系统中塑造网络流量。
通过限制网络带宽使用,我们可以通过应用程序保存不必要的带宽消耗,例如包管理器(Pacman,Yum,Apt),Web浏览器,Torrent客户端,下载管理器。
限制带宽还可以防止网络中的单个或者多个用户的带宽滥用。
向Wondershaper说Hello,一个简单的脚本,以限制系统网络适配器的带宽。
它使用IPRUTE的TC命令限制带宽,但大大简化了其操作。
Wondershaper是我遇到的最简单和最快的解决方案,以限制互联网或者本地网络带宽使用情况。

请注意,Wondershaper只能限制本地网络接口的传入和传出流量,而不是路由器或者调制解调器的接口。
换句话说,Wondershaper只会限制本地系统本身的网络带宽,而不是网络中的任何其他系统。
此实用程序主要用于限制本地系统中的一个或者多个网络适配器的带宽。
让我们了解如何使用Wondershaper来塑造网络流量。

在Linux中安装Wondershaper

要安装最新版本,git clone wondershaper存储库:

$git clone  https://github.com/magnific0/wondershaper.git

转到Wondershaper目录并将其安装如下

$cd wondershaper
$sudo make install

并且,运行以下命令在每次重新启动时自动启动Wondershaper服务。

$sudo systemctl enable wondershaper.service
$sudo systemctl start wondershaper.service

我们还可以使用发行版包管理器(官方或者非官方)安装。

Wondershaper在AUR中提供,因此我们可以使用Yay等Aur Helper程序在基于ARC的系统中安装它。

$yay -S wondershaper-git

在Debian,Ubuntu,Linux Mint:

$sudo apt-get install wondershaper

关于Fedora:

$sudo dnf install wondershaper

在Rhel,CentOS,启用EPEL存储库并安装Wondershaper,如下所示。

$sudo yum install epel-release
$sudo yum install wondershaper

最后,在每次重新启动时都会自动启动Wondershaper服务。

$sudo systemctl enable wondershaper.service
$sudo systemctl start wondershaper.service

使用Wondershaper限制Linux中的网络带宽

首先,找到网络接口的名称。
以下是找到网卡细节的一些常用方法。

$ip addr
$route
$ifconfig

找到网卡名称后,我们可以限制带宽速率,如下所示。

$sudo wondershaper -a <adapter> -d <rate> -u <rate>

例如,如果网卡名称是ENP0S8,并且我们希望将带宽限制为下载和512 Kbps的带宽和上传512 Kbps,则该命令将是:

$sudo wondershaper -a enp0s8 -d 1024 -u 512

其中:

  • -a:网卡名称
  • -D:下载速率
  • -u:上传率

要清除网络适配器的限制,简单运行:

$sudo wondershaper -c -a enp0s8

或者

$sudo wondershaper -c enp0s8

在此情况下,系统中有多个网卡可用,我们需要手动设置每个网络接口卡的下载/上传率,如上所述。

如果通过克隆其GitHub存储库安装了Wondershaper,则ISTC/Conf.d/位置存在名为wondershaper.conf的配置文件。
确保通过修改此文件中的相应值(网卡名称,下载/上传率)来设置下载或者上传率。

$sudo nano /etc/conf.d/wondershaper.conf
[wondershaper]
# Adapter
#IFACE="eth0"
# Download rate in Kbps
#DSPEED="2048"
# Upload rate in Kbps
#USPEED="512"

如我们所见,在使用Ubuntu 18.04 LTS服务器中使用Wondershaper限制带宽后,下载速率已得到大量减少。

有关更多详细信息,通过运行以下命令查看"帮助"部分:

$wondershaper -h

或者,请参阅手册页。

$man wondershaper