centos6下在并发量大的时候出现这样的报错
nf_conntrack: table full, dropping packet.
nf_conntrack: table full, dropping packet.
nf_conntrack: table full, dropping packet.
看一下 nf_conntrack 表里的记录及数量
less /proc/net/nf_conntrack
wc -l /proc/net/nf_conntrack
如果表满了会连 ssh 都连不上来
默认表的最大值是 65535
cat /proc/sys/net/nf_conntrack_max
需要临时加大
echo ‘100000’ > /proc/sys/net/nf_conntrack_max
需要永久生效
在 /etc/sysctl.conf 里添加
net.nf_conntrack_max = 655360
net.netfilter.nf_conntrack_max = 655350
net.netfilter.nf_conntrack_tcp_timeout_established = 1200
这里有个坑,如果在没有开启 iptables 的情况下使用
iptables -L -t nat
会导致加载 nf_conntrack 并使用默认值, sysctl 里的值就不生效了
这时需要重启一下 iptables 才能加载 sysctl 中的值
Leave a Reply