Skip to content

长连接持久保持测评:SSH/WebSocket/远程桌面不掉线梯子推荐 ​

一、TL;DR:先给结论,再讲为什么 ​

如果你只想知道"买哪个",这一段足够;如果你想搞明白"为什么断",请继续往下读。

核心结论:长连接稳定性 90% 取决于链路物理层,10% 取决于客户端配置。 市面上把"不丢包"当卖点的商家很多,但真正能做到 24h 挂机 SSH 不掉、RDP 不闪、WebSocket 不断重连的,本质上只有三类供给:

  1. IEPL 企业级内网专线:入口在国内 BGP 机房,出口在境外,中间走运营商内网以太网专线,不经过公网国际出口的拥塞节点。这是目前长连接场景性价比最高的形态。
  2. IPLC 国际专线:真正的点对点物理专线,延迟最稳、抖动最低,但单价通常是 IEPL 的 1.5-3 倍,且带宽偏小。
  3. 双 ISP / 多入口 BGP 中转:通过电信 CN2 GIA(AS4809)、联通 CUII(AS9929)、移动 CMIN2(AS58807)三线冗余入口接入,某一线路拥塞时自动切换。

不推荐:纯公网直连(公网中转)、单入口单线中转、宣称"无限流量"且单价低于 5 元/月的产品——这三类在长连接场景下的断线率通常在 30% 以上。

下面是本文主推的实测对象,也是目前 AirPick 实验室在长连接压力测试中综合得分最高的一家:

💡 👑 2026 全网综合第一主推 · 【光速云】读者专享特惠通道:
IEPL 企业级内网专线 + 全球IPLC,单节点最高 2.5Gbps,全节点 x1 无倍率,原生解锁 ChatGPT / Claude / Netflix 全区:
8折立减AMM复制 📋
直达光速云官网 ↗

二、你的 SSH 为什么总在 300 秒后断?——长连接死因全链路拆解 ​

很多人把断线归咎于"机场不行",但实际上,一条 SSH 会话从你的终端到境外服务器,中间至少经过 6 个会主动"杀连接"的角色。搞清楚每个角色的超时阈值,才能对症下药。

2.1 第一层:家用路由器 NAT 表项超时 ​

家用路由器/光猫维护一张 NAT 映射表。空闲的 TCP 连接在多数消费级设备上的老化时间是 300s - 3600s,而部分运营商定制光猫为了省内存,会把这个值压到 60-120 秒。这是"什么都没干就断了"最常见的原因。

判定特征:Connecting 之后停顿在一个整数分钟附近断开,且重连后能在同一分钟内复现。

2.2 第二层:运营商 CGNAT 大内网映射 ​

国内大量宽带已经进入运营商级 NAT(CGNAT),你的公网出口是共享的。CGNAT 网关的超时通常更短,且不做 TCP Keep-Alive 透传优化,UDP 映射甚至只有 30s。

判定特征:mtr 到出口第一跳就已经看到 100.64.0.0/10 网段地址。

2.3 第三层:国际出口 QoS 与拥塞丢包 ​

晚高峰(20:00-24:00 CST)国际出口带宽被挤爆,丢包率可以从平峰的 0.3% 飙到 15% 以上。TCP 遇到丢包会触发拥塞窗口收缩,长连接表现为"卡住几秒然后继续",极端情况下触发应用层超时断开。

2.4 第四层:TCP Keep-Alive 默认值太保守 ​

  • Linux 默认 net.ipv4.tcp_keepalive_time = 7200(2 小时才发第一个探测包)
  • macOS/BSD 默认同样是 7200
  • Windows 默认 2 小时

也就是说,系统层的心跳根本救不了你——等你发出第一个 keep-alive 时,NAT 表项早在半小时前就被清了。

2.5 第五层:应用层协议自身的空闲策略 ​

  • SSH:默认不发心跳,靠 ServerAliveInterval / ClientAliveInterval
  • WebSocket:协议本身有 Ping/Pong 帧,但很多网关会拦截控制帧或不做转发
  • RDP:Windows 远程桌面依赖 KeepAliveInterval 注册表项,默认值在部分版本上是 0(即不主动发)
  • MySQL/PostgreSQL 长连接:wait_timeout 默认 28800s,但中间件往往会先断

2.6 第六层:代理协议本身的实现差异 ​

如果你用的是 Shadowsocks(AEAD),一条 TCP 连接对应一条独立隧道,隧道空闲时同样会被 NAT 清掉。而 Trojan / VLESS / Hysteria2 之类的实现,是否支持 mux(多路复用)直接决定了长连接的稳定性——mux 把多条逻辑流塞进一条长隧道,反而让连接更容易保活;但 mux 的拥塞控制如果做得不好,会导致所有流一起卡。

这是一把双刃剑,具体配置见第六章。


三、决定性技术变量:每个名词到底解决什么问题 ​

不要被营销词唬住。下面这张"技术词—真实作用—对长连接的影响"对照,是你在挑选长连接稳定机场时的核心判断依据。

技术名词真实含义对长连接的实际影响
IEPL国际以太网专线,运营商内网承载,不走公网国际出口丢包率可稳定在 0.05% 以内,抖动 ±2ms,长连接几乎无感知断流
IPLC国际私有租赁电路,点对点物理专线延迟最低最稳,但带宽小、价格高,适合单会话低流量场景
公网中转国内机器 + 国际公网出口晚高峰丢包 5%-20%,TCP 重传多,长连接必断
BGP 多线入口电信/联通/移动多入口 Anycast 或 DNS 分流单线故障时切换,避免"整条线路挂掉"
双 ISP两个不同运营商的上游同时接入减少单运营商国际出口故障风险
BBRv3Google 第三代拥塞控制算法高丢包环境下吞吐提升明显,抗抖动优于 Cubic,但不解决物理丢包
TLS REALITYXray 提出的借用真实站点证书握手的伪装方案抗主动探测强,握手开销比 TLS 略低,长连接首包延迟改善
Mux 多路复用多条逻辑流共用一条 TCP 隧道降低握手开销,提升保活成功率;但拥塞控制差时会有队头阻塞
Quic/Hysteria2基于 UDP 的传输层UDP 在被 QoS 限速时反而更差;仅在特定环境下优于 TCP

一句话总结:BBRv3 和 REALITY 是"锦上添花",IEPL/IPLC 才是"雪中送炭"。优先级排序应为:物理链路 > 入口冗余 > 拥塞控制 > 传输协议 > 伪装方案。


四、核心参数对比矩阵(2026 实测) ​

以下是 AirPick 实验室在 2026 年 Q1 用同一台国内电信 1000M 家宽、同一台境外 VPS(洛杉矶,ssh + rdp 双会话并行)做的 72 小时压测结果。样本取自市面上主流的三类产品形态。

指标IEPL 专线型(以光速云为代表)IPLC 专线型公网中转型直连型
平峰 RTT(上海→LAX)135-145ms128-135ms160-220ms180-350ms
晚高峰 RTT 抖动±3ms±2ms±45ms±120ms
72h 丢包率0.04%0.02%3.8%11.6%
SSH 24h 挂机断线次数00723
RDP 画面卡顿次数/小时0-106-1215+
WebSocket 重连次数/24h00418
单节点峰值带宽2.5Gbps500Mbps-1Gbps1Gbps(共享)不定
入口冗余三线 BGP + 双 ISP单点单线为主无
24h 重传率(netstat -s)0.08%0.05%2.1%8.4%
月均成本区间¥15-40¥80-300¥8-20¥0(自建)

说明:重传率通过 netstat -s | grep -i retrans 在客户端侧采集,样本为 24 小时内所有 TCP 会话的加权平均。IEPL 与 IPLC 的差距主要体现在极限抖动,日常开发场景下体感接近。


五、分人群选型:你真的需要专线吗? ​

不是所有人都需要 IEPL。按场景对号入座,避免过度消费。

5.1 重度刚需:后端/运维/数据工程师 ​

  • 典型行为:SSH 会话常驻 8-12 小时、tmux 挂长任务、rsync 大文件传输、K8s 集群 kubectl logs -f 长流
  • 核心需求:零重连、低重传
  • 推荐:IEPL 三线入口产品,单节点带宽 ≥500Mbps,必须有 x1 无倍率节点(否则跑数据会烧光流量)
  • 预算:¥25-40/月

5.2 中度刚需:海外远程办公 / RDP 用户 ​

  • 典型行为:每天 4-8 小时远程桌面,涉及视频会议、Excel 大表、CAD 轻量操作
  • 核心需求:低抖动 > 低延迟。抖动超过 ±30ms 时 RDP 会明显出现块状马赛克
  • 推荐:IEPL 或 IPLC,优先选择物理位置靠近你常用办公区出口的节点
  • 预算:¥20-60/月

5.3 轻度需求:WebSocket/SSE 长连应用开发者 ​

  • 典型行为:本地开 wscat 调试、SSE 事件流订阅、MQTT over WSS
  • 核心需求:应用层能自己实现心跳,对链路要求相对宽松
  • 推荐:公网中转中质量较好的产品即可,但务必选用支持 mux 的协议
  • 预算:¥10-20/月

5.4 不建议购买人群 ​

  • 只看 Netflix / YouTube,无长连接需求 → 追���专线纯属浪费
  • 需要固定 IP 做白名单 → 大部分机场不提供,考虑自建 VPS
  • 需要跑定时爬虫、批量注册 → 大量机场 TOS 明确禁止,封号不退款

六、分平台实操配置:把掉线率压到 0 ​

链路的稳定性只解决了一半问题,另一半在客户端。以下是各平台的关键配置。

6.1 macOS:SSH 长连接保活 ​

编辑 ~/.ssh/config,加入:

bash
Host your-server
    HostName 1.2.3.4
    User root
    ServerAliveInterval 15
    ServerAliveCountMax 6
    TCPKeepAlive yes
    Compression no
    IPQoS throughput

关键点:ServerAliveInterval 15 表示每 15 秒发一次加密心跳,远低于任何 NAT 的 60 秒阈值。IPQoS throughput 会设置 DSCP 标记,部分运营商对标记流量有优化。

6.2 Linux:调整内核 Keep-Alive 参数 ​

临时生效:

bash
sudo sysctl -w net.ipv4.tcp_keepalive_time=60
sudo sysctl -w net.ipv4.tcp_keepalive_intvl=15
sudo sysctl -w net.ipv4.tcp_keepalive_probes=5

永久生效写入 /etc/sysctl.d/99-keepalive.conf。同时建议开启 tcp_mtu_probing=1,应对隧道场景下的 PMTU 黑洞(表现为连接建立成功但大包卡死)。

6.3 Windows:RDP 保活与 QoS ​

注册表路径 HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server,新建 DWORD KeepAliveInterval,值设为 60000(毫秒)。同时关闭 RDP 的"自动检测连接质量",改为手动指定:

在 gpedit.msc → 计算机配置 → 管理模板 → Windows 组件 → 远程桌面服务 → 远程桌面会话主机 → 设备重定向中,关闭不需要的重定向(音频、打印机、剪贴板大对象),可显著减少 RDP 的额外通道开销。

6.4 代理客户端层:mux 与协议选择 ​

  • Clash/Mihomo:smux 默认关闭,长连接场景建议显式开启并设置 padding: false
  • sing-box:优先选 VLESS + REALITY + vision 组合,multiplex 设为 h2mux 且 max_streams 不低于 8
  • 不建议:UDP over TCP 强制转换,会导致所有 UDP 流量排队,反而拖累 TCP 长连接

6.5 常见配置错误(踩坑清单) ​

  1. 开启了 TUN 模式但 DNS 未走代理 → 间歇性解析失败被误判为"断线"
  2. 节点开启了负载均衡但未开启会话保持 → 每个新连接走不同节点,长连接看起来"断断续续"
  3. 规则里把目标 IP 归类到 DIRECT → 表面连着代理,实际走的公网

七、抓包排障诊断手册:三分钟定位断线责任方 ​

这一章是本文最有价值的部分。断线时不要凭感觉骂商家,按下面流程走一遍,责任方一目了然。

7.1 第一步:确认本地出口是否在被 NAT ​

bash
# macOS / Linux
traceroute -n 1.1.1.1 | head -5

若第一跳或第二跳出现 100.64.x.x、10.x.x.x、172.16-31.x.x,说明你在运营商 CGNAT 后面,NAT 超时不可控,必须靠应用层心跳对抗。

7.2 第二步:判断丢包发生的位置 ​

bash
mtr -rwzc 200 -i 0.5 你的节点IP

判定表:

现象结论处置
前三跳丢包,后续正常本地网络/路由器问题检查光猫、换网线、避开 WiFi
中间跳跃点丢包但最后一跳正常ICMP 限速,非真实丢包忽略,看 Last 一列
从某跳开始丢包并持续到终点该段链路拥塞或有 QoS换节点/换线路
全程 0.0% 丢包但仍断线应用层或协议层问题进入第 3-5 步

7.3 第三步:TCP 层重传率 ​

bash
# Linux
netstat -s | grep -i -E "retrans|timeout"
# macOS
netstat -s -p tcp | grep -i retrans

重传率 = 重传段数 / 发送段数。低于 0.5% 属健康,1%-3% 会影响长连接体验,高于 5% 需要立即换线路。

7.4 第四步:验证端口连通与握手耗时 ​

bash
# 需要安装 tcping
tcping -t 30 你的节点IP 443
# 或使用 nc
nc -vz -w 5 你的节点IP 443

关注标准差而非平均值。平均 150ms 但标准差 80ms 的节点,体感远差于平均 180ms 标准差 5ms 的节点。

7.5 第五步:抓包看谁先发 FIN/RST ​

bash
sudo tcpdump -i any -n "tcp port 22" -w ssh.pcap

用 Wireshark 打开后过滤 tcp.flags.fin == 1 or tcp.flags.reset == 1:

  • FIN 由中间设备(TTL 较小)发出 → NAT 表项老化,属于链路问题
  • RST 由服务端发出 → 服务端主动踢连接,检查 sshd_config 的 ClientAliveCountMax
  • FIN 由客户端发出 → 本地代理或客户端超时设置过短

7.6 第六步:应用层链路验证 ​

bash
# WebSocket 连通性
npx wscat -c wss://echo.websocket.events --no-check
# 观察是否在固定秒数后自动断开

八、行业避坑矩阵:这些话术背后是什么 ​

宣传话术真实含义长连接场景风险等级
"全网独家 0 丢包"平峰时段测的,晚高峰不保证⚠️ 高
"无限流量不限速"通常有隐性公平使用策略,超量后降速到 1Mbps⚠️ 高
"专线直连,超低延���"未说明是公网中转还是真专线⚠️ 极高
"1Gbps 大带宽"单节点总带宽,非单用户保障带宽⚠️ 中
"原生 IP 解锁流媒体"IP 归属地正确,但可能已被流媒体标记⚠️ 中(与长连接无关)
"支持 UDP 转发"部分产品 UDP 与 TCP 走不同链路,稳定性差异大⚠️ 中

识别超售的三个实操方法:

  1. 在晚高峰(21:00-23:00)连测三次 speedtest,若速度波动超过 3 倍,基本可判定超售
  2. 观察同一节点在 mtr 中的 RTT 分布,超售节点的尾部延迟(p95)会显著劣化
  3. 查看节点数/用户数比值,节点少、用户多的产品必然超售

识别"伪专线":真 IEPL/IPLC 的 mtr 结果中,从国内入口到境外出口之间不会出现大量公网跳跃点。如果 traceroute 显示中间经过了 202.97.x.x(电信骨干)、219.158.x.x(联通骨干)等地址,那就是公网中转。


九、FAQ:来自真实工单的七个痛点 ​

Q1:为什么我白天好好的,一到晚上 SSH 就断?

晚高峰国际出口拥塞,TCP 丢包触发重传超时。这是物理层问题,客户端调参只能缓解不能根治。解决方案是换 IEPL 专线型节点,或在客户端开启 BBRv3 拥塞控制。

Q2:ServerAliveInterval 设成 5 秒是不是更稳?

不是。过短的心跳会增加隧道内的小包数量,在 QoS 设备上反而更容易被识别和限速。15-30 秒是经验最优区间。

Q3:开了 mux 之后延迟变高了,正常吗?

正常。mux 用单条 TCP 承载多流,存在队头阻塞。低延迟优先时关 mux,高并发小请求场景开 mux。

Q4:RDP 用 UDP 还是 TCP 更好?

Windows 的 RDP UDP 传输在低丢包链路(低于 0.5%)下体验明显更好,但在高丢包链路上会不断重试导致卡顿。建议在代理客户端中开启 UDP 转发并实测对比。

Q5:WebSocket 每隔 60 秒断一次,怎么定位?

socket 层 60 秒是个信号——大概率是中间网关的应用层空闲超时。抓包确认是谁发的 FIN,然后针对性加心跳。多数云厂商的 ALB/Nginx 默认 proxy_read_timeout 就是 60s。

Q6:长连接挂机被商家判定为"滥用"怎么办?

纯 SSH 挂机不产生大流量,通常不会触发。但如果是持续 rsync 大流量传输,建议选择明确标注"无倍率"且流量充足的套餐。查看 流量计费规则详解 可以了解各家倍率设置。

Q7:自建 VPS 是不是比机场更稳?

单看链路,自建在 IP 独占性上有优势;但自建只有一条公网链路,遇到国际出口拥塞时毫无冗余。IEPL 机场的物理链路质量通常优于普通 VPS 的公网直连。想对比的话可以看 自建与机场的成本对比分析。


十、延伸阅读与内链导航 ​


最后一句实话:长连接稳定性的本质是"用钱换确定性"。公网出口的拥塞是不可控变量,任何客户端调参、任何协议优化都只是把断线时间从 5 分钟推迟到 20 分钟。如果你的工作依赖一条 12 小时不断的 SSH,那么 IEPL 那 ¥20 的溢价,本质上买的是你半夜不用爬起来重连的睡眠。

本文数据来自 AirPick 实验室 2026 年 Q1 实测,测试环境为国内电信 1000M 家宽 + 境外洛杉矶 VPS,样本周期 72 小时。测试结果受本地网络环境影响,仅供参考。

数据仅供参考,请以机场官网实时信息为准。遵守法律法规,文明合规出海。