一、概念

-允许的最大跟踪连接条目:CONNTRACK_MAX(默认值是 2^16=65536 )
-存储跟踪连接条目列表的哈西表的大小:HASHSIZE
-每个哈西表的条目(叫一个bucket),包含了一个链接起来的跟踪连接条目
-哈希表大小HASHSIZE,表现为 条目bucket的多少,在iptables启动时在日志中会显示。

图表形象解释:

 

例如,系统默认配置下,启动 iptables 时的信息如下:

ip_conntrack version 2.4 (8192 buckets, 65536 max) - 304 bytes per conntrack

二、实战:调大 conntrack_max 参数(2.4内核)

1)增大 hashsize (在i386架构上,HASHSIZE = CONNTRACK_MAX / 8

# vi /etc/modprobe.conf
 options ip_conntrack hashsize=131072

然后重启 iptables 服务,在 sysctl -a | grep conntrack中可以看到参数已生效(自动调整为哈希表大小的8倍)

 所以不要在/etc/sysctl.conf中设置以下两项的值:
net.ipv4.netfilter.ip_conntrack_max net.ipv4.ip_conntrack_max

如上均是参考网上资料的,如下是自己心得

三、卸载linux内核的 ip_conntrack 模块
ip_conntrack模块 是跟踪tcp 会话中establish new 这些状态的.
只有当iptables 的规则里没有写 -m state 状态的话,才可以卸载(否则卸载失败)
在 /etc/sysconfig/iptables-config 文件里删除或者注释掉 ip_conntrack_netbios_ns, 后重启iptable服务即可生效