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

系统 Linux
以下内容将向你介绍如何轻松对网络带宽做出限制,并在类 Unix 操作系统中对网络流量进行优化。

[[245407]]

 以下内容将向你介绍如何轻松对网络带宽做出限制,并在类 Unix 操作系统中对网络流量进行优化。通过限制网络带宽,可以节省应用程序不必要的带宽消耗,包括软件包管理器(pacman、yum、apt)、web 浏览器、torrent 客户端、下载管理器等,并防止单个或多个用户滥用网络带宽。在本文当中,将会介绍 Wondershaper 这一个实用的命令行程序,这是我认为限制 Linux 系统 Internet 或本地网络带宽的最简单、最快捷的方式之一。

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

下面来看一下 Wondershaper 是如何优化网络流量的。

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

wondershaper 是用于显示系统网卡网络带宽的简单脚本。它使用了 iproute 的 tc 命令,但大大简化了操作过程。

安装 Wondershaper

使用 git clone 克隆 Wondershaper 的版本库就可以安装***版本:

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

按照以下命令进入 wondershaper 目录并安装:

  1. $ cd wondershaper
  2. $ sudo make install

然后执行以下命令,可以让 wondershaper 在每次系统启动时都自动开始服务:

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

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

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

  1. $ yay -S wondershaper-git

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

  1. $ sudo apt-get install wondershaper

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

  1. $ sudo dnf install wondershaper

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

  1. $ sudo yum install epel-release
  2. $ sudo yum install wondershaper

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

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

用法

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

  1. $ ip addr
  2. $ route
  3. $ ifconfig

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

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

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

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

其中参数的含义是:

  • -a:网卡名称
  • -d:下行带宽
  • -u:上行带宽

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

  1. $ sudo wondershaper -c -a enp0s8

或者:

  1. $ sudo wondershaper -c enp0s8

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

如果你是通过 git clone 克隆 GitHub 版本库的方式安装 Wondershaper,那么在 /etc/conf.d/ 目录中会存在一个名为 wondershaper.conf 的配置文件,修改这个配置文件中的相应值(包括网卡名称、上行速率、下行速率),也可以设置上行或下行速率。

  1. $ sudo nano /etc/conf.d/wondershaper.conf
  2.  
  3. [wondershaper]
  4. # Adapter
  5. #
  6. IFACE="eth0"
  7.  
  8. # Download rate in Kbps
  9. #
  10. DSPEED="2048"
  11.  
  12. # Upload rate in Kbps
  13. #
  14. USPEED="512"

Wondershaper 使用前:

Wondershaper 使用后:

可以看到,使用 Wondershaper 限制网络带宽之后,下行速率与限制之前相比已经大幅下降。

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

  1. $ wondershaper -h

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

  1. $ man wondershaper

根据测试,Wondershaper 按照上面的方式可以有很好的效果。你可以试用一下,然后发表你的看法。

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2018-09-14 08:00:00

LinuxWondershape网络带宽

2018-02-24 14:27:09

Linux命令网络带宽

2019-07-04 08:31:04

Linux监控网络

2009-12-17 17:01:41

2019-08-20 10:57:26

MySQL 网络性能

2017-06-19 17:43:04

网络带宽网络设计

2018-11-09 08:12:53

网络带宽传输

2009-12-14 16:26:50

动态路由协议

2009-06-10 13:42:20

东华软件流量分析网络管理

2009-02-20 10:18:00

路由智能QoS网络管理

2009-12-25 14:31:45

EPON光纤接入技术

2011-06-29 10:35:27

带宽网络

2021-08-09 11:36:53

Linux网络带宽命令

2014-04-09 16:52:24

NetHogs网络带宽开源监控

2015-09-29 10:36:35

2017-03-02 11:59:03

数据中心网络带宽极限

2009-08-03 16:38:40

2018-11-06 10:08:34

无线AP网络带宽无线网络

2017-11-15 10:22:58

数据中心网络线速

2009-11-11 16:13:19

路由器协议
点赞
收藏

51CTO技术栈公众号