回答:
tcは、構成のニーズに対する正しい答えです。
tcはクラスフル(およびそれ以下)のキューイングの弟子を管理し、無限の柔軟性とシェーピングとフィルタリングのレイヤーを提供するため、複雑に見えるかもしれません。
ただし、そうではありません。tcは、カーネルに組み込まれた(またはモジュール式の)キューイングの弟子を利用するため、ユーザーごとに帯域幅を制限する最も簡単/最良の方法です。
サンプルのセットアップを次に示します。Mbit形式のままにしておきますが、レート測定をkbpsに変更できます。
tc qdisc add dev eth0 root handle 1:0 htb
tc class add dev eth0 parent 1:0 classid 1:1 htb rate 1Mbit ceil 1Mbit prio 1
iptablesルールについては、-uid-ownerを制限したいユーザーのuidに変更するだけです。ドキュメントでは、UIDの代わりにユーザー名を使用できますが、テストしていません。
iptables -t mangle -A POSTROUTING -o eth0 -p tcp -m owner --uid-owner 1000 -j CLASSIFY --set-class 1:1
参考までに、HTBは必要ありませんが、使用可能なオプションと制限する速度に基づいてHTBをお勧めします。