最大下载限制

最大下载限制

我正在编写 Linux 中的带宽管理软件。我使用 TC 进行带宽调整,效果很好。我想在一段时间内限制用户带宽。例如:

  • 对于用户 1,一周 100MB

最好的方法是什么?

答案1

iptables 配额模块也相当有用。

答案2

您可以为每个 IP 添加一条 iptables 规则,并使用它来统计通过该规则的流量。只需为每个 IP 添加 2 条规则:

 iptables -A FORWARD -s <ip>
 iptables -A FORWARD -d <ip>

然后您就可以获得iptables -nv -L FOWARD如下结果:

# iptables -nvL FORWARD
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  *      virbr0  0.0.0.0/0            192.168.122.0/24    state RELATED,ESTABLISHED

这个是零,但bytes我发誓该列会给你你想要的东西:)

之后,您需要做的就是cron保存这些值,并检查它们是否超过了该周分配的字节数,然后更改规则以阻止流量或用来tc限制其带宽或其他任何操作。

相关内容