基於IP的流量整形頻寬和時延

基於IP的流量整形頻寬和時延

我知道如何分別調整延遲和頻寬。對於頻寬,我可以做

wondershaper etho0 100 100

對於延遲我可以運行

tc qdisc add dev eth0 root netem delay 200ms

但是,我需要將整形限制為特定的 IP 連接,並且需要同時整形延遲和頻寬。

我怎樣才能做到這一點?

答案1

您可以使用 tc 來調整頻寬,如下所示

此類別將以一定的速度調整某些位址。我們還需要設定一個過濾器,以便任何標記為此類的資料包都通過此規則

tc class add dev eth0 parent 1:1 classid 1:5 htb rate 256kbps ceil 256kbps prio 1
tc filter add dev eth0 parent 1:0 prio 1 handle 5 fw flowid 1:5

一旦設定了該類,您需要設定 iptables 來標記您想要整形的特定資料包。

接下來,建立所需的 mangle 表。

iptables -t mangle -N shaper-out
iptables -t mangle -N shaper-in

iptables -t mangle -I PREROUTING -i eth0 -j shaper-in
iptables -t mangle -I POSTROUTING -o eth0 -j shaper-out

接下來設定我們需要塑造某些 IP 位址的標記。標記5是形狀為256的標記。
iptables -t mangle -A shaper-out -s 10.0.0.5 -j MARK --set-mark 5
iptables -t mangle -A shaper-in -d 10.0.0.5 -j MARK --set-mark 5

這應該會形成 10.0.0.5 到 256kbps。

參考(我的博客)-http://sirlagz.net/2013/01/27/how-to-turn-the-raspberry-pi-into-a-shaping-wifi-router/

相關內容