Linux iptables ip_conntrack:表已满,丢弃数据包错误和解决方案

时间:2020-01-09 10:41:04  来源:igfitidea点击:

红帽企业Linux 5服务器在/var/log/messages(syslog)中报告以下消息:

ip_conntrack: table full, dropping packet.
ip_conntrack:表已满,正在丢弃数据包。

如何解决此错误?

解决方法:如果您在syslog中注意到以上消息,则说明conntrack数据库的环境条目不足。
默认情况下,连接跟踪最多可处理一定数量的同时连接。
此数字取决于您的系统最大内存大小。

您可以轻松地增加最大跟踪连接数,但是请注意,每个跟踪连接都会吃掉约350个字节的不可交换内核内存!

要打印当前的限制值:

# sysctl net.ipv4.netfilter.ip_conntrack_max

输出:

8192

将此限制增加到例如12000,执行:

# sysctl -w net.ipv4.netfilter.ip_conntrack_max=12000

或者,将以下行添加到/etc/sysctl.conf文件中:

net.ipv4.netfilter.ip_conntrack_max=12000

以下内容将告诉您现在有多少个会话:

# wc -l /proc/net/ip_conntrack

输出:

5000 /proc/net/ip_conntrack