技术研究 DNS网络基础

DNS 污染、DNS 泄漏和 DNS 劫持有什么区别

DNS 污染指解析结果在传输途中被伪造,表现为域名指向错误 IP、连接超时;DNS 劫持指解析请求被运营商或路由器改道,表现为广告导航页和第三方 DNS 配置失效;DNS 泄漏指本应经代理解析的请求走了本地 DNS,暴露访问意图。前两者是外部干扰,靠加密 DNS 和远程解析对抗;泄漏是配置问题,需要修正客户端的解析与分流设置。

核心要点

  • DNS 污染指解析结果在传输途中被第三方伪造,DNS 劫持指解析请求被运营商或路由器重定向到其他服务器,DNS 泄漏指本应经代理解析的请求走了本地 DNS。
  • 污染和劫持是外部对解析过程的干扰,可以用加密 DNS 与远程解析对抗;泄漏是本机或客户端的配置问题,需要修正解析路径与分流设置。
  • 对比不同 DNS 服务器的解析结果可以定位污染与劫持,泄漏测试则通过随机子域名观察权威服务器收到的查询来源来判断解析走了哪条路径。
本文目录

网页打不开的时候,多数人的第一反应是“节点挂了”,但相当一部分故障发生在更早的环节:域名解析。DNS 污染、DNS 劫持、DNS 泄漏是三个经常被混用的词,它们分别指解析结果被伪造、解析请求被中间设备改道、解析请求走错路径而暴露隐私——性质不同,排查思路和应对方式也完全不同。

DNS 在代理链路中的位置

访问网站的第一步是把域名换成 IP 地址。使用代理客户端时,这一步有两条可能的路径:由设备通过本地网络的 DNS 服务器完成解析(本地解析),或把域名原样交给代理服务器、在远端完成解析(远程解析)。三种 DNS 问题都发生在这条解析链上,只是出问题的位置不同:污染和劫持发生在本地解析的传输途中,泄漏则是解析走了不该走的路径。DNS 本身的基本概念可参考术语表中的 DNS 条目

DNS 污染:收到伪造的解析结果

污染指解析请求在传输途中被第三方抢先回复了伪造结果。传统 DNS 查询以明文 UDP 承载,客户端不验证响应的真实来源,链路上的设备只要比真正的 DNS 服务器更快返回一个假地址,客户端就会采信并缓存。典型现象是:特定域名解析出来的 IP 明显不属于目标网站,甚至落在保留网段,随后的连接超时或被重置;而换用加密 DNS 或远程解析后立即恢复。污染针对的是“答案”,目的通常是让特定域名无法正常访问。

DNS 劫持:解析请求被改道

劫持指解析请求本身被中间设备重定向到了另一台 DNS 服务器,常见于运营商或家用路由器层面:无论设备上配置的是哪家 DNS,明文查询都被透明地转给运营商自己的服务器处理。典型现象包括:输错域名时跳转到运营商的广告导航页、不存在的域名返回了 IP、明明配置了第三方公共 DNS 但解析结果始终与运营商 DNS 一致。劫持针对的是“信道”,动机多为广告插入和缓存调度,通常不以阻断访问为目的。

DNS 泄漏:解析请求绕过了代理

泄漏与前两者的性质不同:它不是外部干扰,而是配置缺陷。本应通过代理远程解析的域名,实际由本地 DNS 服务器解析了,相当于把“我要访问什么网站”告诉了本地网络和运营商,访问意图随之暴露。同时,解析在本地完成意味着结果基于本地位置,可能返回与代理出口不匹配的 CDN 节点,造成加载缓慢,或让按位置判断的网站看到与出口 IP 矛盾的线索。系统在代理规则之外自行发出解析请求、客户端分流配置把解析引向本地,都是常见成因。

三者的检测方法

  • 对比解析结果:分别用本地运营商 DNS 与可信的加密 DNS 查询同一批域名。结果稳定不一致、且按本地结果连接不通的,指向污染或劫持。
  • 验证劫持:查询一个确定不存在的域名,若返回了 IP 并跳出导航页,基本可确认链路存在劫持;配置第三方 DNS 后解析结果仍与运营商完全一致,同样是劫持的信号。
  • 泄漏测试的原理:测试站点让浏览器请求一批随机生成的子域名,这些域名只能由该站点的权威服务器解析,因此权威侧能准确看到每一条查询来自哪个解析出口。测试结果中出现本地运营商的解析服务器,说明解析没有走代理,存在泄漏。
  • 参考网络差异:同一套配置在 Wi-Fi 下正常、蜂窝网络下异常,可能与两张网络不同的 DNS 行为有关,具体可对照 Wi-Fi 正常但移动数据失败的排查

客户端中的常见应对

  • 远程解析:把域名原样交给代理服务器解析,本地不产生明文查询,同时规避污染与泄漏,是代理场景下最直接的方案。
  • fake-ip 模式:客户端收到解析请求时立即返回一个保留网段的“假 IP”,让应用先把连接建立起来,真实解析在代理远端完成。它省去了本地解析环节,常与 TUN 配合使用,工作细节可参考 TUN 模式的说明与排查
  • 加密 DNS:DoH、DoT 把查询放进加密通道,中间设备既无法抢答也无法改道,主要用于对抗污染与劫持,但并不解决泄漏——加密查询如果直接从本地发出,访问意图仍暴露给 DNS 服务商。
  • 确保流量真正经过客户端:解析路径与代理模式直接相关,系统代理只覆盖遵守代理设置的应用,TUN 模式则在网络层接管全部流量,两者的差异见代理运行模式的区别

三者对比

维度DNS 污染DNS 劫持DNS 泄漏
本质解析结果被伪造解析请求被改道解析请求走错路径
由谁造成链路上的干扰设备运营商或路由器本机或客户端配置
典型现象域名解析到错误 IP,连接超时或重置错误域名跳转广告页,第三方 DNS 配置不生效泄漏测试显示本地运营商的解析出口
主要影响目标网站无法访问页面被插入广告,解析被缓存调度访问意图暴露,CDN 调度不佳
应对方向加密 DNS、远程解析加密 DNS、验证解析路径修正客户端解析与分流配置

排查时先分清问题属于哪一类再动手:解析被污染时反复更换节点没有意义,存在泄漏时只更换 DNS 服务器也解决不了路径问题。如果确认解析正常、延迟正常但页面仍然打不开,问题可能出在更靠后的环节,可以继续参考有延迟但网页打不开的排查思路

常见问题

怎么快速判断遇到的是污染还是劫持?

先分别用可信的加密 DNS(DoH/DoT)和本地运营商 DNS 查询同一域名:加密通道结果正常而明文结果异常,多为污染。再查询一个确定不存在的域名,如果仍返回 IP 或跳出导航页,说明链路上存在劫持。两种情况可能同时存在,需要分别验证。

开了代理还会发生 DNS 泄漏吗?

会。泄漏是解析路径的配置问题:系统或应用在代理规则之外直接向本地 DNS 发出查询、客户端分流规则把解析引向本地网络,都会造成泄漏。使用远程解析或 fake-ip 模式,必要时用 TUN 模式接管全部流量,可以显著减少泄漏发生的机会。

fake-ip 是什么意思,为什么能防泄漏?

fake-ip 指客户端收到域名解析请求时,立即返回一个保留网段内的虚拟地址,让应用先建立连接;域名随连接一起交给代理服务器,在远端完成真实解析。本地自始至终没有发出明文 DNS 查询,因此不会向本地网络暴露将要访问的域名。

相关阅读

故障排查 进阶

节点有延迟但网页打不开是什么原因

延迟测试正常、数值也不高,浏览器却无法打开网页——这类问题多与出口 IP 被限制、DNS 解析、分流规则或系统代理有关。本文解释延迟测试的局限,并给出按顺序的排查方法,适合已有一定使用经验的用户。

更新于 2026-08-01
故障排查 进阶

TUN 模式是什么:开启后无法访问网络怎么办

解释 TUN 模式通过虚拟网卡接管全部流量的工作原理及其与系统代理的区别,整理开启后断网的五类常见原因,并给出按序排查与快速恢复方法。

更新于 2026-07-29