如何在OpenVPN上设置每个用户的stream量限制?

我正在使用OpenVPN设置VPN服务器。 身份validation方法是证书一(客户端和服务器的不同证书)。 VPS每月有1TB的stream量。

我打算每台服务器最多允许4个客户端。 所以我想限制每月使用超过250GB的客户端。

我以为我可能会限制一个IPstream量,但这个想法并不能解决问题 – 客户可以从他们的手机,PC或平板电脑login。

理想情况下,我期望在.ovpn客户端文件中能够控制来自一个客户端的stream量的声明。 但我还没有find它。

如何设置限制? 谢谢。

我晚了一点,但可以使用client-config-dir选项为每个客户端分配一个本地IP地址。 然后,您可以使用Linux的stream量控制 (tc)来限制每个IP的带宽(从而限制每个客户端)。 这对你有用吗?

每个OpenVPN 2.0.x :

–shaper n在TCP / UDP端口上将出站隧道数据的带宽限制为每秒n个字节。 如果要限制双向带宽,请在两端使用此选项。 OpenVPN使用以下algorithm来实现stream量整形:给定每秒n字节的成形速率,在TCP / UDP端口上写入b字节的数据报之后,等待最less(b / n)秒,然后排队写。

需要注意的是,OpenVPN支持同一两个对等体之间的多个隧道,允许您同时构build全速和减less带宽的隧道,在减less的带宽隧道上路由低优先级的数据(如异地备份),以及其他数据通过全速隧道。

另请注意,对于低带宽隧道(每秒不超过1000字节),您应该也可以使用较低的MTU值(见上文),否则数据包延迟将会变大,以至于触发TLS层中的超时以及运行的TCP连接隧道。

OpenVPN允许n在100字节/秒和100兆字节/秒之间。

您可以使用iptables配额匹配扩展(如此示例中所示)来限制特定IP地址的stream量。