2026-09-28 · 故障排查 · 约 10 分钟

Shadowrocket 开关打开却上不了网:服务器状态、模式、DNS、规则逐项排查

连接开关已打开但网页打不开时,按顺序检查:节点连通性测试、Global Routing 模式、dns-server 设置、规则是否误写 REJECT,逐项定位原因。

本文速览

Shadowrocket(小火箭)的连接开关表示本机连接状态,不等于远端服务器、DNS 与目标网站均可访问。本文以用户已有自己的服务商与订阅为前提,按基础网络、服务器、Global Routing、DNS、规则的顺序排查;每轮只改变一项设置,并用同一网页复测,最后恢复日常配置。

一、先区分基础网络与代理连接故障

不要先删除应用或重置全部配置。先在 Home 关闭连接开关,确认当前 Wi-Fi 或蜂窝网络能否访问一个平时可以直接访问的网站。公共 Wi-Fi 如需登录,应先完成网络认证;关闭连接后仍然打不开普通网页,应先处理设备联网或网络接入问题。

如果开关关闭时正常、打开后异常,说明问题与启用后的流量路径有关,但还不能直接归因于服务器。错误的 DNS、规则中的 REJECT、失效的服务器参数,以及其他网络扩展的冲突,都可能产生相似现象。

  1. 记录当前项

    在 Home 记录选中的服务器与 Global Routing,在 Config 记下当前生效的配置文件。编辑前保留配置副本,不把密码、订阅链接或访问令牌发到公开位置。

  2. 检查直连

    关闭连接开关,用浏览器访问已知可以直接访问的网页。若公共 Wi-Fi 弹出认证页面,先完成认证,再回到 Home。

  3. 固定测试页

    选定一个出现故障的完整网页地址。后续每次改动后重新加载同一地址,区分页面超时、域名解析失败与正常返回的 HTTP 错误。

  4. 对照网络

    在允许使用蜂窝数据的情况下,对照 Wi-Fi 与蜂窝网络。保持服务器、模式与配置不变;只在其中一个网络失败时,优先检查该网络的限制与解析条件。

二、检查 Home 中的服务器与连通性测试

在 Home 确认当前选中的服务器确实来自自己的有效服务资料,再运行 Connectivity Test。测试有响应,只能说明该测试方式涉及的链路获得了响应;它不保证浏览器的 DNS、规则匹配与目标网站访问都正常。反过来,单次超时也不能独立证明服务器已失效,应结合实际请求与其他网络复测。

点开当前服务器的编辑项,对照自己的服务商资料核验类型、地址、端口与认证字段。Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuard 的字段并不相同,不应为了“试一下”随意更换 Type。若原资料启用了 TLS,还要核对相关服务器名称与证书验证设置,不要把关闭验证当作常规修复。

按错误原文判断方向,不只看“超时”二字

如果连接记录或诊断结果出现以下英文错误,可按对应方向核查。具体错误文本取决于失败环节,并非每次网页打不开都会显示这些原文。

报错:Connection refused

原因:目标地址与端口的连接被拒绝,可能是端口填写错误或服务端未监听。解法:对照已有资料核对端口,换网络复测后仍相同,再向自己的服务商确认服务状态。

报错:Operation timed out

原因:操作在等待期限内没有完成,可能涉及链路不通、服务端无响应或中间网络限制。解法:保持服务器参数不变,对照 Wi-Fi 与蜂窝网络,并结合实际网页请求判断失败范围。

若只有订阅更新失败,而已有服务器仍能访问网页,应把它视为订阅地址访问问题,不要据此清空可用配置。订阅地址中的令牌具有敏感性,反馈时只描述错误与发生环节,不提交完整链接。

三、用 Global Routing 做模式对照

在 Home → Global Routing 查看当前选项。Config 按生效配置的规则处理请求;Proxy 用于代理模式对照;Direct 用于直接连接对照;Scene 需要结合自己的场景配置理解,不能把它当作固定等同于 Config 的选项。临时切换只是诊断手段,完成后应恢复原本需要的模式。

4 项
Global Routing:Proxy / Direct / Config / Scene
2 组
对照结果:Proxy 与 Config;Wi-Fi 与蜂窝网络
1 项
每轮只更改一个条件,再加载同一网页
对照现象优先检查下一步
Proxy 正常,Config 失败生效配置、规则目标与匹配顺序恢复 Config,查看失败域名命中了哪一条规则。
Proxy 失败,Direct 正常当前服务器及代理路径核对服务器参数与服务状态,不先大改规则。
Proxy 与 Config 都失败共同依赖的服务器、DNS 或基础网络结合关闭开关后的测试结果缩小范围。
只在 Scene 下异常当前场景及其关联设置记录场景条件,临时用 Config 建立对照。

结论:Proxy 正常时先查 Config

如果同一服务器、同一网络、同一网页在 Proxy 下正常而在 Config 下失败,先检查生效规则与目标策略,不要立即更换全部服务器资料。这个对照缩小的是排查范围,并不能单独证明 DNS 一定正常。

四、核对 DNS 与 dns-server 设置

DNS 把域名解析成 IP 地址。服务器自身使用域名时,建立代理连接之前也可能需要解析。因此,“服务器地址解析失败”与“目标网站域名解析失败”是两个不同环节,应在记录中区分,不能统一归为服务器不可用。

进入 Config,确认当前生效文件,再打开其编辑内容,查看 [General] 下的 dns-server。下面是使用系统解析器的单项诊断示例,不是让所有用户覆盖现有配置;如果网络中的系统解析本身存在问题,改为 system 也不会自动解决。

[General]
dns-server = system
  1. 保存原来的 dns-server 行,以及相关 DNS 设置,避免改完无法恢复。
  2. 检查是否有拼写错误、失效地址或复制残留。DNS 服务器必须在当前网络与路由条件下可达,不能只凭地址格式正确就认定可用。
  3. 若需要对照系统解析,仅替换这一项并保存;确认使用的是修改后的配置,再重新建立连接与加载网页。
  4. 如果结果无变化,恢复原值,继续查规则与服务器。若恢复访问,再结合网络环境核实原解析器为什么不可达。

五、检查 REJECT、规则顺序与 FINAL

当只有部分网站打不开,尤其是 Proxy 正常、Config 异常时,检查 Config 中生效文件的 [Rule]。规则按顺序匹配,命中后使用该条指定的策略;宽泛规则放得过早,会让后面的精细规则没有机会匹配。

DOMAIN-SUFFIX 用于匹配域名及其子域名,IP-CIDR 针对 IP 网段,GEOIP 基于 IP 地理数据库匹配。它们并非同一种判断:使用 IP 类规则时,还可能涉及域名解析结果。排查时先找失败请求的域名与实际命中项,不要把所有规则关键字互相替换。

[Rule]
DOMAIN-SUFFIX,example.com,REJECT
FINAL,DIRECT

这段示例会拒绝 example.com 及其子域名,其他未命中的请求交给 DIRECT。它用于说明故障原因,不是推荐配置。如果真实网站误被相似规则覆盖,即使连接开关正常、服务器测试有响应,网页仍可能无法加载。

修正规则后,用 Global Routing → Config 重新测试同一地址。若主页面恢复但资源仍失败,继续定位失败资源的域名,而不是反复改动 FINAL。对依赖多个域名的网站,单独放行主域名不一定覆盖全部请求。

六、检查 On Demand 与重复连接现象

如果关闭开关后很快又自动连接,或者切换网络时测试条件总在变化,进入 Settings → On Demand,记录当前状态。诊断期间可暂时关闭已启用的 On Demand,再回 Home 手动控制连接,以免自动连接改变对照结果;排查完成后按原需求恢复。

重装应用不应作为第一步,因为它可能丢失用于比较的配置与记录。服务器资料失效应向自己的服务商核实;规则误匹配应修正规则;基础网络不通应先解决网络接入。把故障落到具体环节,通常比反复切换开关更容易验证结果。

七、常见追问与恢复检查

显示连接成功,为什么还是打不开?

连接状态不覆盖整个访问链路。先关闭开关验证基础网络,再在 Home 核对服务器并测试,随后用 Global Routing → Proxy 与 Config 对照,最后检查 DNS 和命中的规则。

Connectivity Test 有响应,网页却一直超时?

测试方式与实际网页请求可能不同。保持同一服务器,临时切到 Proxy 加载原网页;若恢复,回 Config 查规则。若仍失败,继续核对认证、DNS 与目标服务状态,不能仅凭延迟结果排除这些环节。

订阅更新后就不能用了,要重新购买应用吗?

先在 Home 确认更新后选中的服务器,再核对自己的服务资料是否有效。客户端购买与服务资料是两件事,重新购买应用不会修正失效的服务器参数或订阅内容。

修好以后,哪些设置需要改回去?

恢复日常使用的 Global Routing,撤回没有必要的临时 DNS 改动,并按原需求恢复 Settings → On Demand。最后在 Config 模式下分别验证目标网页与普通直连网页,保留有效修改的记录。

App Store 正版核验