
我知道如何分別調整延遲和頻寬。對於頻寬,我可以做
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/