如何在Linux中用Wondershaper限制網(wǎng)絡(luò)帶寬?
譯文【51CTO.com快譯】本教程將幫助你在類似Unix的操作系統(tǒng)中輕松限制網(wǎng)絡(luò)帶寬,并限制網(wǎng)絡(luò)流量。通過限制網(wǎng)絡(luò)帶寬的使用,你可以節(jié)省應(yīng)用程序不必要的帶寬消耗,比如軟件包管理器(pacman、yum和apt)、Web瀏覽器、torrent客戶軟件和下載管理器等,防止網(wǎng)絡(luò)中的一個或多個用戶濫用帶寬。
我們在本文中將使用名為Wondershaper的命令行實用程序。相信我,它不像你想的那么難用。它是我用過的在你自己的Linux系統(tǒng)中限制互聯(lián)網(wǎng)或本地網(wǎng)絡(luò)帶寬使用的最簡單、最快捷的工具之一。
請注意,上述實用程序只能限制進出本地網(wǎng)絡(luò)接口的流量,而不能限制進出路由器或調(diào)制解調(diào)器的接口的流量。換句話說,Wondershaper只限制本地系統(tǒng)本身中的網(wǎng)絡(luò)帶寬,而不限制網(wǎng)絡(luò)中的其他任何系統(tǒng)。這類實用程序主要用于限制本地系統(tǒng)中一個或多個網(wǎng)絡(luò)適配器的帶寬。
不妨看看如何使用Wondershaper來限制網(wǎng)絡(luò)流量。
使用Wondershaper限制Linux中的網(wǎng)絡(luò)帶寬
Wondershaper是用于限制系統(tǒng)網(wǎng)絡(luò)適配器帶寬的簡單腳本。它限制了帶寬IP路由(iproute)的tc命令,但大大簡化了它的操作。
安裝Wondershaper
想裝***版本,輸入命令git clone wondershaoer repository:
- $ git clone https://github.com/magnific0/wondershaper.git
進入到wondershaper目錄,按如下所示安裝。
- $ cd wondershaper
- $ sudo make install
接著運行以下命令,以便在每次重啟時自動啟動wondershaper服務(wù)。
- $ sudo systemctl enable wondershaper.service
- $ sudo systemctl start wondershaper.service
如果你不介意***版本,還可以使用所用發(fā)行版的軟件包管理器(官方或非官方)進行安裝。
Wondershaper可在AUR中找到,因此你可以使用AUR幫助程序(比如Yay)將其安裝在基于Arch的系統(tǒng)中。
- $ 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服務(wù)。
- $ sudo systemctl enable wondershaper.service
- $ sudo systemctl start wondershaper.service
用法
首先,找到網(wǎng)絡(luò)接口的名稱。以下是查找網(wǎng)卡詳細(xì)信息的幾個常用方法。
- $ ip addr
- $ route
- $ ifconfig
一旦你找到了網(wǎng)卡名稱,就可以限制帶寬速率了,如下所示。
- $ sudo wondershaper -a <adapter> -d <rate> -u <rate>
比如說,如果你的網(wǎng)卡名是enp0s8,你希望將下載和上傳的帶寬限制分別限制于1024 Kbps和512 kbps,命令應(yīng)該是:
- $ sudo wondershaper -a enp0s8 -d 1024 -u 512
其中,
-a:網(wǎng)卡名
-d:下載速率
-u:上傳速度
想取消網(wǎng)絡(luò)適配器的速度限制,只要運行:
- $ sudo wondershaper -c -a enp0s8
或者
- $ sudo wondershaper -c enp0s8
如果你的系統(tǒng)中有多個網(wǎng)卡,需要為每個網(wǎng)卡手動設(shè)置下載/上傳速率,如上所述。
如果你通過克隆GitHub存儲庫安裝了Wondershaper,/etc/conf.d/下有一個名為wondershaper.conf的配置文件。通過修改該文件中的相應(yīng)值(網(wǎng)卡名和下載/上傳速率),就可以確保已設(shè)置了下載或上載速率。
- $ 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服務(wù)器中使用WOndershaper限制帶寬后,下載速率已大大降低。
想了解更多詳細(xì)信息,請運行以下命令,查看幫助部分:
- $ wondershaper -h
或者查閱參考手冊頁。
- $ man wondershaper
據(jù)測試,Wondershaper用起來就跟上面描述的一樣好。試一下,交流使用實用程序的感受。但愿本文對各位有所幫助。
原文標(biāo)題:How To Limit Network Bandwidth In Linux Using Wondershaper
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】