Shadowrocket(小火箭)显示已连接,只能说明设备上的 VPN 隧道已经启动,不能证明远端服务器、DNS 和目标网站全部可用。本文面向已经有自己服务商与订阅的用户,按基础网络、服务器、Global Routing、DNS、规则的顺序缩小故障范围;每次只改变一项,并用相同网址复测,最后恢复日常配置。
一、显示已连接,为什么仍然打不开网页?
先确认故障发生在哪一层。设备建立本地 VPN 隧道,与远端服务器完成连接、解析目标域名、成功请求网页,是不同的环节。Home 中连接开关开启或系统出现 VPN 标识,并不代表某个网站已经通过整条路径返回内容。
第一步应该做什么?先建立基础网络对照。记录当前网络、所选服务器、Global Routing 模式和正在使用的配置,再临时断开 Shadowrocket,打开一个在当前网络下通常可以直接访问的网站。若此时仍然失败,应先处理 Wi-Fi 登录、蜂窝数据权限或网络本身,而不是继续改规则。
-
记录现场
在 Home 记下所选服务器与 Global Routing 当前值,在 Config 记下正在使用的配置。保留配置副本,避免排查后无法还原。
-
暂停自动连接
进入 Settings → On Demand,记录设置并临时关闭 On Demand,再关闭 Home 的连接开关,避免测试直连时隧道被自动重新启用。
-
测试基础网络
用 Safari 打开一个平时可直接访问的网站。如果 Wi-Fi 需要网页认证,先完成认证;再对同一网址做一次蜂窝网络对照。
-
重建连接
基础网络正常后,回到 Home 开启连接,使用相同网址复测。后续每完成一项修改,都重新建立连接并发起新请求。
切换 Wi-Fi 与蜂窝网络后结果不同,能说明什么?它说明问题与网络路径有关,但还不能直接判定为某个协议故障。服务器端口的可达性、DNS、网络认证状态都可能随网络改变,应保留这个差异,继续做下一项对照。
二、服务器测试有结果,是否就代表可以上网?
不能。先在 Home 对当前服务器执行连通性测试,并确认所用测试方法。仅测端口建立连接,与通过代理请求测试网址,覆盖的环节不同;一个延迟数值不能保证所有域名、所有传输方式和所有目标端口可用。
测试失败应该先改哪些字段?打开当前服务器的编辑界面,对照自己服务商提供的原始信息,逐项检查地址、端口、Type 和认证参数。不要凭经验把端口统一改成 443:443 只是 HTTPS 的常用端口,远端代理监听端口必须与服务端设置一致。
| 检查对象 | 需要核对的内容 | 容易误判的情况 |
|---|---|---|
| 地址与端口 | 完整主机名或 IP、实际监听端口 | 端口填成网站的 443,不一定是代理服务端口 |
| Shadowsocks | 加密方法、密码与服务端一致 | 地址可达不代表认证与加密参数正确 |
| VMess / VLESS | UUID、传输方式及对应传输参数 | 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 对照应选当前网络允许直接访问的目标。
| 模式或现象 | 含义与下一步 |
|---|---|
| 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,不一定能覆盖配置指定的解析路径。
- 核对地址格式:检查是否有拼写错误、遗漏分隔符或已经不可达的解析器;加密 DNS 地址还涉及其主机名与 HTTPS 连接是否可达。
- 核对传输路径:普通 DNS 常用 UDP 或 TCP 的 53 端口,DoH 使用 HTTPS,通常为 443;端口含义不能证明当前网络允许访问该服务。
- 单项回退:若问题恰好发生在手动改 DNS 后,优先恢复修改前的配置副本,而不是同时新增多个解析器、改模式和替换服务器。
- 复测新请求:重新连接后重新载入页面,结合新产生的记录判断。浏览器与应用可能保留缓存,一次成功或失败都不足以说明全部域名的情况。
能否直接输入网站 IP 来排除 DNS?不能据此下定论。HTTPS 依赖域名参与证书校验和虚拟主机选择,直接访问 IP 可能出现证书错误,或进入不同站点。应优先查看域名是否得到有效解析结果,再核对随后连接是否成功。
五、规则命中错误,应检查哪些关键字?
Config 模式下只有部分网站失败,先看什么?在 Config 确认选中的配置,再查看失败请求对应的连接记录:目标域名或 IP、命中的规则、最终策略、所用服务器。Shadowrocket 按规则顺序匹配,符合条件的前序规则会影响结果;仅看文件里“写过这条域名”还不够。
| 关键字 | 匹配范围 | 排查重点 |
|---|---|---|
DOMAIN | 完整域名 | 主域名与不同子域名需要分别核对。 |
DOMAIN-SUFFIX | 域名本身及其子域名 | 后缀范围是否过宽,是否被更早的规则截获。 |
GEOIP | 按 IP 地理数据库结果匹配 | 应核对目标 IP 的归属,而不是通过域名后缀推断地区。 |
IP-CIDR | IPv4 地址段 | 掩码范围是否正确,以及解析所得地址是否在段内。 |
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、私钥及其他认证信息。
- 测试环境:设备类型、系统信息、Wi-Fi 或蜂窝网络,以及基础网络是否正常。
- 路由对照:同一网址在 Direct、Proxy、Config 下分别成功还是失败。
- 服务器情况:协议 Type、连通性测试方法与结果,不发送认证密钥。
- 请求证据:发生时间、脱敏后的错误原文、命中规则及最终策略。
- 修改记录:最后一次正常使用后是否更换服务器、更新订阅、修改 DNS 或配置。
结论:用可重复的差异确认修复
只有在同一网络、同一网址下,恢复某项设置能稳定复现失败,重新修正后又能恢复,才有依据把故障归到该项;单次刷新成功不应作为最终结论。