V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wenerme
V2EX  ›  程序员

为什么阿里云 ECS 链接一段时间后会中断?

  •  
  •   wenerme ·
    wenerme · 2023-03-16 12:31:26 +08:00 · 1702 次点击
    这是一个创建于 616 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最有体感的是 SSH ,一段时间无操作就会 hang ,链接中断。 但并不只有 SSH ,所有链接都是,比如 redis 、mysql ,除非自己主动保活,否则都会这样,是为什么呢?有地方可以配置么?

    14 条回复    2023-03-16 22:50:53 +08:00
    opengps
        1
    opengps  
       2023-03-16 12:33:53 +08:00
    socket 默认都是这样,一定的时间不通信会断掉
    wsseo
        2
    wsseo  
       2023-03-16 12:52:47 +08:00
    设置心跳
    BeforeTooLate
        3
    BeforeTooLate  
       2023-03-16 13:04:19 +08:00   ❤️ 1
    .ssh/config 添加
    Host *
    ServerAliveInterval 20
    TCPKeepAlive no
    wenerme
        4
    wenerme  
    OP
       2023-03-16 13:09:44 +08:00
    @opengps 但是如果我在域网,那 ssh 就不会中断,电脑放几个小时过后过来还是 OK 的。
    opengps
        5
    opengps  
       2023-03-16 13:14:12 +08:00
    @wenerme 默认好像是 2 小时,放倒公网估计是半路上的网络设备给你当作不活动连接掐断的
    wenerme
        6
    wenerme  
    OP
       2023-03-16 13:18:39 +08:00
    @opengps 我理解 idle 会被掐断,但是不确定时间,也没找到相关文档说明,就很困惑
    abelyao
        7
    abelyao  
       2023-03-16 13:19:22 +08:00
    楼上瞎扯,腾讯云香港的 ssh 设置好了放一个晚上都没断

    阿里云的配置好了放一段时间也会断,不止 ssh 断,还有 io 过高导致 ssh 卡死的
    zzlyzq
        8
    zzlyzq  
       2023-03-16 13:20:09 +08:00
    可能是中间的路由设备导致。具体说来,对于经过 NAT 上网的用户来说,每次出网通过路由器的时候,会产生一条 NAT Session 条目。该条目是有时间限制的,一段时间没有流量刷新定时器,会导致掉线。
    解决办法:可以通过 shell 软件,例如 SecureCRT 、XShell 、FinalShell 等在登录中的发送 NOP 信息,例如每 30 秒一次,避免中断。
    abelyao
        9
    abelyao  
       2023-03-16 13:20:17 +08:00
    @wenerme 服务器上改 /etc/ssh/sshd_config

    ClientAliveInterval 300
    ClientAliveCountMax 10

    能有改善
    wenerme
        10
    wenerme  
    OP
       2023-03-16 13:26:53 +08:00
    找到了 GCP 的相关文档,但是没找到阿里云的相关文档 https://cloud.google.com/compute/docs/troubleshooting/general-tips?hl=zh-cn#idle-connections

    打算尝试下 tcp keepalive ,因为每个用到的都维护会有点麻烦。
    wenerme
        11
    wenerme  
    OP
       2023-03-16 14:01:13 +08:00
    eryajf
        12
    eryajf  
       2023-03-16 16:16:33 +08:00
    如果你用的 iterm ,可以尝试下这个配置: https://wiki.eryajf.net/pages/de6b13/
    rekulas
        13
    rekulas  
       2023-03-16 21:44:01 +08:00
    可能跟你网络有关(包括整个链路上的),我连阿里运气好的时候可以维持几天
    wwbfred
        14
    wwbfred  
       2023-03-16 22:50:53 +08:00
    TCP 都有中断的问题,这个没办法,使用 TCP 就应该把它当成沉默一段时间后会自然中断。
    SSH 的话不知道你用啥客户端,有些客户端可以设置定时发空 SSH 包或哑命令,这样可以挂几天都不断。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1452 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 17:14 · PVG 01:14 · LAX 09:14 · JFK 12:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.