DNS 设置错误为什么会导致网页打不开

代理环境下域名解析在哪里发生,决定了网页能否正常打开。本文讲清 DNS 污染、Fake-IP 与远端解析的原理,以及最常见的错误配置和排查路径。

节点延迟正常、订阅也没过期,网页却一直转圈——在各种「连上了但打不开」的故障里,DNS 配置问题是最常见的原因之一。它出错时的表现很有迷惑性:代理本身完全正常,坏掉的是访问的第一步。

DNS 在代理链路中的角色

DNS 负责把域名翻译成 IP 地址,任何网页访问都从这一步开始。在代理环境下,关键问题变成了「这一步由谁来做」:是在本地网络直接解析,还是把域名原样交给节点、由节点在海外解析。如果被拦截的域名在本地解析,得到的很可能是错误结果——之后无论代理多正常,连接的都是错误的地址。

DNS 污染是什么

DNS 污染指查询结果在传输途中被篡改,返回一个错误的 IP。对被拦截的域名,普通的明文 UDP 查询几乎必然拿到假地址。这也是「换个公共 DNS 就好了」通常不成立的原因——问题不在你问了哪台服务器,而在明文询问这条路本身不可靠。

Fake-IP 与远端解析

代理客户端主要用两种思路绕开本地解析:

模式 工作方式 特点
远端解析 域名原样发给节点,由节点在海外解析 结果准确,走代理的流量默认多如此
Fake-IP 客户端先返回一个假 IP 占位,真实解析推迟到节点端 省一次本地查询,TUN 模式下常用
本地真实解析 在本机向 DNS 服务器查询真实 IP 被污染域名会拿到错误结果

Fake-IP 模式下客户端返回的是 198.18.x.x 一类保留段的假地址,仅作占位符;个别应用会缓存或校验 IP,所以客户端提供了 fake-ip-filter 之类的例外名单,把这些应用排除在外。

常见错误配置

  • TUN 模式开启但 DNS 没有被客户端接管,域名仍走被污染的本地解析;
  • 自定义 DNS 填了不可达、或需要代理才能访问的地址,导致所有解析超时;
  • Fake-IP 例外名单缺失,使某些依赖真实 IP 的应用(部分游戏、局域网服务)行为异常;
  • 系统里残留了此前手动修改的 DNS 设置,与客户端的配置互相冲突。

排查方法

先确认现象是不是解析问题:能打开 IP 直连的服务、却打不开域名网站,基本可以锁定 DNS。随后依次检查客户端 DNS 设置是否为默认推荐值、TUN 模式下「DNS 劫持/接管」开关是否开启(TUN 与系统代理的差异见TUN 模式与系统代理的区别),再看客户端日志里的解析记录有没有报错。完整的排查流程见Clash 显示已连接但无法上网

下一步阅读

常见问题

把系统 DNS 改成 8.8.8.8 能解决污染吗?

通常不能。污染发生在查询链路上而不是服务器本身,明文查询无论发给谁都可能被篡改。正确思路是让被墙域名的解析发生在节点端。

Fake-IP 和远端解析哪个更好?

各有适用场景。Fake-IP 省一次本地查询、与 TUN 模式配合好;远端解析行为更直观。多数客户端的默认配置已做了合理选择,没有异常不必改动。

为什么关掉代理后网页也打不开了?

很可能是客户端退出时未恢复系统的 DNS 或代理设置。检查系统网络设置里的 DNS 与代理项,手动恢复为自动获取即可。