限制每个用户的总带宽使用

Tim*_*Tim 5 linux bandwidth iptables

我正在运行一个可供广泛用户访问的 Linux 服务器,并且(由于我的上游 Internet 提供商制定了一些政策)我需要将用户可以传输的数据总量限制为某个给定的数量。Linux 盒子是我的供应商的门户。有没有办法做到这一点?

iptables如果有帮助的话,我已经在盒子上安装了一个工作设置,并且我有一些配置 HTB 之类的经验。我过去所做的设置的问题在于,它们将用户限制为特定的比特率(例如 20kbps),而不是更长时间内(例如 100MB/天)的总传输量。

Tim*_*Tim 3

@WerkkreW 让我走上了正轨。我将采用的解决方案是使用鱿鱼及其延迟池功能。

基本概念是在 中设置每个主机(3 类)延迟池squid.conf,然后将每个延迟池设置为我想要允许每个用户每天的最大带宽量。然后,将“填充”率设置为最大带宽量除以一天的时间,这样每个延迟池将在一天内完全填满。

最后,iptables我将透明地将端口 80 上的传入请求从 LAN 重定向到鱿鱼,而不是直接 DNAT,以便内部网络上的用户受到带宽限制。

再次感谢 WerkkreW 为我指明了正确的方向。