关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

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

发布时间:2022/11/11 23:23:08
香港云服务器

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

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

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

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

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

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

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

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

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