发现客户端在连接java服务时出现失败的情况,查看系统日志发现大量

kernel: nf_conntrack: table full, dropping packet.

kernel: nf_conntrack: table full, dropping packet.

kernel: nf_conntrack: table full, dropping packet.


从日志可以看出,由于开启了iptables,iptalbes会使用nf_conntrack模块跟踪连接,而这个连接跟踪的数量是有最大值的,当跟踪的连接超过这个最大值,就会导致连接失败

通过命令查看

# wc -l /proc/net/nf_conntrack
  63267

查看最大值

# cat /proc/sys/net/nf_conntrack_max
 65535

可以通过修改这个最大值来解决这个问题

在/etc/sysctl.conf添加内核参数 net.nf_conntrack_max = 65535

之后执行命令

# sysctl -p

使参数生效

参数修改完后,客户端可以正常连接java服务

另外需要注意,内核版本为2.6.15之前,该模块为ip_conntrack