切换机场节点后旧连接还在?长连接与新出口验证方法
切换机场节点后,旧下载仍显示走原节点,不一定是切换失败。已经建立的连接是否被中断,与后续连接选择哪个出口,是两件需要分别检查的事。先看连接建立时间和实际链路,再决定是否让应用重新连接。
本文适合“界面已选节点 B,连接记录里仍有节点 A”的情况。下面用 Mihomo 的连接信息和 sing-box 的相关选项说明原理,不能把某个内核的字段直接套到其他客户端。
作者:小六|资料核对日期:2026年10月6日
切换了选择,为什么还看得到旧连接?
节点选择决定连接使用的出口,而正在传输的会话已经建立了自己的连接状态。若客户端没有关闭它,不能期待已有连接把远端端点直接替换成另一台节点。
网页请求也不总是每次创建全新连接。MDN 说明,HTTP/1.1 的持久连接可以供多个请求复用,HTTP/2 则有其他连接管理方式。见 HTTP 连接管理说明。
因此,点击刷新、打开新标签页,都不能单独保证已经建立了新的底层连接。继续看到旧出口,先判断它是不是切换前已经存在的记录。
第一步:记录切换时间和对应策略组
切换前记下当前组、选中成员与需要观察的应用。切换后再看该组的选择是否改变,而不是只看首页上某个节点名称。
如果上层选择的是另一个自动组,还需要查看实际出口。目标连接也可能命中了其他规则、另一个组或直连策略,这时修改当前组不会必然影响它。
策略组基本关系可以结合本站的自动选择、故障转移与负载均衡说明理解。本篇重点是切换前后的连接状态,不重新比较各种策略类型。
第二步:对照建立时间、命中规则和链路
Mihomo 的连接接口提供 start、chains、目标元数据和命中规则等信息,用于判断连接何时建立、采用哪条链路。见官方连接 API 说明。图形面板是否展示这些字段,应以实际界面为准。
| 观察结果 | 需要确认的事 |
|---|---|
| 切换前建立的连接仍显示 A | 客户端是否保留旧会话 |
| 切换后建立的目标连接显示 B | 新连接是否按预期进入所选组 |
| 切换后目标连接仍显示 A | 实际规则、嵌套组与客户端选择是否一致 |
| 目标没有进入连接记录 | 应用是否经过该客户端,以及是否真的发起请求 |
不要只按节点名称筛选后截图。先锁定目标应用和连接时间,避免把其他后台任务的旧会话认成这次测试的连接。
第三步:需要验证新出口时,让目标重新连接
确认没有重要传输后,可以暂停目标应用的任务,再使用它支持的重新连接功能,观察新出现的记录。有些应用需要完全退出后重新启动,具体应按应用自己的行为判断。
若面板支持关闭指定连接,可以先只处理已经确认的那一条,再让应用重连。Mihomo 文档区分关闭单个连接与关闭全部连接,两者影响范围不同。
“关闭全部连接”可能同时打断下载、通话与其他任务。没有必要时,不应为了测试一个网页而全部清空;如果确实需要整体重连,先保存工作并处理进行中的任务。
新记录出现后,再核对建立时间、目标和实际出口。只有界面数字变化,没有对应的新连接证据,仍不足以说明目标已经切换。
自动断开旧连接的选项,都一样吗?
不一样。以 sing-box 的 Selector 为例,interrupt_exist_connections 用于在选中的出站发生变化时中断已有连接;官方还区分受此设置影响的入站连接与始终中断的内部连接。见 Selector 官方文档。
这说明是否主动断开,需要看内核和对应设置。该字段属于 sing-box,不能因为客户端界面类似,就原样写入 Mihomo 配置。
图形客户端可能另外提供切换后关闭连接的功能。先查安装版本的说明与实际设置,再用不重要的任务做对照,不把“打开后切换更彻底”理解成正在进行的传输不会受影响。
出口 IP 页面没变化,就能证明切换失败吗?
不能单独证明。页面请求可能复用原连接,也可能没有命中正在调整的策略。先把查询页面的实际连接与切换时刻对应起来,再分析结果。
一个应用还可能使用多个目标和多条连接。某条连接显示新出口,不能推出整个应用的所有会话已经一起迁移;需要观察的范围应与自己的用途一致。
如果新连接也持续不符合预期,再按本站的规则模式与 TUN 指南检查接管和分流,避免反复刷新订阅却没有查看实际路径。
留下怎样的记录更容易交流?
记录客户端与内核版本、策略组类型、切换时间、目标应用,以及切换前后连接的建立时间和链路。再注明是否启用了关闭旧连接的功能、是否让应用重连。
想交流切换节点后旧连接保留或新出口不生效的问题,可以提供这些脱敏信息,不需要发送完整订阅:Telegram 联系我