云网牛站
所在位置:首页 > Linux教程 > 在Linux系统下安装及使用Wondershaper来限制网络带宽

在Linux系统下安装及使用Wondershaper来限制网络带宽

2018-10-05 20:30:36作者:Hank Chow稿源:linux中国站

通过安装及使用命令行工具 Wondershaper 能达到对带宽进行限制,这是在 Linux 下最简单、最快捷的带宽优化程序。在 Linux 系统下使用 Wondershaper 来对网络流量进行优化,节约应用程序不必要的带宽消耗,包括软件包管理器(pacman、yum、apt)、web 浏览器、torrent 客户端、下载管理器等,并防止单个或多个用户滥用网络带宽。

请注意,Wondershaper 只能限制本地网络接口的传入和传出流量,而不能限制路由器或调制解调器的接口。换句话说,Wondershaper 只会限制本地系统本身的网络带宽,而不会限制网络中的其它系统。因此 Wondershaper 主要用于限制本地系统中一个或多个网卡的带宽。

wondershaper 是用于显示系统网卡网络带宽的简单脚本。它使用了 iproute 的 tc 命令,但大大简化了操作过程。下面来看一下 Wondershaper 是如何优化网络流量的。

 

在 Linux 系统下安装 Wondershaper

1.使用 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

注:如果你不强求安装最新版本,也可以使用软件包管理器(官方和非官方均可)来进行安装。

2.对于 Arch:wondershaper 在 Arch 用户软件仓库(Arch User Repository,AUR)中可用,所以可以使用类似 yay 这些 AUR 辅助软件在基于 Arch 的系统中安装 wondershaper:

$ yay -S wondershaper-git

3.对于 Debian、Ubuntu 和 Linux Mint 可以使用以下命令安装:

$ sudo apt-get install wondershaper

4.对于 Fedora 可以使用以下命令安装:

$ sudo dnf install wondershaper

5.对于 RHEL、CentOS,只需要启用 EPEL 仓库,就可以使用以下命令安装:

$ sudo yum install epel-release

$ sudo yum install wondershaper

 

自动启动 wondershaper 服务

在每次 Linux 系统启动时都自动启动 wondershaper 服务:

$ sudo systemctl enable wondershaper.service

$ sudo systemctl start wondershaper.service

 

Wondershaper 的使用方法

首先需要找到网络接口的名称,通过以下几个命令都可以查询到网卡的详细信息:

$ ip addr

$ route

$ ifconfig

在确定网卡名称以后,就可以按照以下的命令限制网络带宽:

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

例如,如果网卡名称是 enp0s8,并且需要把上行、下行速率分别限制为 1024 Kbps 和 512 Kbps,就可以执行以下命令:

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

其中参数的含义是:

-a:网卡名称

-d:下行带宽

-u:上行带宽

如果要对网卡解除网络带宽的限制,只需要执行:

$ sudo wondershaper -c -a enp0s8

或者:

$ sudo wondershaper -c enp0s8

如果系统中有多个网卡,为确保稳妥,需要按照上面的方法手动设置每个网卡的上行、下行速率。

如果你是通过 git clone 克隆 GitHub 版本库的方式安装 Wondershaper,那么在 /etc/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"

 

Wondershaper 使用效果

Wondershaper 使用前:

在Linux系统下安装及使用Wondershaper来限制网络带宽

Wondershaper 使用后:

在Linux系统下安装及使用Wondershaper来限制网络带宽

可以看到,使用 Wondershaper 限制网络带宽之后,下行速率与限制之前相比已经大幅下降,从原来的 871KB/S 降到 13.3KB/S,已经达到了带宽限制目的。

 

更多 Wondershaper 信息

执行以下命令可以查看更多相关信息:

$ wondershaper -h

也可以查看 Wondershaper 的用户手册:

$ man wondershaper

 

结语

根据测试,Wondershaper 按照上面的使用方法可以有很好的效果。你也可以试用并自行摸索一下,或许会有意想不到的优化效果。

 

相关主题

Linux网络带宽监控常用命令介绍

精选文章
热门文章