IPtablesstream量配额 – 上下

我一直在尝试为共享服务器上的用户设置stream量配额,我相信[有限的知识] iptables – 为每个用户[–dport]select的配额和端口是这样做的方法…

iptables -A OUTPUT –dport 1,2,3,4 … –quota 123412341234 -j ACCEPT
iptables -A OUTPUT –dport 1,2,3,4 … -j DROP

我认为像这样的事情会限制stream量(每个月都会重置),但是stream量只能stream出去。

  • 有什么我可以做的结合 – 一个输出和一个input到一个配额?
  • 或者,有没有另外一种方法可以更有效地达到同样的效果呢?

操作系统是debian挤压

谢谢。

如果您想将配额应用于传入和传出,则可以这样做:

-A OUTPUT -p tcp --sport $PORTNUM_1 -g filter_quota_1 -A OUTPUT -p tcp --sport $PORTNUM_2 -g filter_quota_2 <other OUTPUT rules for other users> -A INPUT -p tcp --dport $PORTNUM_1 -g filter_quota_1 -A INPUT -p tcp --dport $PORTNUM_2 -g filter_quota_2 <other INPUT rules> -A filter_quota_1 -m quota --quota $QUOTA_1 -g chain_where_quota_not_reached -A filter_quota_1 -g chain_where_quota_is_reached -A filter_quota_2 -m quota --quota $QUOTA_2 -g chain_where_quota_not_reached -A filter_quota_2 -g chain_where_quota_is_reached <other filter_quota_N chains> 

当你想重置配额#N,你会做iptables -F filter_quota_N ,然后重新填充filter_quota_N

由于规则大部分是相似的,所以您应该考虑使用bash(或其他您所select的脚本语言)