故障排查
Wi-Fi 能用但移动网络不能用:原因与排查方法
直接答案
这类问题几乎都出在网络环境差异上,而不是客户端配置:优先检查移动网络的 IPv6 支持、MTU 限制、运营商对特定端口的处理,以及是否开启了省电模式导致后台连接被中断。先尝试更换使用不同端口或传输方式的节点,能快速验证方向。
问题信息
| 症状 | Wi-Fi 环境下正常,切换到移动数据后无法连接 |
|---|---|
| 适用平台 | Android、iPhone / iPad |
| 涉及客户端 | Shadowrocket、Clash Verge Rev、sing-box、Hiddify |
| 排查难度 | 进阶 |
| 预计耗时 | 10–30 分钟 |
| 常见错误提示 | 连接超时、能连接但无法打开网页、handshake timeout、network unreachable |
可能的原因
- 移动网络与家庭宽带的 IPv4/IPv6 支持情况不同,节点地址类型与之不匹配
- 蜂窝网络的 MTU 较小,大数据包被分片或丢弃,表现为能握手但无法传输
- 运营商对部分端口或传输方式的处理策略与固网不同
- 移动网络使用运营商级 NAT,长连接更容易被中断
- 系统省电模式或后台数据限制切断了客户端的后台连接
- 客户端中的分流规则针对 Wi-Fi 环境编写,在蜂窝网络下不适用
- 移动网络下 DNS 由运营商下发,与 Wi-Fi 环境的解析结果不同
先做这些快速检查
以下检查成本低、风险小,建议在修改任何配置之前先完成。
- 关闭客户端后确认移动数据本身可以正常上网
- 切换到使用不同端口或不同传输方式的节点,观察是否恢复
- 关闭省电模式与后台数据限制后重试
- 确认系统设置中没有为该客户端单独禁用蜂窝数据权限
- 开关一次飞行模式,强制重新注册网络后再测试
解决方法
以下方案按风险与成本由低到高排列,建议依次尝试,并在每次改动后重新测试。
确认客户端的蜂窝数据权限
适用平台:Android、iPhone / iPad
iOS 与 Android 都允许按应用限制蜂窝数据,被限制的客户端在 Wi-Fi 下正常、切到移动网络即失效。
- 打开系统设置中的蜂窝网络(或移动网络)页面
- 找到所使用的客户端应用,确认其蜂窝数据开关处于开启状态
- 确认系统未开启「低数据模式」或同类的流量节省功能
- 关闭省电模式后重新测试,省电模式可能限制后台网络活动
更换节点验证端口与传输方式
适用平台:Android、iPhone / iPad
这是判断问题是否与运营商策略相关的最快方法,不需要修改任何配置。
- 在节点列表中选择使用不同端口的节点,测试是否可用
- 再尝试使用不同传输方式的节点(例如从基于 TCP 的换成基于 QUIC 的)
- 记录哪些节点在移动网络下可用、哪些不可用
- 如果特定类型的节点稳定可用,日常在移动网络下优先使用该类节点
调整 MTU 设置
适用平台:Android、iPhone / iPad
蜂窝网络的实际 MTU 通常小于固网,数据包过大时会出现能连接但无法加载页面的现象。
- 在客户端的 TUN 或网络设置中找到 MTU 选项
- 将数值从默认值逐步下调(例如从 1500 调至 1400 附近)测试
- 每次调整后重新连接并测试实际访问,而不是只看延迟
- 找到可用值后记录下来,切换网络时按需调整
操作提示:MTU 设置过低会降低传输效率,找到可用值后不必继续下调。若调整后无改善,应恢复默认值再排查其他方向。
检查 IPv6 相关设置
适用平台:Android、iPhone / iPad
部分移动网络以 IPv6 为主,与仅支持 IPv4 的节点或解析配置不匹配时会连接失败。
- 在客户端设置中查看 IPv6 相关选项的当前状态
- 尝试关闭 IPv6 支持后测试,确认问题是否与之相关
- 若关闭后恢复正常,说明当前节点或线路的 IPv6 支持不完整
- 反之若开启后恢复,则说明该网络环境需要 IPv6 才能正常建立连接
进阶排查
以上方法都无效时,可以按下列方向进一步定位问题。
- 对比 Wi-Fi 与移动网络下客户端日志的差异,重点看握手阶段与传输阶段的错误类型
- 确认 DNS 设置在两种网络下是否一致,必要时在客户端内指定固定的解析方式
- 观察长连接被中断的时间间隔,判断是否与运营商级 NAT 的超时策略相关
- 在移动网络下测试直连访问国内网站的稳定性,排除网络本身的质量问题
这类问题的特殊之处
大多数连接故障在所有网络环境下表现一致,而「Wi-Fi 正常、移动网络失败」是一个条件性故障——同一台设备、同一个客户端、同一份配置,只是接入方式不同就出现差异。这个特征本身就是最有价值的线索:它排除了客户端配置错误、订阅过期、系统时间偏差等大部分常见原因,因为这些因素不会随网络切换而改变。
因此这类问题的排查方向应当集中在两种网络之间的差异上,而不是重复节点全部超时中的通用步骤。
两种网络到底差在哪里
传输单元大小(MTU)
家庭宽带通常可以传输接近 1500 字节的数据包,而蜂窝网络由于封装层更多,实际可用的 MTU 往往更小。当数据包超过路径允许的大小且无法正确分片时,握手阶段的小数据包能通过,实际传输的大数据包却被丢弃——表现为「连上了但打不开网页」这种半通状态。
地址族支持
部分移动网络以 IPv6 为主,通过转换机制访问 IPv4 资源。如果节点只有 IPv4 地址,或客户端的解析配置与网络实际支持的地址族不匹配,就会出现连接失败。这也解释了为什么有些用户关闭 IPv6 后恢复正常,而另一些用户恰好相反。
运营商策略
移动网络与固网的流量管理策略可能不同,对特定端口、特定传输特征的处理方式存在差异。这类差异无法从客户端一侧观察到,只能通过「更换使用不同端口或传输方式的节点」来间接验证。
连接保持
移动网络普遍使用运营商级 NAT,且设备在基站间移动时地址可能变化。这使得长时间保持的连接更容易被中断,表现为使用一段时间后断开,而不是完全无法连接。
推荐的排查顺序
由于原因分布在网络层的不同位置,建议按「验证成本」而非「可能性」排序:
- 确认权限与省电设置——几秒钟即可完成,且是排除项而非猜测;
- 更换节点类型——不修改任何配置,通过对比直接指向问题方向;
- 调整 MTU——针对「能连不能用」的典型表现;
- 调整 IPv6 设置——针对完全无法建立连接的情况;
- 检查 DNS 与日志——前面都无效时的进一步定位。
第二步尤其值得优先做:如果换用不同传输方式的节点后立刻恢复,那么后面的步骤都可以跳过,日常在移动网络下固定使用该类节点即可。关于不同传输方式的特点,可参考Hysteria 2 的特点与适用环境。
一个常见的误判
不少用户在遇到这类问题时会先怀疑服务,进而更换服务商。但由于原因位于本地网络环境,更换服务后往往在同样的移动网络下遇到相同现象——除非新服务恰好提供了适合该网络环境的节点类型。
更有效的做法是:在现有服务中找到移动网络下稳定可用的节点类型,并把这一信息作为后续选择服务时的参考条件。相关的评估方法可参考如何选择服务。
记录测试结果
由于这类问题受运营商、地区和时间段影响,同样的设置在不同地方可能表现不同。建议简单记录:哪些节点在移动网络下可用、当时的 MTU 设置、IPv6 开关状态。这份记录在更换城市、更换套餐或重装客户端后能节省大量重复排查的时间。
常见问题
为什么同一个节点在 Wi-Fi 下正常,移动网络下就不行?
因为两种网络的传输环境不同:MTU 大小、IPv4/IPv6 支持情况、运营商对端口和传输方式的处理策略、NAT 类型都可能存在差异。节点本身没有变化,变化的是通往它的网络路径。
换了节点就能用,是不是原来的节点有问题?
不一定是节点故障,更可能是该节点使用的端口或传输方式在当前移动网络下受到影响。同一个节点在其他网络环境或其他时间段可能完全正常。
MTU 应该设置成多少?
没有适用于所有环境的固定值。移动网络的可用 MTU 通常低于固网,可以从默认值开始逐步下调测试。找到可用值后不必继续下调,过低的 MTU 会降低传输效率。
能连上但网页打不开,属于这类问题吗?
属于典型表现之一。能完成握手说明连接建立成功,但页面无法加载说明数据传输环节出了问题,这种「半通」状态常与 MTU 或分片处理相关,可优先从 MTU 方向排查。
信息来源与说明
本文根据客户端公开文档、网络传输的通用原理与常见反馈整理。移动网络的具体策略因运营商、地区和套餐类型而异,文中给出的是排查方向而非确定结论。
- 各客户端项目文档中关于 TUN、MTU 与 IPv6 的说明选项名称与位置因客户端和版本而异。
更新历史
- 建立文章结构,按网络层差异组织排查方向。