wondershaper 實際上是一個 shell 腳本,它使用 tc 來定義流量調整命令,使用 QoS 來處理特定的網絡接口。外發流量通過放在不同優先級的隊列中,達到限制傳出流量速率的目的;而傳入流量通過丟包的方式來達到速率限制的目的。
事實上, wondershaper 的既定目標不僅僅是對一個接口增加其帶寬上限;當批量下載或上傳正在進行時,wondershaper 還試圖去保持互動性會話如 SSH 的低延遲。同樣的,它還會控制批量上傳(例如, Dropbox 的同步)不會使得下載“窒息”,反之亦然。
在 Ubuntu Debian 及其衍生發行版中安裝 wondershaper:
sudo apt-get install wondershaper
在 Fdora 或 CentOS/RHEL (帶有 EPEL 軟件倉庫) 中安裝 wondershaper:
sudo yum install wondershaper
wondershaper 的基本使用如下:
sudo wondershaper <interface> <download-rate> <upload-rate>
舉個例子, 將 eth0
的最大下載/上傳帶寬分別設定為 1000Kbit/s 和 500Kbit/s:
sudo wondershaper eth0 1000 500
你也可以通過運行下面的命令將速率限制進行消除:
sudo wondershaper clear eth0
假如你對 wondershaper 的運行原理感興趣,你可以閱讀其 shell 腳本源文件(/sbin/wondershaper)。
PS:
http://www.linuxidc.com/Linux/2015-03/115538.htm