在使用 Clash 或 Shadowrocket 时,用户有时会遇到“节点延迟测试显示正常,但浏览器打开网页却提示超时”或“TG 软件能上网,网页打不开”的尴尬状况。这通常与 DNS 污染、DNS 泄露及客户端路由代理机制密切相关。
一、DNS 污染与劫持机制
当用户在浏览器输入某个域名时,电脑首先需要通过 DNS 服务器将域名解析为 IP 地址。在未经代理加密的 DNS 查询中,运营商或公共网络可能会返回虚假的无效 IP 地址,这就是典型的 DNS 污染。
二、Fake-IP 模式的工作原理
为了从根本上杜绝 DNS 污染,现代代理客户端引入了 Fake-IP 机制。在 Fake-IP 模式下,当本地向 Clash 询问某个域名的 IP 时,Clash 并不立即在本地发起实际 DNS 解析,而是直接向本地系统返回一个保留网段的虚拟 IP(如 198.18.0.x)。
随后系统将所有发送给该 Fake-IP 的数据包直接交给 Clash 处理,Clash 带着原始域名将数据发送给位于远程的代理节点(如 一元机场 的优质节点),在远端出站节点处完成真实 DNS 解析,从而完美避开了本地环境的 DNS 污染。
三、实用解决建议
- 重启系统 DNS 缓存:在 Windows CMD 中运行
ipconfig /flushdns清除残留的污染缓存; - 检查代理端口冲突:确认系统未开启其他 VPN 或杀毒软件的网络接管过滤模块;
- 及时更新配置文件:在客户端内定期执行“更新订阅”,确保节点 IP 与分流 RuleSet 规则处于最新状态。