直接答案
开代理后出现 DNS 错误,最常见的原因是系统或浏览器还缓存着旧的解析结果、客户端的 DNS 设置与系统 DNS 互相冲突,以及 fake-ip 模式与少数软件不兼容。最快的处理办法是清除系统和浏览器的 DNS 缓存、重启客户端,并把客户端的 DNS 设置恢复为服务商默认配置。
DNS 在代理里扮演什么角色
打开一个网站前,设备要先把域名翻译成 IP 地址,这就是 DNS 解析。不开代理时,这一步由运营商或你设置的 DNS 服务器完成;开了代理之后,情况会复杂一些:
- DNS 污染:在部分网络环境中,某些境外域名的解析结果会被篡改,返回错误的地址,导致即使开了代理也连不到正确的服务器。
- 客户端接管 DNS:很多代理客户端会自己处理 DNS,根据规则决定哪些域名用国内 DNS 解析、哪些交给远端解析。
- fake-ip 模式:部分客户端在 TUN 或增强模式下,先给应用返回一个虚拟的内部 IP(常见为 198.18 开头的地址段),等真正发起连接时再按域名走代理。这种方式速度快、能减少污染影响,但少数依赖真实 IP 的软件会因此出错。
所以“开代理后 DNS 错误”,往往不是网络断了,而是几套 DNS 机制在打架。
常见原因
- DNS 缓存残留:切换代理模式或节点后,系统或浏览器还在使用旧的解析结果。
- 客户端 DNS 配置错误:自行修改过 DNS 设置,填入了不可用的服务器,或者规则写错。
- 系统 DNS 与客户端冲突:系统手动设置了某个 DNS,同时客户端也在接管 DNS,两者结果不一致。
- fake-ip 兼容问题:部分软件、游戏或局域网服务拿到虚拟 IP 后无法正常工作。
- 浏览器启用了安全 DNS:浏览器内置的加密 DNS 绕过了客户端,拿到的结果与代理规则不一致。
- 本地网络 DNS 被劫持:部分公共 WiFi 会劫持 DNS,把请求导向登录页或广告页。
- IPv6 解析干扰:系统优先使用 IPv6 地址,但代理只接管了 IPv4。
判断标准
| 现象 | 可能原因 | 处理 |
|---|---|---|
| 浏览器提示 DNS_PROBE_FINISHED_NXDOMAIN | 域名没有被成功解析 | 清缓存,检查客户端 DNS 设置 |
| 只有开代理时出现 DNS 错误 | 客户端 DNS 配置问题 | 恢复默认 DNS 配置 |
| 关代理后国内网站也报 DNS 错误 | 系统 DNS 或本地网络问题 | 检查系统网络设置与路由器 |
| 开 TUN 后部分软件异常 | fake-ip 兼容问题 | 把该软件或域名加入排除名单 |
| 同一网站时好时坏 | 缓存残留或多套 DNS 冲突 | 统一 DNS 来源,清缓存 |
| 网页跳到陌生登录页或广告页 | 本地网络 DNS 劫持 | 完成公共 WiFi 认证或换网络 |
| 手机上 DNS 错误,电脑正常 | 手机的私人 DNS 或网络设置 | 检查手机的 DNS 相关选项 |
逐步排查
- 确认基础网络。关闭代理,打开几个国内网站。如果也报 DNS 错误,问题在本地网络,检查路由器或联系运营商。
- 清除 DNS 缓存。电脑上可以通过系统命令或重启来清除缓存;浏览器可以清除站点数据或直接重启浏览器;手机可以开关一次飞行模式。
- 重启客户端。让客户端重新建立 DNS 服务。
- 恢复客户端默认 DNS 配置。如果你手动修改过 DNS 相关设置,先恢复为订阅或客户端的默认值,确认问题是否由自定义设置引起。选项位置以客户端实际界面为准。
- 检查系统 DNS 设置。如果系统里手动填写了 DNS 服务器,可以先改回自动获取,避免与客户端冲突。
- 检查浏览器的安全 DNS 功能。如果浏览器开启了内置加密 DNS,暂时关闭后测试,看问题是否消失。
- 处理 fake-ip 兼容问题。如果只有某个软件异常,可以在客户端中把该软件相关的域名加入 fake-ip 排除名单,或暂时关闭增强模式测试。
- 检查 IPv6。如果本地网络启用了 IPv6 且问题与 IPv6 有关,可以参考 IPv6 相关排查。
- 手机单独检查。安卓手机检查“私人 DNS”之类的设置,iPhone 检查是否安装了其他 DNS 描述文件,名称以系统实际界面为准。
注意事项
- 不要随意使用来源不明的 DNS 服务器,DNS 服务商可以看到你访问了哪些域名。
- DNS 设置不当可能造成 DNS 泄露,即网站访问走代理,但域名查询暴露在本地网络中,这对隐私和部分服务的地区判断都有影响。
- 修改前记下原来的配置,出现问题可以快速恢复。
- 如果只使用服务商默认配置仍频繁出现 DNS 问题,可以把现象反馈给客服,或在品牌库中对比其他服务商的客户端与配置支持情况。