我们已经准备好了,你呢?

2023我们与您携手共赢,为您的企业形象保驾护航!


喜讯:国内、香港、海外云服务器租用特惠活动,2核/4G/10M仅需31元每月,点击抢购>>>

点击这里点击这里进入阿里云ECS官方页面,立即免费体验云服务器ECS>>>

问题现象

无法远程连接ECS实例,ping目标实例时出现ping丢包或ping不通情况,在/var/log/message系统日志中频繁出现以下错误信息。

 

Feb  6 16:05:07 i-*** kernel: nf_conntrack: table full, dropping packet.
Feb  6 16:05:07 i-*** kernel: nf_conntrack: table full, dropping packet.
Feb  6 16:05:07 i-*** kernel: nf_conntrack: table full, dropping packet.
Feb  6 16:05:07 i-*** kernel: nf_conntrack: table full, dropping packet.


问题原因

ip_conntrack是Linux系统内NAT的一个跟踪连接条目的模块,ip_conntrack模块会使用一个哈希表记录TCP协议established connection记录。当这个哈希表满之后,新连接的数据包会被丢弃掉,就会出现nf_conntrack: table full, dropping packet错误。

Linux系统会开辟一个空间,用于维护每一个TCP链接,这个空间的大小与nf_conntrack_bucketsnf_conntrack_max参数相关,后者的默认值是前者的4倍,所以一般建议调大nf_conntrack_max参数值。

说明

维护系统连接比较消耗内存,建议您在系统空闲和内存充足的情况下,将nf_conntrack_max参数值调大。

解决方案

  1. 使用VNC远程连接实例。

    具体操作,请参见通过密码认证登录Linux实例。

  2. 修改nf_conntrack_max参数值。

    1. 执行以下命令,打开/etc/sysctl.conf文件。

       

      vi /etc/sysctl.conf
    2. i键进入编辑模式。

    3. 修改nf_conntrack_max参数值。

      例如,将哈希表项最大值参数修改为655350

       

      net.netfilter.nf_conntrack_max = 655350
    4. Esc键,输入:wq,保存并退出编辑。

  3. 修改超时参数nf_conntrack_tcp_timeout_established值。

    例如,修改超时参数值为1200,默认超时时间是432000秒。

     

    net.netfilter.nf_conntrack_tcp_timeout_established = 1200
  4. 执行如下命令,使配置生效。

     

    sysctl -p





推荐:TOP云智能建站优惠活动,仅880元即可搭建一个后台管理五端合一的智能网站(PC网站、手机网站、百度智能小程序、微信小程序、支付宝小程序),独享百度搜索SEO优势资源,让你的网站不仅有颜值有排面,更有排名,可以实实在在为您带来效益,请点击进入TOP云智能建站>>>,或咨询在线客服了解详情。


我们已经准备好了,你呢?

2023我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

131-3501-0006

上班时间

周一到周五

公司电话

130-0743-9476

二维码
线