如何在Linux中用Wondershaper限制網絡帶寬?
譯文【51CTO.com快譯】本教程將幫助你在類似Unix的操作系統中輕松限制網絡帶寬,并限制網絡流量。通過限制網絡帶寬的使用,你可以節省應用程序不必要的帶寬消耗,比如軟件包管理器(pacman、yum和apt)、Web瀏覽器、torrent客戶軟件和下載管理器等,防止網絡中的一個或多個用戶濫用帶寬。
我們在本文中將使用名為Wondershaper的命令行實用程序。相信我,它不像你想的那么難用。它是我用過的在你自己的Linux系統中限制互聯網或本地網絡帶寬使用的最簡單、最快捷的工具之一。
請注意,上述實用程序只能限制進出本地網絡接口的流量,而不能限制進出路由器或調制解調器的接口的流量。換句話說,Wondershaper只限制本地系統本身中的網絡帶寬,而不限制網絡中的其他任何系統。這類實用程序主要用于限制本地系統中一個或多個網絡適配器的帶寬。
不妨看看如何使用Wondershaper來限制網絡流量。
使用Wondershaper限制Linux中的網絡帶寬
Wondershaper是用于限制系統網絡適配器帶寬的簡單腳本。它限制了帶寬IP路由(iproute)的tc命令,但大大簡化了它的操作。
安裝Wondershaper
想裝***版本,輸入命令git clone wondershaoer repository:
- $ 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中找到,因此你可以使用AUR幫助程序(比如Yay)將其安裝在基于Arch的系統中。
- $ 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
用法
首先,找到網絡接口的名稱。以下是查找網卡詳細信息的幾個常用方法。
- $ 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
如果你的系統中有多個網卡,需要為每個網卡手動設置下載/上傳速率,如上所述。
如果你通過克隆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前的示例:
圖1:啟用Wondershaper前
啟用Wondershaper后:
圖2:啟用Wondershaper后
如你所見,在我的Ubuntu 18.o4 LTS服務器中使用WOndershaper限制帶寬后,下載速率已大大降低。
想了解更多詳細信息,請運行以下命令,查看幫助部分:
- $ wondershaper -h
或者查閱參考手冊頁。
- $ man wondershaper
據測試,Wondershaper用起來就跟上面描述的一樣好。試一下,交流使用實用程序的感受。但愿本文對各位有所幫助。
原文標題:How To Limit Network Bandwidth In Linux Using Wondershaper
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】