关于Redis开启iptables后操作系统出现大量kernel: nf_conntrack: table full, dropping packet.的解决方案

 每日运维   2019-11-29 18:46   46 人阅读  0 条评论

一般情况下,如果操作系统日志中出现大量kernel: nf_conntrack: table full, dropping packet.会出现系统丢包大现象。

这种现象的原因是:操作系统内核参数优化不合理或者iptables规则不合理引起iptables链接跟踪表满了,新建链接被抛弃。

最直接、最暴力的处理方式是:将iptables关闭。

当然,大家都知道,iptables关闭的话,对服务器都安全会大打折扣。目前Redis都没有设置密码,很容易被扫描攻击。所以,这个处理方式不是长久之计。下面将第二种处理方式,优化系统内核参数。

对系统内核的优化,主要是

net.nf_conntrack_max
net.netfilter.nf_conntrack_max
net.netfilter.nf_conntrack_tcp_timeout_established

三个参数。这三个参数具体代表什么意思,再次不多做描述。一般项目上按照以下值修改就可以了:

net.nf_conntrack_max = 655360
net.netfilter.nf_conntrack_max = 655360
net.netfilter.nf_conntrack_tcp_timeout_established = 3600

修改后不要忘记执行sysctl -p加载内核参数。

本文地址:https://linux365.cn/post/21.html
版权声明:本文为原创文章,版权归 每日运维 所有,欢迎分享本文,转载请保留出处!

评论已关闭!