系统连接数高的时候,机子出现掉包,查看日志发现报错,nf_conntrack: table full, dropping packet,解决办法就是调整参数
稳妥的临时处理办法:
vi /etc/sysctl.conf
net.nf_conntrack_max = 2097152
net.netfilter.nf_conntrack_tcp_timeout_established = 300
net.netfilter.nf_conntrack_max = 1048576
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.ipv4.conf.default.forwarding = 1
sysctl -p
这里我们首先提高 net.netfilter.nf_conntrack_max , 当然,肯定不是越高越好,如果你的机器是一个64GB 64位的操作系统,那么最合适的值是 CONNTRACK_MAX = 6410241024*1024/16384/2 = 2097152
echo 50000 > /sys/module/nf_conntrack/parameters/hashsize
echo 524288 > /proc/sys/net/netfilter/nf_conntrack_max