Shadowrocket DNS 设置详解:系统 DNS、自定义 DNS 与 DNS over HTTPS 怎么选

对比系统 DNS、自定义 DNS 与 DNS over HTTPS 三种方式的解析路径和适用场景,并给出 dns-server 的写法示例与改动后的验证方法。

本文速览

系统 DNS 适合作为当前网络的排查基线,自定义 DNS 用来明确解析器,DNS over HTTPS 用来加密客户端与解析器之间的查询。本文面向已拥有自己的服务商与订阅、正在使用 Shadowrocket(小火箭)的用户,说明如何在 Config 中修改 General 段,如何区分解析故障与连接故障,以及怎样验证并回退一次 DNS 改动。

一、先区分 DNS 解析与网站连接

DNS 的任务是把域名解析为地址,例如查询 A 记录得到 IPv4 地址,查询 AAAA 记录得到 IPv6 地址。拿到地址后,访问 HTTPS 网站还需要建立连接、完成 TLS 握手并获取内容。因此,“有 DNS 响应”不等于“网页一定能打开”;“网页打不开”也不等于“DNS 一定出错”。

发起域名访问 查询解析器 取得地址 建立连接 获取内容

这条链用于拆分故障,不代表所有请求都在本机完成解析。Shadowrocket 的实际解析位置还与请求类型、规则和代理出站方式有关;某些连接可以把目标域名交给远端处理。不能只依据本地设置了一个 DNS 地址,就断言所有域名都由该解析器处理。

排查时先到 Home 核对当前服务器,再核对 Global Routing。Config 按当前配置处理分流;Proxy 与 Direct 改变全局路由姿态;Scene 按所选场景的设置工作。DNS 对比期间应保持同一个姿态,避免同时改变出站与解析器后,无法判断究竟是哪项起作用。

二、系统 DNS、自定义 DNS 与 DoH 的差别

这里的“自定义 DNS”特指直接填写解析器 IP 的传统 DNS,用来与 HTTPS 端点区分;从配置角度看,自己填写的 DoH 端点同样属于自定义设置。选择依据应是网络环境、解析器可达性和查询传输需求,不是名称听起来是否更高级。

方式解析路径适用条件核对重点
系统 DNS使用系统当前可用的解析器,通常受当前 Wi-Fi 或蜂窝网络影响。建立排查基线,或需要当前网络提供的内部域名解析。切换网络后解析器与结果可能变化。
自定义 DNS向明确指定的解析器 IP 发送传统 DNS 查询。需要固定解析器,且该地址在当前网络可达。UDP/TCP 53 的可达性,以及解析器是否允许当前来源查询。
DNS over HTTPS把 DNS 查询封装在 HTTPS 请求中发送到 DoH 端点。需要加密查询传输,且 HTTPS 端点与证书可用。完整端点路径、TLS 证书、端点域名的初始解析与实际路由。
53
传统 DNS 通常使用 UDP/TCP 端口 53
443
HTTPS 未指定端口时默认使用 443
2 类
地址记录:A 对应 IPv4,AAAA 对应 IPv6

DoH 加密的是客户端到解析器这一段传输。解析器仍然能够处理并看到收到的查询;网站连接也仍需遵循自己的出站路径。启用 DoH 不会自动把所有流量改成 Proxy,更不能代替对规则和服务器状态的核对。

结论:先验证可达,再决定是否使用 DoH

若系统 DNS 能稳定解析而 DoH 查询超时,先检查端点与 TLS 路径;不要同时修改 Global Routing。若需要内部域名解析,先保留系统 DNS 的测试结果,再评估外部解析器是否具备相同记录。

三、在 Config 中修改 dns-server

dns-server 写在配置文件的 [General] 段,不写在 [Rule] 段。下面每个代码块都是独立方案,不应把三个代码块直接拼接成一个文件。修改现有配置时,保留原有规则及其他字段,只替换本次需要测试的 DNS 设置。

  1. 在 Config 中确认当前启用的配置文件,先保存一份本地副本,记录原来的 dns-server 值。
  2. 打开该文件的编辑入口,找到 [General]。如果已有 dns-server,修改原行,避免留下重复键。
  3. 每次只选择一种方案,保存后确认启用的仍是这份文件;只编辑未启用的副本不会改变当前连接。
  4. 回到 Home,断开后重新连接,使新连接按保存后的配置进行测试。此前已建立的连接与缓存可能继续影响观察结果。

方案 A:使用系统 DNS

[General]
dns-server = system

方案 B:指定传统 DNS 地址

[General]
dns-server = 192.0.2.53

方案 C:指定 DoH 端点

[General]
dns-server = https://dns.example.com/dns-query

四、把解析设置与规则、Host 分开核对

DNS 负责取得地址,规则负责选择请求策略,Host 则可能为特定域名提供固定映射。三者影响不同阶段。若配置中已有 Host 映射,某个域名可能并未按你预期向上游查询;若应用保留了旧地址,立即刷新页面也可能看不出变化。

解析设置核对

入口
Config → 当前启用文件 → 编辑
配置段
[General]
字段
dns-server
映射检查
[Host] 中是否存在目标域名

先确认正在测试的文件,再检查是否有固定映射影响结果。

路由姿态核对

入口
Home → Global Routing
Config
按当前配置处理分流
Proxy / Direct
用于区分全局出站姿态
Scene
核对所选场景的实际设置

测试 DNS 时保持姿态不变,不把解析器变化与出站变化混在一次测试中。

例如,DOMAIN-SUFFIX 匹配域名后缀,IP-CIDR 匹配地址网段,GEOIP 依据 IP 地理数据库匹配,FINAL 处理前面的规则均未命中的请求。使用 IP 类规则时,应结合解析结果与规则选项检查实际命中,不能把域名规则命中情况直接当作 DNS 成功的证据。

五、修改后的验证步骤与记录方法

验证应采用“相同网络、相同目标、相同路由姿态、只改一个字段”的方式。选择自己有权访问且正常维护的目标域名,先记录系统 DNS 的表现,再测试传统 DNS 或 DoH。不要用一次页面打开速度判断解析器优劣:连接复用、页面缓存与网站响应时间都可能掩盖解析差异。

  1. 建立基线:记录 Wi-Fi 或蜂窝网络、Home 当前服务器、Global Routing 姿态、启用的 Config 文件,以及目标域名。
  2. 保存并重连:仅修改 dns-server,保存配置并重新连接。结束目标应用中的旧请求,再发起新的域名访问。
  3. 核对解析:在应用可用的 DNS 查询工具或日志中查看目标域名的结果。记录 A、AAAA、超时或错误响应;若工具可以独立选择解析器,还要确认工具使用的是本次要测试的解析器。
  4. 核对连接:继续查看实际请求是否成功、命中了什么策略,以及是否出现连接或 TLS 错误。不要只保留一个延迟数字。
  5. 复测网络变化:完成同一网络内的对比后,再分别测试 Wi-Fi 与蜂窝网络。若只有一种网络失败,应优先检查该网络的可达性差异。
观察现象下一步核对不宜直接下的结论
传统 DNS 超时,DoH 返回结果检查当前网络到解析器的 UDP/TCP 53 路径。不能据此认定所有网站连接都正常。
DoH 报 TLS 错误检查端点域名、证书有效性、系统时间与连接路径。不能把证书错误当作普通的 DNS 慢。
A 有结果,AAAA 无结果检查域名是否提供 AAAA;区分没有记录与查询超时。没有 AAAA 不等于 DNS 整体故障。
地址已返回,网页仍超时检查规则命中、当前出站及返回地址的可达性。不能认为换一个解析器必然解决。
改动后结果完全相同检查启用文件、Host 映射、缓存和旧连接。相同结果本身不能证明改动未生效。

结论:以查询结果与连接结果两份证据判定

只有解析响应正常、实际访问也成功,才能认定这次设置满足当前用途。若只在某个网络失败,保留该网络的错误记录后回退到已验证配置,再单独检查失败环节。

六、常见疑问与安全回退

填多个解析器,是否一定按从左到右自动备用?

不能仅凭书写顺序推断查询顺序、并发方式或失败回退行为。初次排查建议只保留一个已确认可达的解析来源,验证成功后再根据实际配置需求调整。把系统 DNS、传统 DNS 与 DoH 同时混入列表,会增加判断某次响应来自哪里的难度。

DoH 开启后,查询一定经过 Proxy 吗?

不一定。DoH 描述查询的传输方式,不等同于路由策略。实际路径还要结合当前配置、Global Routing 与 DNS 相关设置核对。单凭 https:// 不能证明查询经过某个出站,也不能证明所有应用都使用这一解析路径。

切换 Wi-Fi 后故障复现,应检查什么?

先检查系统 DNS 是否随网络变化,以及自定义端点在新网络中是否可达。若配置了 Settings → On Demand,还应核对按需连接条件,确认测试时的连接状态没有被自动规则改变。On Demand 管连接触发条件,不是 dns-server 的替代项。

怎样恢复到修改前的状态?

在 Config 中恢复原来的 dns-server 行,或重新启用先前保存的本地副本,然后回到 Home 重连。若原文件没有该字段,回退时恢复原样,而不是额外添加猜测值。再用同一个目标复测,确认恢复效果;之后每次只改一项。

DNS 设置的目标是取得符合用途、可验证的解析结果,不是追求某一种方式在所有网络中都适用。系统 DNS、传统自定义 DNS 与 DoH 都需要结合实际网络检查;保留配置副本与测试记录,比频繁切换多个设置更有助于定位问题。

App Store 正版核对下载 Shadowrocket