我一直在研究如何限制用户每月的 TCP 下载和上传配额。总传输限制为 1 TB/月。有 50 个用户,因此我希望将每个用户的最大使用量限制为 20 GB/月。我查了一下 iptables 规则和带宽限制。如果有影响,用户将通过 ssh 客户端进行连接并动态转发其端口。
是否有解决方案可以将每个用户每月的总传输配额设置为 20 GB?也许有一种方法可以为每个人创建一个界面并对其进行限制?或者也许我可以轮询 RX/TX 并在达到限制时停止用户?
更新
这是针对 debian linux 的。我最终偶然发现了 /proc/:pid/net/dev (几乎是偶然的),它显示了进程的总接收/传输字节数。我可以将其与进程用户信息一起使用,以找出每个用户的 sshd 进程网络总使用情况。
更新
显然所有 pid 都显示相同的网络/开发统计数据。
答案1
我认为SDN就是出路,你可以检查一下开放堆栈网络。我没有详细了解设置每个用户的限制。也许您可以为每个用户创建虚拟网卡,然后设置虚拟网卡的限制。