相关疑难解决方法(0)

使用 TC 限制/节流每个用户的 OpenVPN 带宽

我有一组用户通过OpenVPN TCP 和 UDP(2 个服务)连接到我的服务器。这两种服务在运行tun0tun1

我希望能够使用 TC 命令将每个用户的带宽限制为 5mb/s 上升和 5mb/s 下降。

这很容易用 PPTP 实现,因为每个用户都有自己的界面,所以我可以为该界面创建一个新的类/过滤器,使用以下内容将其限制为我想要的速度限制:

IF=<taken from up script, i.e. ppp1>
tc qdisc del dev $IF root
tc qdisc add dev $IF root handle 1: cbq avpkt 1000 bandwidth 100mbit
tc class add dev $IF parent 1: classid 1:1 cbq rate 10mbit allot 1500 prio 5 bounded isolated
tc filter add dev $IF parent 1: protocol ip prio 16 u32 match ip src 0.0.0.0/0 flowid 1:1 …
Run Code Online (Sandbox Code Playgroud)

networking ubuntu vpn openvpn

8
推荐指数
1
解决办法
7703
查看次数

如何使用每个 OpenVPN 客户端的 TC 进行流量整形(速率限制)

这个问题涉及到另外一个问题很大的答案,脚本@Oliver

目标:我想修改/扩展此答案中提供脚本 以满足我的要求,如下所示:

  1. 我有大量客户(最多 1000 个)。应根据其 CN(通用名称)为每个客户端分配一个订阅类别和相应的最大数据速率。这些速率限制应在客户端连接时应用,并在断开连接时移除:

    • bronze: 1 兆位
    • silver: 10 兆比特
    • gold: 100 兆比特
  2. 我想在客户端连接到 OpenVPN 服务器时动态调整每个客户端的订阅类和相应的活动数据速率限制。客户端不必重新连接到 OpenVPN 服务器。这是可能的,还是我们必须断开每个客户端并将其重新连接到 OpenVPN 以导致再次调用脚本来更改tc配置?

  3. 不是tc使用 shell 手动修改配置,我们如何从另一台计算机或应用程序(即通过 PHP)动态更新客户端订阅类和相应的活动数据速率限制?

非常感谢

bandwidth openvpn tc rate-limiting

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

openvpn ×2

bandwidth ×1

networking ×1

rate-limiting ×1

tc ×1

ubuntu ×1

vpn ×1