接口上所有会话的流量控制

接口上所有会话的流量控制

在连接到 1G 端口的接口上,我想限制所有用户/会话的单独下载速度不超过 20Mbits。我的意思是,如果其中两个用户尝试同时使用带宽,则每个用户都应该能够获得 20Mbits。

我将其用于不同的应用程序。一个是 Openvpn 用户管理。因此,让我们考虑一下界面tun0。似乎在 Ubuntu 服务器机器上,最好的方法是使用tc界面tun0

我尝试像这样设置我的塑造场景:

tc qdisc add dev tun0 root handle 1:0 htb
tc class add dev tun0 parent 1:0 classid 1:1 htb rate 20Mbit ceil 20Mbit prio 1
iptables -t mangle -A POSTROUTING -o tun0 -p tcp -j CLASSIFY --set-class 1:1

输入这些行后,我的调整似乎开始了。当我从用户连接到我的 openvpn 服务器并运行 oakla 速度测试时,我大致获得 20Mbits 的下载速度,如果没有 tc,则可能是 200Mbits。但问题是,当我连接第二个客户端并同时运行速度测试时,似乎 20Mbits 是随机在它们之间共享的。总和始终大约为 20Mbits,但没有一个可以单独达到甚至接近此限制。

我不想限制总金额。我应该限制个人。请帮我找出我做错了哪一部分。我是新手tc

相关内容