
レイテンシと帯域幅を別々に調整する方法はわかっています。帯域幅については、
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 を設定する必要があります。
次に、必要なマングル テーブルを作成します。
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/raspberry-pi を wifi ルーターに変える方法/