小火箭配置 DNS 怎么设置?从选择类型到验证是否生效
简答:小火箭配置 DNS,先确认首页正在使用的配置和 Global Routing 模式,再进入当前配置的 DNS 相关设置,只修改一个项目后断开并重新连接。所有域名都打不开,先查连接和节点;只有部分域名异常,再查 DNS、规则和目标请求;改成 DoH 后超时,则先恢复 system。小火箭支持记录 DNS 请求,但 DNS 设置不能单独修复节点失效、规则错误或目标站点连接失败。
定义:小火箭 DNS 是 Shadowrocket 用于解析域名的设置,可使用系统 DNS、普通 DNS 地址或加密的 DoH 地址,但它不等于代理节点,也不能解决所有网页连接问题。
先看结论:三行判断 DNS 还是其他故障
本文面向 iPhone 和 iPad 上的 Shadowrocket。App Store 将它描述为基于规则的代理工具,并列出 DNS 请求记录、IPv6 以及 DNS over HTTPS、DNS over TLS、DNS over QUIC 等能力;但具体菜单名称和可用字段仍应以你当前安装版本的界面为准。可先查看 App Store 产品说明。
| 现象 | 第一检查项 | 处理方向 |
|---|---|---|
| 所有域名都打不开,首页显示未连接 | VPN 连接状态、节点和网络 | 先确认小火箭已连接,再检查节点参数和当前配置 |
| 只有部分域名打不开 | DNS、规则匹配和目标请求 | 查看请求记录,确认域名走代理还是直连 |
| 延迟测试正常,但网页仍打不开 | 实际 DNS、规则和 TLS | 用同一域名重新发起真实网页请求,不要只看延迟 |
| 改成 DoH 后全部超时 | DoH 端点是否可达 | 先恢复 system,再单独测试网络和端点 |
最快解法:如果你只是想恢复原状,先把自定义 DNS 改回系统 DNS,断开小火箭后重新连接,再用同一个网络访问同一个域名。这样可以先判断问题是否由自定义 DNS 引起。
小火箭里的 DNS 类型怎么选
| 类型 | 常见填写形式 | 是否加密 | 依赖条件 | 适合用途 |
|---|---|---|---|---|
| 系统 DNS | system 或界面中的系统选项 | 通常不代表加密 | 依赖当前 Wi-Fi、蜂窝网络和系统配置 | 恢复默认、建立排障基线 |
| 普通 DNS | DNS 服务器 IP | 通常不加密 | 该 IP 在当前网络中可达 | 单独测试某个解析服务器 |
| DoH | 完整的 https://.../dns-query 端点 | 查询通过 HTTPS 传输 | DoH 域名、HTTPS 连接和代理关系均正常 | 测试加密 DNS 查询路径 |
DoH 只是改变 DNS 查询的传输方式,并不自动保证域名一定能解析、请求一定经过代理,也不等于节点可用。Google 的公开文档说明,传统 DNS 通常通过 UDP 或 TCP 传输,而 DoH 使用 HTTPS;其 POST 端点示例为 https://dns.google/dns-query,可参考 Google Public DNS 的安全传输文档。
不要把 Clash 或其他客户端里的 Fake-IP、Fallback、YAML 字段直接复制到小火箭。当前资料无法核实这些字段在你所用版本中的统一入口和语法,因此本文不把 Fallback 列为通用操作,也不提供可直接覆盖整份配置的配置文件。
按步骤配置小火箭 DNS
- 确认设备和当前配置。本文范围是 iPhone、iPad 上的 Shadowrocket。打开首页,记下当前是否已连接、所选节点、Global Routing 模式,以及 Config 页面显示的当前配置文件。导入配置但没有激活,不代表连接正在使用该配置。
- 先做基线测试。保持当前 Wi-Fi 或蜂窝网络、当前节点和当前测试域名不变。先访问一个你平时能打开的域名,再记录“未连接、已连接但打不开、只某个域名失败”等现象。不要在这一步同时换节点、规则和 DNS。
- 备份原配置。复制或导出当前配置,至少保留原 DNS 字段、手动节点、自定义规则和订阅信息。订阅地址、密码、密钥和节点参数不要放到截图或公开文本中。远程配置更新后可能覆盖本地修改,因此需要保留原始版本。
- 进入当前配置的 DNS 相关设置。优先从 Config 页面打开当前正在使用的配置,再寻找 DNS、DNS Server 或类似字段。不同版本、语言和配置格式的入口可能不同;如果在 Settings 和 Config 中都看到 DNS 选项,不要假设两者作用完全相同,应以当前页面提示和实际请求记录为准。
- 只改一种方式。恢复基线时选择系统 DNS;测试普通 DNS 时填写服务器 IP;测试 DoH 时填写完整 HTTPS 端点。不要把普通 DNS 的 IP 和 DoH URL 混在同一个字段中,也不要重复添加多个同名 DNS 字段。
- 保存并重新连接。保存后返回首页,断开当前连接,再重新连接。保持同一网络、同一节点和同一测试域名,重新打开网页,并查看 Data、Log 或 Diagnostics 中是否出现新的 DNS 请求记录。Shadowrocket 的 App Store 说明列出了 DNS 请求记录能力,但不同版本显示的详情可能不同,不能仅凭某个界面数字断定所有请求都使用了预期解析器。
- 异常时回滚。如果改成 DoH 后超时、网页全部打不开或连接建立失败,恢复备份中的原 DNS,重新连接,再单独测试节点、规则或网络。不要继续叠加修改。
配置字段可以只作为结构理解,不能直接覆盖现有文件:
结构示例,不可直接复制:
[General]
dns-server = system
或:
[General]
dns-server = https://dns.google/dns-query上面的字段名和写法可能受具体配置格式、版本或导入文件影响。若当前配置已有 [General] 或 dns-server,应修改原字段,并先在当前版本界面或配置说明中确认字段名称;不要重复新增,也不要把整份配置替换成这段示例。
怎么验证 DNS 是否真的生效
DNS 泄漏不能只靠“网页能打开”判断。更稳妥的是做一次单变量复测,并结合小火箭自身记录观察:
- 固定一个网络,例如只使用当前 Wi-Fi,不在测试过程中切换蜂窝网络。
- 固定一个节点、一个 Global Routing 模式和一个测试域名。
- 记录修改前后是否能打开同一域名,以及连接记录中是否出现对应的 DNS 请求。
- 如果界面提供请求详情,观察请求是否被匹配到预期的规则和代理策略;若只显示请求而不显示解析器地址,不要把它当成完整的 DNS 泄漏证明。
- 再切换到另一种网络重复测试。Wi-Fi 与蜂窝网络可能使用不同的系统 DNS、IPv6 路径和网络策略,因此一次成功不能代表所有网络都一致。
DoH 能加密客户端到 DoH 服务之间的 DNS 查询传输,但不能保证后续网页请求一定走代理,也不能消除系统、应用或其他网络组件产生的独立 DNS 请求。Google 也将 DoH 描述为加密 DNS 查询与回复的传输方式,而不是对所有网络请求的统一接管,详情见 Google Public DNS 安全传输说明。
如果你需要更严格的泄漏审计,应使用同一网络下的外部 DNS 检查工具,并结合小火箭日志、系统 VPN 状态和实际域名请求判断;本文不把某一次外部检测结果当作长期保证。
改 DNS 后仍打不开网页,按这个顺序排查
- 先查连接。确认首页连接开关已开启,VPN 权限没有被系统撤销,当前节点参数没有过期或缺失。DNS 无法修复节点握手失败。
- 再查 DNS。恢复
system与自定义 DNS 各测试一次,观察是否只有某个解析服务失败。DoH 还要额外检查端点域名是否可访问、证书是否正常以及当前网络是否允许建立 HTTPS 连接。 - 再查路由规则。Global Routing 的 Config、Proxy、Direct 是不同的路由方式。若只有某个域名异常,查看它实际匹配的规则和策略;切换模式时保持节点和域名不变。
- 最后查目标请求。如果 DNS 已成功、规则也匹配,但网页仍失败,可能是目标端口、TLS、IPv6、应用缓存或目标站点响应问题。此时继续换 DNS 往往不能定位原因。
App Store 产品说明显示,小火箭支持规则匹配、DNS 请求记录和 IPv6;但这不表示每个版本都以相同菜单展示,也不表示开启某项后所有应用都必然按同一方式解析。涉及 IPv6 时,分别在 Wi-Fi 和蜂窝网络下复测,并记录网络、节点、规则和 DNS 四个条件。
配置完成后的回滚与自查清单
- 是否确认首页正在使用的配置文件,而不是只编辑了一个未激活文件?
- 是否在修改前保存了原配置,并遮盖订阅地址、密码和密钥?
- 是否只修改了一个 DNS 项,没有同时换节点、规则和路由模式?
- 普通 DNS 是否填写服务器 IP,DoH 是否填写完整 HTTPS 端点?
- 是否断开并重新连接后,用同一网络、同一节点、同一域名复测?
- 是否查看了实际请求记录,而不是只看延迟或连接开关?
- 如果异常,是否恢复原值并重新测试,而不是继续叠加字段?
如果完成回滚后仍然打不开所有网页,问题优先级应回到连接、节点和网络;如果只有部分应用或域名异常,则继续检查规则、IPv6、应用自身设置和目标请求。本文为第三方使用指南,不是相关客户端或服务的官方页面,具体版本功能以 App Store 和应用内实际显示为准。
常见问题
小火箭 DNS 应该填 IP 还是 HTTPS 地址?
普通 DNS 通常填写服务器 IP,DoH 则填写完整 HTTPS 端点,例如包含 /dns-query 的地址。两者是否能在同一字段中使用,要以当前版本的界面提示和配置格式为准,不要混填。
小火箭配置 DNS 后,为什么节点延迟正常但网页还是打不开?
延迟测试只说明某个测试目标或节点路径可达,不代表 DNS、规则和实际网页请求全部正常。请保持节点和网络不变,查看 DNS 请求与规则匹配,再用同一域名发起真实访问。
小火箭 DNS 设置在哪个位置?
优先从 Config 页面确认当前激活的配置,再查找其中的 DNS、DNS Server 或类似字段。Settings 里也可能出现相关选项,但不同版本和配置格式的入口可能不同,应以当前应用界面为准。
DoH 能解决所有 DNS 污染和连接问题吗?
不能。DoH 主要改变 DNS 查询的传输方式,并不等于代理节点可用,也不能修复订阅失效、规则分流错误、目标端口不可达、IPv6 异常或 TLS 失败。改完后必须重新连接并复测。
怎么判断 DNS 泄漏是否修复?
固定同一网络、节点和测试域名,比较修改前后的 DNS 请求记录,并使用外部 DNS 检查工具复测。若应用只显示请求记录、不显示解析器信息,就不能据此证明所有 DNS 请求都使用了预期服务器。
可以把 Clash 的 Fake-IP 或 Fallback 配置复制到小火箭吗?
不建议。不同客户端的配置格式、字段和解析方式可能不同;本文没有核实这些字段在当前小火箭版本中的通用入口,因此应使用小火箭自身支持的字段,并保留可回滚的原配置。