我有一个vps访客,其IP为192.168.1.20。 我将下面几行添加到iptables中,
# iptables -A FORWARD -o eth0 -s 192.168.1.20
# iptables -A FORWARD -i eth0 -d 192.168.1.20
然后我运行这一行来监视使用情况
# iptables -L FORWARD -v -x | grep '192.168.1.20'
但是结果的值总是为0。
没有看到所有的规则,很难说100%,但它可能是iptables中的早期规则行事像一个捕获所有,stream量没有得到你在问题中显示的前瞻性规则(这将解释为什么你没有看到任何数据)。
把你的两个审计规则放在第一位,他们应该没问题。
考虑使用-j选项,这在这里解释: http : //ipset.netfilter.org/iptables.man.html
-j,–jump target指定规则的目标; 即如果数据包匹配该怎么做。 目标可以是一个用户定义的链(除了这个规则之外),一个决定数据包命运的特殊内build目标之一,或一个扩展(见下面的扩展)。 如果在规则中省略了这个选项(并且不使用-g),那么匹配规则将不会影响数据包的命运,但规则上的计数器将递增。
这可能是您的一个很好的起点:
http://www.linux.com/learn/tutorials/305767-bandwidth-monitoring-with-iptables
匹配规则后,-j选项将调用跳转到其中一个自定义链。