token bucket 算法简析

最近在解决一个Linux下DHCP无法获取IPv6地址的问题。在分析过程中发现,把IPv6防火墙停掉的话,用dhclient就可以给网卡获取到IPv6地址,否则就无法获取。初步判断,是IPv6的防火墙的问题。 在查看/var/log/iptables.log时,发现里面的log很少,几乎没有什么有用的log。在查看ip6tables rules时,发现有如下的一条规则用于控制log的输出: -A LOGGING6 -m limit –limit 2/hour -j LOG –log-prefix “IP6TABLES DROP:” INPUT,OUTPUT,FORWARD chain的最后一条规则就jump到LOGGING chain。而LOGGING chain在记录了一下LOG后,就直接DROP packet了。我对limit这个module不熟悉,就查看一下iptables extensions的man文档。看到了一句话: This module matches at a limited rate using a token bucket filter.