iptables filter

最近发现dns请求里有一些不正常的域名请求,由于bind9早期的版本在这方面比较弱,而且再越上层做越好,那就在iptables上做最好了,当然在外网防火墙上做也行,2层过滤更好。 在iptables有一个string模块就是用来做这个事情,支持很多种模式,u32, string, hex-string 都有,效率最高的是u32了。 具体看看自己iptables支持那些模式可以查看以下文件 c /proc/net/ip_tables_matches 具体的过滤命令很容易,就一句, 意思就是过滤input链的udp的53端口,匹配里面的数据含有packetdevil字符的直接drop掉。 ```c
-A INPUT -p udp –dport 53 -m string –algo bm –string “packetdevil” -j DROP