20
2020
01
16:06:53

nf_conntrack满之解决方法



推荐点击下面图片,通过本站淘宝优惠价购买:

image.png

vim /var/log/message报错
nf_conntrack: table full, dropping packet
先关掉iptables
/etc/init.d/iptables stop
查看当前的连接数:
# grep nf_conntrack /proc/slabinfo
查出目前 nf_conntrack 的排名:
$ cat /proc/net/nf_conntrack | cut -d ' ' -f 10 | cut -d '=' -f 2 | sort | uniq -c | sort -nr | head -n 10
优化参数
状态跟踪表的最大行数的设定,理论最大值 CONNTRACK_MAX = RAMSIZE (in bytes) / 16384 / (ARCH / 32) 
以64G的64位操作系统为例,CONNTRACK_MAX = 64*1024*1024*1024/16384/2 = 2097152 
即时生效请执行: 
sysctl –w net.netfilter.nf_conntrack_max = 524288  (16G)
其哈希表大小通常为总表的1/8,最大为1/2。CONNTRACK_BUCKETS = CONNTRACK_MAX / 8 
同样64G的64位操作系统,哈希最佳范围是 262144 ~ 1048576 。 
运行状态中通过 sysctl net.netfilter.nf_conntrack_buckets 进行查看,通过文件 /sys/module/nf_conntrack/parameters/hashsize 进行设置 
或者新建 /etc/modprobe.d/iptables.conf ,重新加载模块才生效: 
options nf_conntrack hashsize = 262144
还有些相关的系统参数`sysctl -a | grep nf_conntrack`可以调优(/etc/sysctl.conf ): 
net.netfilter.nf_conntrack_max  =   1048576   
net.netfilter.ip_conntrack_tcp_timeout_established  =   3600   
net.netfilter.nf_conntrack_tcp_timeout_close_wait  =   60   
net.netfilter.nf_conntrack_tcp_timeout_fin_wait  =   120   
net.netfilter.nf_conntrack_tcp_timeout_time_wait  =   120


本文链接:https://www.hqyman.cn/post/1161.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:





休息一下,本站随机推荐观看栏目:


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

您的IP地址是: