今天在centos6.x进行设置服务器的最大联机数时,使用如下命令进行设置,但出现了错误
<code> [root@www netfilter]# sysctl -w net.ipv4.ip_conntrack_max=65535 error: "net.ipv4.ip_conntrack_max" is an unknown key </code>
应该使用以下命令进行正确设置:
<code> [root@www netfilter]# sysctl -w net.netfilter.nf_conntrack_max=65535 net.netfilter.nf_conntrack_max = 65535 </code>
究其原因,原来 nf_conntrack 在 2.6.15 被引入,而 ip_conntrack 在 2.6.22 被移除,以前使用如下命令查看:
<code> cat /proc/sys/net/ipv4/ip_conntrack_max </code>
而centos6.x使用的是:
<code> cat /proc/sys/net/nf_conntrack_max </code>
此文件存在于以下目录中:
<code> [root@www ~]# ls /proc/sys/net/ core ipv4 ipv6 netfilter nf_conntrack_max unix [root@www netfilter]# ls /proc/sys/net/netfilter/ nf_conntrack_acct nf_conntrack_tcp_max_retrans nf_conntrack_buckets nf_conntrack_tcp_timeout_close nf_conntrack_checksum nf_conntrack_tcp_timeout_close_wait nf_conntrack_count nf_conntrack_tcp_timeout_established nf_conntrack_events nf_conntrack_tcp_timeout_fin_wait nf_conntrack_events_retry_timeout nf_conntrack_tcp_timeout_last_ack nf_conntrack_expect_max nf_conntrack_tcp_timeout_max_retrans nf_conntrack_generic_timeout nf_conntrack_tcp_timeout_syn_recv nf_conntrack_icmp_timeout nf_conntrack_tcp_timeout_syn_sent nf_conntrack_icmpv6_timeout nf_conntrack_tcp_timeout_time_wait nf_conntrack_log_invalid nf_conntrack_tcp_timeout_unacknowledged nf_conntrack_max nf_conntrack_udp_timeout nf_conntrack_tcp_be_liberal nf_conntrack_udp_timeout_stream nf_conntrack_tcp_loose nf_log </code>
要查看系统使用的是ip_conntrack_max还是nf_conntrack_max模块,可以使用如下命令查看:
<code> [root@www netfilter]# sysctl -a |grep conntrack_max net.netfilter.nf_conntrack_max = 65535 net.nf_conntrack_max = 65535 </code>
对于还在使用ip_conntrack_max模块的朋友来说,应该使用一下命令来查看及修改最大的联机数:
<code> [root@www ~]# cat /proc/sys/net/ipv4/ip_conntrack_max [root@www netfilter]# sysctl -w net.netfilter.ip_conntrack_max=65535 </code>
对于这种修改只是暂时性的有效,要想永久有效,则应修改配置文件/etc/sysctl.conf中的数据,如果没有,则自行添加net.netfilter.ip_conntrack_max=65535或者net.netfilter.ip_conntrack_max=65535,保存即可。