小火箭开了连不上网怎么办:按服务器、模式、DNS、规则逐项排查

开关显示已连接但网页打不开时,按顺序检查四项:服务器连通性测试、Global Routing 模式、DNS 设置和规则命中。

本文速览

Shadowrocket(小火箭)显示已连接,只能说明设备上的 VPN 隧道已经启动,不能证明远端服务器、DNS 和目标网站全部可用。本文面向已经有自己服务商与订阅的用户,按基础网络、服务器、Global Routing、DNS、规则的顺序缩小故障范围;每次只改变一项,并用相同网址复测,最后恢复日常配置。

一、显示已连接,为什么仍然打不开网页?

先确认故障发生在哪一层。设备建立本地 VPN 隧道,与远端服务器完成连接、解析目标域名、成功请求网页,是不同的环节。Home 中连接开关开启或系统出现 VPN 标识,并不代表某个网站已经通过整条路径返回内容。

第一步应该做什么?先建立基础网络对照。记录当前网络、所选服务器、Global Routing 模式和正在使用的配置,再临时断开 Shadowrocket,打开一个在当前网络下通常可以直接访问的网站。若此时仍然失败,应先处理 Wi-Fi 登录、蜂窝数据权限或网络本身,而不是继续改规则。

  1. 记录现场

    在 Home 记下所选服务器与 Global Routing 当前值,在 Config 记下正在使用的配置。保留配置副本,避免排查后无法还原。

  2. 暂停自动连接

    进入 Settings → On Demand,记录设置并临时关闭 On Demand,再关闭 Home 的连接开关,避免测试直连时隧道被自动重新启用。

  3. 测试基础网络

    用 Safari 打开一个平时可直接访问的网站。如果 Wi-Fi 需要网页认证,先完成认证;再对同一网址做一次蜂窝网络对照。

  4. 重建连接

    基础网络正常后,回到 Home 开启连接,使用相同网址复测。后续每完成一项修改,都重新建立连接并发起新请求。

切换 Wi-Fi 与蜂窝网络后结果不同,能说明什么?它说明问题与网络路径有关,但还不能直接判定为某个协议故障。服务器端口的可达性、DNS、网络认证状态都可能随网络改变,应保留这个差异,继续做下一项对照。

二、服务器测试有结果,是否就代表可以上网?

不能。先在 Home 对当前服务器执行连通性测试,并确认所用测试方法。仅测端口建立连接,与通过代理请求测试网址,覆盖的环节不同;一个延迟数值不能保证所有域名、所有传输方式和所有目标端口可用。

测试失败应该先改哪些字段?打开当前服务器的编辑界面,对照自己服务商提供的原始信息,逐项检查地址、端口、Type 和认证参数。不要凭经验把端口统一改成 443:443 只是 HTTPS 的常用端口,远端代理监听端口必须与服务端设置一致。

检查对象需要核对的内容容易误判的情况
地址与端口完整主机名或 IP、实际监听端口端口填成网站的 443,不一定是代理服务端口
Shadowsocks加密方法、密码与服务端一致地址可达不代表认证与加密参数正确
VMess / VLESSUUID、传输方式及对应传输参数UUID 正确,传输配置仍可能不匹配
Trojan 与 TLS密码、服务要求的 TLS 与服务器名称连接到 IP 后,证书名称校验仍可能失败
Hysteria2 / WireGuard按服务资料检查认证、密钥及相关参数不能用仅覆盖 TCP 的测试结果判断 UDP 路径

手动修改与订阅更新应该选哪个?如果服务器来自自己的订阅,先确认订阅更新成功,以及当前选择的条目仍在服务有效范围内。更新订阅只是刷新连接信息,不等于确认远端可用;也不要在未保存副本的情况下反复覆盖配置。本文不提供连接资源,参数有效性应向自己的服务商核实。

错误关键字:Connection timed out

原因与解法:连接在规定时间内未完成,可能涉及地址、端口或网络路径;先核对服务器信息,再用 Wi-Fi 与蜂窝网络分别测试,不能只凭超时判断服务已停用。

错误关键字:Connection refused

原因与解法:连接被目标端或中间设备明确拒绝,可能是端口没有监听或策略拒绝;核对端口,并请自己的服务商确认监听状态。

错误关键字:No such host

原因与解法:相关主机名未能解析,需先分清是服务器地址还是目标网站域名;检查拼写与当前 DNS,避免把解析失败当作密码错误。

这些错误文字在哪里看?在应用的连接记录、诊断信息或系统网络错误中,保留实际出现的原文与发生时间;不同请求可能显示不同措辞。没有看到对应文字时,不要把这里的例子当成设备已经给出的诊断。

三、Global Routing 应该怎样做对照测试?

模式怎么选才便于定位?进入 Home → Global Routing,先记录当前值,再分别用 Direct、Proxy、Config 对同一网址发起新请求。这里只是短时诊断,不是要求长期使用某个模式;Direct 对照应选当前网络允许直接访问的目标。

4 项
Global Routing:Proxy / Direct / Config / Scene
3 组
基础对照:Direct、Proxy、Config
1 项
每轮仅改变一个设置,保持测试网址一致
模式或现象含义与下一步
Direct用于直连对照;它仍不等于关闭整个 VPN,也不能排除应用内 DNS 设置的影响。
Proxy用于检查当前代理路径;确认实际使用的服务器或策略,避免选中的对象已经变化。
Config按当前配置规则分流;Proxy 正常而 Config 失败时,优先查看命中规则与策略。
Scene按场景设置选择路由行为;排查时先核对当前场景,再临时改用明确的对照模式。
Direct 正常,Proxy 失败重点检查代理服务器、认证、传输参数,以及服务器域名解析。
Proxy 正常,Config 失败检查规则是否让目标走了不合适的路径,或引用了不可用的策略。

结论:先固定路径,再修改规则

若 Proxy 能打开同一网址而 Config 不能,先保留服务器参数不动,转查规则命中;这样可以避免把已验证可用的服务器设置改坏。

四、怎样判断是不是 DNS 解析失败?

网页一直等待,是否就一定是 DNS?不是。DNS 故障需要解析记录或明确的解析错误支持。还要区分两个对象:服务器地址若是域名,它需要先被解析;目标网站域名也可能通过另一条解析路径处理。前者失败时,代理连接本身就可能无法建立。

具体从哪里检查?进入 Config,打开当前正在使用的配置查看 DNS 相关内容。先保存副本,再检查 [General] 中的 dns-server,以及是否另有适用于特定域名的 DNS 设置。仅修改系统 Wi-Fi 的 DNS,不一定能覆盖配置指定的解析路径。

能否直接输入网站 IP 来排除 DNS?不能据此下定论。HTTPS 依赖域名参与证书校验和虚拟主机选择,直接访问 IP 可能出现证书错误,或进入不同站点。应优先查看域名是否得到有效解析结果,再核对随后连接是否成功。

五、规则命中错误,应检查哪些关键字?

Config 模式下只有部分网站失败,先看什么?在 Config 确认选中的配置,再查看失败请求对应的连接记录:目标域名或 IP、命中的规则、最终策略、所用服务器。Shadowrocket 按规则顺序匹配,符合条件的前序规则会影响结果;仅看文件里“写过这条域名”还不够。

关键字匹配范围排查重点
DOMAIN完整域名主域名与不同子域名需要分别核对。
DOMAIN-SUFFIX域名本身及其子域名后缀范围是否过宽,是否被更早的规则截获。
GEOIP按 IP 地理数据库结果匹配应核对目标 IP 的归属,而不是通过域名后缀推断地区。
IP-CIDRIPv4 地址段掩码范围是否正确,以及解析所得地址是否在段内。
FINAL未命中前序规则的请求最终策略是否可用,是否与预期一致。

规则语法怎么核对?下面仅演示三类规则与顺序,不是建议直接导入的配置。example.com 与 192.0.2.0/24 是文档示例,PROXY 的实际代理出口也需要在自己的配置中核对。

[Rule]
DOMAIN-SUFFIX,example.com,DIRECT
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
FINAL,PROXY

这里为什么写 no-resolve?它用于该 IP 规则,表示不为匹配这条规则而主动触发域名解析;它不是全局关闭 DNS。也不要把 FINAL 放在准备继续匹配的规则之前,否则后面的规则无法承担预期的分流作用。

六、排查完成后,怎样恢复并保留有效证据?

问题消失后是否可以立即结束?先恢复日常 Global Routing 模式,再确认 Config 使用的是预期配置;若平时使用 On Demand,回到 Settings → On Demand 恢复原先条件,并分别验证 Wi-Fi、蜂窝网络与网络切换后的表现。不要把临时诊断模式误当成最终配置。

仍然无法定位时应该提供什么?把信息整理成可复现的步骤,而不是只提交“已连接但打不开”。服务商负责核对服务参数和服务状态;应用内设置则需要结合模式、配置和连接记录判断。对外发送材料前,应遮盖订阅令牌、密码、UUID、私钥及其他认证信息。

结论:用可重复的差异确认修复

只有在同一网络、同一网址下,恢复某项设置能稳定复现失败,重新修正后又能恢复,才有依据把故障归到该项;单次刷新成功不应作为最终结论。

App Store 正版核验开发者与应用 ID