Shadowrocket DNS 怎么设置:入口、格式与生效验证
简答:先试这条路径:打开 Shadowrocket 的 Settings,进入 DNS;如果当前版本没有可编辑的 DNS 项,再打开 Config,选中正在使用的配置并编辑 [General]。普通 DNS 填 IP 地址,DoH 填完整 HTTPS 地址,两者不要混在同一个字段里;修改前先记录原值,改后断开并重新连接,再用同一个域名复测。
定义:Shadowrocket DNS 设置是指在应用设置或当前配置文件中指定域名解析方式,但 DNS 解析成功不等于代理节点、规则或网页连接一定正常。
先看入口:Settings→DNS,找不到再进 Config
本文是面向 iPhone 用户的第三方使用指南,不代表任何客户端官方网站。Shadowrocket 在 App Store 的公开说明中列出了 DNS 请求记录、本地 DNS 映射以及 DNS over HTTPS、DNS over TLS、DNS over QUIC 等功能,但不同版本的按钮名称和配置层可能变化,当前页面应以你安装版本显示的内容为准。App Store 功能说明
- 优先检查应用设置:打开 Shadowrocket,进入 Settings,再查找 DNS。若页面出现系统 DNS、自定义 DNS、DoH 或类似项目,先在这里完成单项修改。
- 找不到可编辑项时:回到 Home,记下当前选中的配置名称和 Global Routing;然后进入 Config,选中正在使用的配置,打开编辑页面,在
[General]区域查找dns-server或当前版本明确显示的 DNS 字段。 - 确认改的是生效配置:Config 中可能同时存在多个文件。只编辑当前启用的配置,不能只修改一个同名但未选中的文件。公开使用资料也建议先确认活动配置,再修改
[General]中的 DNS 项。Shadowrocket DNS 配置参考
如果你的版本在 Settings→DNS 中已经提供明确的 DNS 选项,优先使用这个界面;只有需要处理订阅配置、固定字段或排查配置覆盖时,才进入 Config。不要同时在两个位置反复修改,否则很难判断究竟是哪一层生效。
三种方式怎么选:位置、格式和用途不同
| 方式 | 常见位置 | 填写格式 | 适合场景 | 注意事项 |
|---|---|---|---|---|
| 系统 DNS | Settings→DNS,或 Config 的 [General] | system,具体以当前版本支持的写法为准 | 先建立基线,判断问题是否来自自定义解析 | 使用当前 Wi-Fi 或蜂窝网络提供的解析设置;切换网络后结果可能不同 |
| 自定义 DNS | Settings→DNS 的服务器地址,或 Config 的 dns-server | 填写 DNS 服务器地址,例如 IPv4 地址 | 需要指定某个可达的解析服务器,或比较不同解析结果 | 普通 DNS 地址不要添加 https://;地址是否可用需在当前网络复测 |
| DoH | Settings→DNS 的 DoH 项,或当前版本支持的配置字段 | 完整 HTTPS URL,通常包含协议、主机和路径 | 需要通过 HTTPS 传输 DNS 查询时使用 | 不要把 DoH URL 填进普通 DNS IP 输入框;端点本身还必须能建立 HTTPS 连接 |
| Local DNS Mapping | 应用的本地 DNS 映射功能 | 域名与指定 IP 的映射 | 只对特定域名做本地解析映射或测试 | 它不是通用 DNS 服务器,也不会替代所有域名的正常解析 |
普通用户建议按照“系统 DNS→自定义 DNS→DoH”的顺序排查,每次只改一种方式。公开配置资料将普通 DNS 地址与 DoH 完整 URL 视为不同输入类型,并建议不要把多个替代写法同时堆进同一个 [General] 区域。DNS 类型与配置层说明
重要:示例地址只能用来理解格式,不能证明适合你的网络,也不能保证解决节点连接、规则匹配或网页加载问题。本文不建议直接复制未经核验的 DNS 地址;如果你已经有服务方提供的 DNS 或 DoH 地址,应以其当前公开说明为准。
按步骤设置:先备份,再改一个变量
方法一:通过 Settings→DNS 设置
- 打开 Shadowrocket,进入 Settings→DNS;记录当前模式、服务器地址、备用项或相关开关。
- 如果目的是排查网页打不开,先选择系统 DNS或恢复为系统 DNS,暂时不要同时改 Global Routing、规则和节点。
- 如果要填写自定义 DNS,只输入当前字段要求的服务器地址;不要把完整网页链接填入普通 DNS 地址框。
- 如果页面单独提供 DoH 或 DNS over HTTPS,填写服务方提供的完整 HTTPS 端点,不要只填服务商主页。
- 保存后回到 Home,关闭再重新打开连接,保持同一个节点、同一个 Global Routing 和同一个测试域名。
方法二:通过 Config→[General] 设置
- 在 Home 记录当前启用的配置、Global Routing、所选节点、网络类型以及原来的 DNS 行。
- 进入 Config,选中当前使用的配置,先复制或导出原配置;至少把原有
dns-server、规则和相关 General 内容保存到备忘录。 - 打开配置文本,找到
[General],优先修改已有的 DNS 行,不要在文件末尾重复添加同名字段。 - 如果当前版本明确支持类似
dns-server的字段,普通 DNS 只填写服务器地址;DoH 则只能使用当前版本帮助说明支持的完整 URL 格式。 - 保存后确认该配置仍处于选中状态,回到 Home 重新连接。若失败,立即恢复原值,不要继续叠加第二个 DNS 地址。
订阅配置更新可能覆盖手工修改,因此每次更新后都应重新检查活动配置的 DNS 行。若你只需要临时排查,不建议把改动直接写入长期使用的订阅文件,可以先复制出测试配置。
怎么验证是否生效:把 DNS、规则和连接分开判断
“能返回一个 IP”只说明某次解析有结果,不代表网页一定能打开。建议使用以下最小复测闭环:
- 记录条件:写下日期、Wi-Fi 或蜂窝网络、当前节点、Global Routing、活动配置、修改前后的 DNS 值和测试域名。
- 重连应用:保存后断开并重新连接 Shadowrocket,必要时完全退出再打开,避免只看旧连接或缓存结果。
- 复测解析:在 Shadowrocket 的请求记录或 DNS 相关记录中观察同一个域名是否出现解析请求;不要只凭浏览器缓存判断。
- 复测网页:使用同一个浏览器和同一个域名测试。解析有记录但网页打不开,应继续检查规则出口、节点连通性和目标站点,而不是继续更换 DNS。
- 换网络复测:先在 Wi-Fi 测试,再在蜂窝网络测试,或反过来。只在一个网络失败,说明网络环境或上游解析路径可能是差异因素。
| 现象 | 优先检查 | 下一步 |
|---|---|---|
| DNS 记录没有请求或解析失败 | DNS 字段格式、活动配置、网络可达性 | 恢复系统 DNS,重新连接后复测 |
| 解析成功但网页打不开 | 节点、Global Routing、规则出口和目标站点 | 保持 DNS 不变,换一个已知可访问域名比较 |
| Wi-Fi 正常、蜂窝网络失败 | 网络侧 DNS、DoH 端点可达性和移动网络限制 | 分别记录两种网络结果,不要直接判定节点失效 |
| 改完后完全无法连接 | 配置是否保存、DoH URL 是否完整、是否编辑了错误文件 | 恢复修改前的 DNS 值,确认原配置可用后再单项尝试 |
DNS 解析成功并不等于代理连接成功;规则命中、代理出口和网页服务器响应仍需单独判断。公开设置资料也建议固定网络、节点和 Global Routing,再逐项改变变量。DNS、活动配置与路由模式参考
网页打不开时的回滚与常见误区
回滚顺序
- 回到修改入口,将自定义 DNS 或 DoH 恢复为修改前记录的值;如果原来没有手工 DNS,先恢复系统 DNS。
- 确认 Config 中仍选中原来的活动文件,避免回滚了未启用的副本。
- 关闭并重新打开 Shadowrocket 的连接,再用原测试域名复测。
- 如果仍然失败,暂时不要继续改 DNS,检查节点、规则、Global Routing 和网络类型是否也被同时改动。
不要先改这些高级参数
no-resolve可能改变某些 IP 规则是否主动触发 DNS 查询,不适合作为普通 DNS 故障的第一步。hijack-dns、备用 DNS、代理 DNS 等字段可能与特定配置和规则配合使用,不能脱离当前配置说明直接复制。- 不要为了验证 DoH 而关闭证书校验,也不要把多个陌生 General 参数整段粘贴进配置文件。
- 不要把 Local DNS Mapping 当成全局 DNS;它通常只处理指定域名映射。
最稳妥的原则是:先记录、再备份;一次只改一个变量;先恢复可工作的基线,再判断是解析问题、规则问题还是代理连接问题。
常见问题 FAQ
Shadowrocket 的 DNS 设置入口到底在哪里?
优先打开 Shadowrocket 的 Settings→DNS。如果当前版本没有可编辑的 DNS 项,再进入 Config,选择正在使用的配置并编辑 [General]。菜单名称可能随版本变化,但“Settings 层”和“活动 Config 层”是排查时需要区分的两个位置。
普通 DNS 地址和 DoH 地址能填在同一个输入框吗?
不能按同一种格式混填。普通 DNS 通常是服务器地址,DoH 是带协议和路径的完整 HTTPS URL;应根据页面字段名称或当前版本帮助说明选择对应位置。不要给普通 DNS 地址强行添加 https://。
为什么 DNS 改了,网页还是打不开?
DNS 只负责域名解析。解析成功后,仍可能因为节点不可达、规则出口错误、Global Routing 不合适、目标站点异常或浏览器缓存导致网页打不开。请先固定 DNS,分别检查请求记录、规则命中和代理连接。
订阅更新后 DNS 设置恢复了,怎么办?
先确认订阅更新是否覆盖了当前 Config。可以备份原配置,使用单独的测试副本修改;每次更新后重新检查活动配置的 [General] 区域。不要只修改一个未启用的同名配置。
设置 DoH 后连不上,是否应该继续换更多地址?
不建议。先恢复系统 DNS,确认基础连接正常,再检查 DoH URL 是否完整、端点是否能在当前网络建立 HTTPS 连接,以及是否存在端点域名的引导解析问题。DoH 可用性不能只靠网页打开结果判断。
常见问题
Shadowrocket 的 DNS 设置入口在哪里?
先打开 Settings→DNS;如果当前版本没有可编辑项,再进入 Config,选中活动配置并编辑 [General]。
普通 DNS 和 DoH 能不能混填?
不能。普通 DNS 填服务器地址,DoH 填完整 HTTPS URL,必须按照对应字段填写。
DNS 改完网页仍打不开怎么办?
固定 DNS 不再继续修改,分别检查 DNS 请求、规则出口、Global Routing、节点连接和目标网页。
订阅更新后 DNS 被覆盖怎么办?
备份原配置,确认修改的是活动配置,并在每次订阅更新后重新检查 [General] 中的 DNS 项。
相关阅读
参考资料
- App Store:Shadowrocket 功能说明
- Shadowrocket DNS Settings:系统 DNS、自定义 DNS 与 DoH 配置参考(shadowrocketwin.com)
- Shadowrocket DNS 类型与配置层说明(ios-rocket.com)
- Shadowrocket DNS、活动配置与路由模式参考(shadow-official.com)