内容摘要:netfilter的架构就是在整个网络流程的若干位置放置了一些检测点(HOOK ),而在每个检测点上上登记了一些处理函数进行处理(如包过滤,NAT等,甚至可以是用户自定义的功能)。
可能的原因是:
达到了连接跟踪数据库条目的最大限制
不能确定反向数组(多播,广播)
kmem_cache_alloc失效(内存泄露)
响应未经认可的连接
多播数据包(请看前面的问题)
icmp数据包太短了
icmp变成碎片了
icmp校验和错误
如果你想得到这些包的更详细的日志信息(如:如果你怀疑它是远程探测/扫描数据包),使用下面的命令:
iptables -t mangle -A PREROUTING -j LOG -m state --state INVALID
是的,你不得不将这个规则放到mangle表中,因为数据包在抵达过滤表之前已经被NAT代码给丢掉了。
3、ip_conntrack: max number of expected connections N of M reached for aaa.aaa.aaa.aaa -> bbb.bbb.bbb.bbb
我的系统日志或终端有规则地显示下面的信息:
ip_conntrack: max number of expected connections N of M reached for aaa.aaa.aaa.aaa -> bbb.bbb.bbb.bbb
这是正常的不用担心,特别如果N和M是1,并且消息紧跟在reusing后,在linux内核特殊版本(2.4.19=
内核版本升级后(>=2.4.21-pre4)这个消息就不再出现了,如果你仍然收到与这个类似的消息,联系http://lists.netfilter.org/mailman/listinfo/netfilter-devel邮件列表。
4、我不能与Linux bridging代码一起使用netfilter
你想建立一个完全透明的防火墙吗?好注意!如果是2.4.16内核,你仍然需要给你的内核打一个额外补丁。可以在http://bridge.sourceforge.net/找到。
5、IRC模块不能控制DCC恢复
这只有一半是事实,只有NAT模块不能控制它们,如果你在防火墙中不用NAT功能,它将工作得很好,等待补丁。
来源:51CTO.com 作者:黄永兵 责编:豆豆技术应用