文档首页/ 弹性云服务器 ECS/ 故障排除/ SSH连接/ SSH连接或者服务偶发性断开问题处理
更新时间:2024-08-15 GMT+08:00

SSH连接或者服务偶发性断开问题处理

适用场景

该文档适用于在SSH连接Linux云服务器或者访问该服务器上的应用时偶现连接断开。

约束与限制

  1. 修改系统内核参数可能产生内核不稳定,请评估风险后进行操作。
  2. 为了确保系统稳定运行,修改内核参数后建议在合理的时间重启系统。

根因分析

  1. 执行以下命令,查看系统内核是否开启了TIME_WAIT快速回收和重利用策略

    sysctl -a |grep tcp_tw

    图1所示,确认已开启该策略。

    图1 TIME_WAIT
  2. 由于服务端开启了TIME_WAIT快速回收和重利用策略导致,即启用了net.ipv4.tcp_tw_recycle或者net.ipv4.tcp_tw_reuse。系统默认是不启用该功能。

    客户端通常在NAT环境下,多台终端使用同一个公网ip,无法实现服务端与客户端的一对一连接。如果开启此参数服务端会回收处于TIME_WAIT状态的TCP连接,导致连接断开。

操作方法:

  1. 关闭上述两个内核参数,打开/etc/sysctl.conf,添加或者修改下列两行。
    net.ipv4.tcp_tw_recycle = 0
    net.ipv4.tcp_tw_reuse = 0
  2. 执行以下命令,使修改的配置生效。
    sysctl -p

    启动中修改内核参数可能存在内核加载该参数不稳定的情况,建议在合适的时间进行重启。