Answers:
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,我也会根据可用选项和您限制的速度推荐它。