通过iptables对端口的总流量进行限制

  1. 限流

假设要对80端口的流量进行限制,注意是限制累计总的流量,而不是bit/s这种每秒的流量。

1
2
3
4
iptables -A OUTPUT -p tcp --sport 80 -m quota --quota 100000000000 -j ACCEPT
iptables -A OUTPUT -p udp --sport 80 -m quota --quota 100000000000 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j DROP
iptables -A OUTPUT -p udp --sport 80 -j DROP

–quota 的值的单位是byte,100000000000≈100G

  1. 查看已经消耗了多少流量

iptables -n -v -L

  1. 刷新

如果需要每月重新计算流量

1
2
3
4
iptables -D OUTPUT -p tcp --sport 114 -m quota --quota 500000000000 -j ACCEPT
iptables -D OUTPUT -p udp --sport 114 -m quota --quota 500000000000 -j ACCEPT
iptables -I OUTPUT -p udp --sport 114 -m quota --quota 500000000000 -j ACCEPT
iptables -I OUTPUT -p tcp --sport 114 -m quota --quota 500000000000 -j ACCEPT

即删除规则再重新添加。