有没有一种简单的方法来限制用户带宽的使用?

Flu*_*ffy 14 bandwidth

有没有一种简单的方法可以将用户带宽使用限制为 10kpbs?其他用户不应该受到影响。我发现的最好的是 tc,但做这么简单的事情似乎太复杂了。

cup*_*ort 8

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
Run Code Online (Sandbox Code Playgroud)

对于您的 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
Run Code Online (Sandbox Code Playgroud)

仅供参考,即使您不需要 HTB,我也会根据可用选项和您限制的速度推荐它。