机场学习站首推无忧链接官网 →
入门基础

代理 DNS 设置:为什么域名解析也会出问题

连上节点却打不开网页,很大一部分原因不在节点,而在 DNS。

更新 2026-10-02 · 难度:进阶 · 约 12 分钟

先看结论

代理 DNS 设置要回答两个问题:域名在哪里解析(本地还是远端),以及解析结果是不是被污染或泄露。客户端通常用 fake-ip 或内置 DNS 来统一处理,让解析和分流保持一致。

DNS 在"代理链路"里的位置,用时间线看一遍

当你在浏览器里输入一个网址,实际上发生了这样一串事情:浏览器要先知道这个域名对应的 IP,于是发起一次域名解析;客户端拦截了这次解析请求,按 DNS 设置决定交给谁、怎么解析;得到结果之后,客户端再根据规则判断这个连接该走代理还是直连;如果走代理,请求被协议封装发往节点;节点再用自己的解析去访问目标网站。可以看到,域名解析发生在规则判断之前,而且可能发生两次——一次在客户端(用于分流),一次在节点(用于访问目标)。

这个时间线解释了很多现象:为什么 DNS 设置会影响规则是否命中;为什么 fake-ip 能够减少本地解析、提高分流效率;为什么解析被污染时,会出现"打不开某些网站但节点正常"的情况。把 DNS 看成链路上的第一环,而不是附属的小设置,排错时你就会优先检查它。

时间点发生了什么相关设置
解析前浏览器发起请求浏览器的 DNS 设置
解析时客户端拦截并处理dns 段、fake-ip
分流时根据规则决定走向rules
转发时节点代为访问节点所在网络的 DNS

为什么 DNS 会影响代理

访问一个网站前要先把域名解析成 IP。如果解析请求没有走代理,本地 DNS 可能返回错误结果(污染),也可能让运营商看到你访问了哪些域名(泄露)。分流规则又常常依赖域名或 IP 来判断,所以 DNS 与分流是绑在一起的。

两种常见的 DNS 增强模式

模式做法特点
fake-ip客户端先返回一个"假 IP",真正的域名交给代理服务器远端解析减少本地解析,响应快;少数应用对假 IP 不兼容
redir-host先真实解析出 IP,再按 IP 和域名分流兼容性好;依赖本地解析结果是否可信

Mihomo 风格的 DNS 配置示例

示例:dns 段(服务器地址为占位,请换成你信任的 DNS)
dns:
  enable: true
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  nameserver:
    - <国内 DNS 的 DoH 地址>
  fallback:
    - <海外 DNS 的 DoH 地址>
  fake-ip-filter:
    - "*.lan"
nameserver
默认使用的 DNS 服务器。
fallback
备用 DNS,常用来对比或兜底。
fake-ip-filter
不使用假 IP 的域名,常用于局域网或需要真实 IP 的服务。

检查是不是 DNS 的问题

  1. 节点延迟正常,但部分网站打不开:怀疑解析。
  2. 换成 IP 直接访问能通:基本确认是 DNS 问题。
  3. 在客户端里切换 DNS 模式或服务器,再测一次。
  4. 用 DNS 泄露检测网页确认解析请求是否走了代理,见代理 DNS 泄露检测。

nameserver-policy:按域名指定 DNS

在 DNS 配置里,nameserver-policy 允许你为某类域名指定专门的 DNS 服务器。比如,把国内域名交给国内的 DNS 解析、把其他域名交给海外的 DNS,可以兼顾解析速度与结果可靠性。它的价值在于"不同域名用不同解析路径",而不是笼统地把所有请求都发给同一个服务器。写策略时,匹配条件常用域名后缀或 geosite 分类;匹配不到的域名,仍然使用默认的 nameserver。

示例:按域名指定 DNS(服务器地址为占位,请换成你信任的)
dns:
  nameserver-policy:
    "geosite:cn":
      - <国内 DNS 的 DoH 地址>
    "+.example.com":
      - <指定的 DNS 地址>

DoH 与 DoT:加密的 DNS 请求

传统的 DNS 请求是明文的,链路上的设备可以看到你查询了哪些域名,也可能篡改结果。DoH 是把 DNS 请求封装在 HTTPS 里,DoT 是封装在 TLS 里,二者都让请求内容在传输中被加密。配置里选用其中一种,就能降低请求被窥探或篡改的可能。需要注意的是,加密的只是"从你到 DNS 服务器"这一段,DNS 服务器本身仍然知道你查询了什么,所以选择可信的服务器同样重要。

IPv6 对 DNS 的影响

很多网络同时支持 IPv4 和 IPv6。如果代理环境只处理了其中一种,就可能出现"解析到了 IPv6 地址,但流量没有走代理"的情况,表现为部分网站时通时断。排查时可以先在客户端里把 IPv6 相关的选项关掉,看问题是否消失;如果消失,说明是 IPv6 路径没有被代理接管,需要在配置里补齐,或者暂时只使用 IPv4。

看日志,快速判断是不是 DNS 的问题

  • 日志里反复出现解析失败、超时之类的字样,且集中在某几个域名:多半是这些域名的解析路径有问题。
  • 日志里解析成功,但后续连接失败:问题更可能在节点或规则,不在 DNS。
  • 同一个域名有时成功有时失败:可能是多个 DNS 服务器给出了不一致的结果,需要检查 fallback 与过滤设置。

关于「代理DNS设置」的常见问题

fake-ip 会不会让某些软件出问题?

少数依赖真实 IP 的应用可能不兼容,可以把它们的域名加入 fake-ip-filter。

一定要改 DNS 吗?

大多数订阅配置已经带了 DNS 设置,遇到解析相关的问题时再调整即可。

DNS 服务器写得越多越好吗?

不是。服务器多会增加查询时间,也会让结果更难预测。通常一两个可信的主服务器加一个备用就足够。

改了 DNS 之后网页还是打不开,下一步查什么?

先确认节点本身可用,再检查规则是否把该域名判到了代理。DNS 只是链路上的一环,排错要一环一环地确认。

DNS污染是什么?Clash DNS怎么设置?

DNS污染指域名解析返回了错误的地址,表现为能解析却连不上。Clash DNS 通过自己的解析策略和 fake-ip 等机制减少这类问题;具体选项以所用内核和客户端文档为准,改动前先备份配置。

继续学习

首推无忧链接官网去看看 →