您可以为每个 IP 添加一个 iptables 规则,并使用它来计算通过该规则的流量。只需为每个 IP 添加 2 个规则:
iptables -A FORWARD -s <ip>
iptables -A FORWARD -d <ip>
Run Code Online (Sandbox Code Playgroud)
然后你可以得到结果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
Run Code Online (Sandbox Code Playgroud)
这个为零,但该bytes列会给你你想要的我发誓:)
之后,您需要做的就是cron保存这些值,并检查它们是否超过了当周分配的字节数,然后更改规则以阻止流量或用于tc限制其带宽或其他任何内容。