限制每个接口的每月流量

限制每个接口的每月流量

我正在尝试部署一个限制每月流量的应用程序。请问您能告诉我该怎么做吗?我需要限制 Linux 下某个接口的流量。

答案1

你可以看一下iptables的配额扩展:

http://ipset.netfilter.org/iptables-extensions.man.html#lbBR

这个想法可以根据数据包的目标 IP /端口来标记数据包并使用配额匹配模块和 MARK 目标。

然后可以使用此标记来丢弃流量,或者更好的是,将其重定向到另一个服务,警告用户已达到配额。

举例来说,想象一个这样的 telnet 服务:

iptables -t mangle -I PREROUTING --dport 23 -d 1.2.3.4 -m mark -m quote !--quota 1000000 -j MARK --set-mark 0xa

iptables -t mangle -I PREROUTING --sport 23 -s 1.2.3.4 -m mark -m quote !--quota 1000000 -j MARK --set-mark 0xa

iptables -t nat -I PREROUTING -m mark --mark 0xa -j REDIRECT --to-ports 2323

在这种情况下,用户将被重定向到虚拟 telnet 服务,表明该服务在端口 2323 上超出配额。

另一种方法可能是

相关内容