Birds – Flying beyond the wall

DNS污染怎么解决:先判断类型,再按设备修复

更新于 2026-10-26 · birds.mom

简答:先不要把网页打不开直接认定为DNS污染:只有本机异常,先查缓存和hosts;同一网络全设备异常,先记录路由器配置并检查下发的DNS;多网络都异常,再核对权威DNS、CDN、IPv4/IPv6和服务器。确认后再改DNS、清缓存或启用DoH/DoT,最后复查解析、证书和网页响应。

定义:DNS污染通常指解析请求或响应在递归解析、缓存或传输环节得到错误结果,但单次返回不同IP不能单独证明污染。

先看速查表:按现象决定下一步

最快的做法不是马上更换DNS,而是先记录域名、时间、设备、网络、默认DNS和查询结果。随后在同一设备上查询默认DNS与指定DNS,再用手机热点或另一条网络复查。Windows可参考Microsoft DNS客户端排障文档使用nslookup,macOS和Linux通常可使用dig。

nslookup example.com
nslookup example.com 1.1.1.1
nslookup -type=A example.com
nslookup -type=AAAA example.com
DNS解析异常的分层判断
现象优先怀疑下一步动作验证标准
只有一台设备异常本地缓存、hosts或设备DNS配置检查DNS配置与hosts,清理本地缓存同一设备重新查询后恢复正常
同一Wi‑Fi下多台设备都异常路由器下发的DNS、路由器转发或网络侧解析先记录配置,再检查WAN、LAN和DNS设置另一网络正常,而当前网络仍异常
不同DNS返回不同IPCDN、负载均衡、地理调度、TTL或缓存差异比较A、AAAA、权威DNS和查询时间不能仅凭IP不同下结论
多个网络都返回异常结果权威记录、CDN、服务器或域名配置核对权威DNS、记录变更和HTTPS证书权威记录与实际响应能够对应
解析正常但网页打不开HTTP、TLS、端口、路由或服务器问题检查证书、HTTP响应和网络连通性能区分解析故障与访问故障
出现陌生跳转或证书警告劫持、恶意软件、代理或错误配置风险停止登录,检查设备、路由器和代理域名、证书和最终地址一致

“DNS污染”和“DNS劫持”的术语边界在不同资料中并不完全统一,因此普通用户应优先记录可观察现象:返回结果、请求类型、网络出口、证书和跳转地址,而不是只凭一个IP标签判断。

Windows:先记录配置,再修改DNS并启用DoH

  1. 记录当前设置:打开“设置”→“网络和Internet”→选择“Wi‑Fi”或“以太网”→当前网络,在IP分配处记下自动或手动状态、DNS地址和备用DNS。Microsoft的Windows网络设置说明列出了该路径。
  2. 修改普通DNS:在“IP分配”旁选择“编辑”,选择“手动”,打开IPv4,在“首选DNS”和“备用DNS”中填入来源清楚、公开提供配置文档的DNS地址,然后保存。不要把示例地址直接当成唯一推荐,先核对服务方文档、隐私政策和当前网络是否允许使用。
  3. 启用DoH:Windows 11的同一处设置可选择DNS over HTTPS;可选“自动模板”或“手动模板”。若需要防止失败时退回明文,可关闭“回退到明文”,但网络或DNS服务不支持时可能导致解析失败。Microsoft说明该DoH设置不适用于Windows 10。
  4. 清理并复查:以管理员身份打开命令提示符,运行ipconfig /displaydns查看缓存,运行ipconfig /flushdns清理缓存,再用默认DNS和指定DNS各查询两次。
ipconfig /all
ipconfig /displaydns
ipconfig /flushdns
nslookup example.com
nslookup example.com 1.1.1.1

修改前的回滚方法是把IP分配恢复为“自动(DHCP)”,并删除手动填写的DNS;如果启用了DoH,则恢复为“关闭”或原先的自动状态。命令用途可参阅Microsoft ipconfig文档与Microsoft nslookup文档。

macOS与Linux:分别使用系统设置和解析器工具

macOS三步

  1. 记录:打开“系统设置”→“网络”→当前网络→“详细信息”→“DNS”,记录已有服务器地址。
  2. 修改:在DNS服务器列表中添加已核对的地址,保存后关闭并重新连接网络。Apple的Mac DNS设置说明提供了该入口。
  3. 验证与回滚:运行dig example.com和dig @1.1.1.1 example.com,再分别访问目标网站。若异常,删除新增地址,恢复原列表后重新连接网络。
dig example.com
dig @1.1.1.1 example.com
dig A example.com
dig AAAA example.com

Linux三步

  1. 记录:运行resolvectl status查看接口和当前解析器,并备份现有网络配置。
  2. 修改:Ubuntu使用Netplan时,在/etc/netplan/下的配置中修改nameservers.addresses,然后运行sudo netplan apply。Ubuntu文档说明,现代Ubuntu通常由systemd-resolved处理解析,不建议长期直接改动由系统生成的/etc/resolv.conf。
  3. 验证与回滚:用resolvectl status和dig复查;若配置有误,恢复备份文件后再次运行sudo netplan apply。
resolvectl status
cat /etc/resolv.conf
dig example.com
dig @1.1.1.1 example.com

Ubuntu的网络配置文档同时说明了临时使用resolvectl和持久化配置Netplan的区别。不同发行版可能使用NetworkManager或其他网络服务,命令结果不一致时不要直接覆盖系统配置。

Android与iPhone:改DNS不等于启用同一种加密方式

Android:私人DNS填写主机名,不是普通IPv4地址

  1. 导入:打开“设置”→“网络和互联网”→“私人DNS”。选择“自动”或“私人DNS提供商主机名”;该字段应填写DNS over TLS的主机名,而不是任意IPv4地址。
  2. 开启:输入来源清楚、公开提供DoT主机名的服务,点击保存。Google说明,Android 9及更高版本的私人DNS使用DoT;私人DNS只保护DNS查询和回答,不保护其他网络流量。
  3. 验证:重新连接Wi‑Fi或移动网络,查询目标域名并检查网页证书。若无法联网,先恢复“自动”。入口可参阅Google Pixel私人DNS说明;DoT与DoH的关系可参考Google安全DNS传输说明。

iPhone:Wi‑Fi手动DNS通常是普通DNS设置

  1. 导入:打开“设置”→“Wi‑Fi”→当前网络右侧信息按钮→“配置DNS”→“手动”,记录原地址后添加或填写DNS服务器。
  2. 开启:保存并重新加入该Wi‑Fi。这个入口主要是为当前Wi‑Fi配置DNS服务器,并不等于直接启用了DoH或DoT。
  3. 验证:分别用Wi‑Fi和蜂窝网络访问目标域名,检查A、AAAA、证书和跳转。若要在Apple设备上使用加密DNS,通常需要兼容的配置描述文件、设备管理或专用客户端;Apple的DNS设置配置文档明确支持通过配置管理DoH或DoT。

iPhone普通Wi‑Fi DNS的入口可参阅Apple iPhone Wi‑Fi设置说明。回滚时删除手动DNS并恢复“自动”,不要把任意DoH网址粘贴到普通DNS地址栏。

DoH、DoT和普通DNS:先弄清适用边界

三种方式的区别与启用位置
方式传输形式适合在哪里启用主要限制
普通DNS通常通过UDP或TCP查询系统、路由器、Wi‑Fi网络设置查询内容可能未加密;更换后仍可能受上游、路由器或权威记录影响
DoH通过HTTPS发送DNS查询,通常使用443端口Windows 11、支持的浏览器、兼容客户端或路由器只保护DNS查询;浏览器设置可能覆盖系统DNS
DoT通过TLS连接DNS服务,通常使用853端口Android私人DNS、兼容客户端或路由器需要填写服务主机名;网络可能阻断专用端口
DNSSEC验证DNS数据来源和完整性域名权威DNS与递归解析器侧不能直接替代DoH或DoT,也不能修复所有用户侧网络问题

Cloudflare的浏览器DoH配置文档列出了Firefox、Chrome、Edge和Brave的入口。浏览器启用DoH后,可能不再使用系统普通DNS,因此排查时要确认浏览器与操作系统的设置是否冲突。

Google说明,DoH和DoT用于加密客户端与解析器之间的查询,DNSSEC用于验证DNS数据,两者是互补关系,而不是同一功能。若更换DNS、启用DoH或DoT后仍异常,应继续检查IPv6、hosts、代理、CDN、服务器和路由,而不是反复更换解析器。

路由器与网站管理员:记录、修改、验证、回滚

家庭或办公路由器

  1. 记录:进入路由器厂商提供的网页或应用,记录WAN、LAN、DHCP和DNS转发设置;不要一开始就重启,因为重启会暂时中断全网连接。
  2. 修改:在网络或DHCP相关设置中填写主、备用DNS,保存配置并让一台客户端重新获取网络参数。路由器入口和字段名称因厂商而异,Apple的路由器DNS设置说明也提示应通过厂商网页或应用修改。
  3. 验证:在客户端运行查询命令,确认实际使用的DNS已变化,再检查Wi‑Fi与蜂窝网络结果。若全网无法解析,立即恢复原配置并重新获取WAN/LAN参数。

网站管理员

  1. 核对注册商、权威DNS托管商、NS、A、AAAA、CNAME、TTL和近期变更日志。
  2. 从多个递归DNS查询,并区分CDN地理调度、负载均衡、IPv4/IPv6和缓存时间造成的差异。
  3. 核对HTTPS证书、HTTP响应和服务器日志;不要把公共DNS返回结果直接当作唯一正确答案。
  4. 启用DNSSEC前确认DS、DNSKEY和签名链正确,并准备删除错误DS记录或恢复原权威DNS的回滚方案。ICANN说明DNSSEC用于数据来源认证和完整性保护,错误配置可能造成验证失败。

若问题只发生在一个网络,测试记录应包含查询时间、DNS服务器、记录类型、返回值、TTL、网络出口和证书结果;这些信息比“疑似污染”四个字更便于网络管理员或DNS服务商复现。

修复后的验证清单与记录模板

完成修改后,至少做三轮复查:同一设备使用默认DNS查询两次,使用指定DNS查询两次,再用另一网络重复一次。解析结果不同不一定是故障,需结合TTL、CDN、地理位置、A/AAAA记录和网页实际响应判断。

  • 设备是否真的使用了新DNS,而不是仍由路由器、浏览器或客户端接管。
  • A和AAAA记录是否都检查,是否只有IPv6路径异常。
  • 域名是否解析到预期服务,证书是否匹配域名。
  • 网页是否返回正常HTTP响应,是否出现陌生跳转。
  • 修改失败时是否能恢复原DNS、DHCP或路由器配置。
日期:2026-10-26
域名:
设备与系统:
网络:家庭Wi-Fi / 办公网 / 蜂窝网络
默认DNS:
指定DNS:
DoH或DoT状态:
A结果:
AAAA结果:
TTL:
每种网络查询次数:至少2次
证书是否匹配:
HTTP响应:
是否跳转陌生页面:
回滚动作:
最终判断:

本页没有独立测速数据,不据此判断哪个DNS一定更快或更稳定。若需要比较,应在同一设备、相近时间段、相同网络条件下重复记录查询耗时、超时、错误类型和网页实际打开结果。

常见问题

DNS污染和DNS劫持必须严格区分吗?

排障时不必先争论术语。不同资料对两者边界并不完全一致,普通用户应记录返回IP、DNS服务器、网络、证书和跳转结果,再判断问题发生在本机、路由器、递归解析、权威DNS还是网页访问层。

为什么公共DNS和当前DNS返回不同IP?

CDN地理调度、负载均衡、DNS轮询、TTL尚未过期、缓存时间不同,以及IPv4和IPv6记录都可能造成差异。应在两个时间点、两个网络查询,并比较A、AAAA和权威DNS,不能直接把公共DNS当成唯一基准。

Android私人DNS为什么不能直接填IPv4地址?

Android的“私人DNS提供商主机名”用于DoT主机名配置,不是普通DNS服务器IP输入框。需要填写服务方公开提供的主机名;如果只是想配置普通DNS,应使用对应Wi‑Fi网络的DNS设置入口。

iPhone改了Wi‑Fi DNS,是否就启用了DoH?

不一定。iPhone普通Wi‑Fi中的“配置DNS”主要是修改当前网络使用的DNS服务器,通常不等于DoH或DoT。加密DNS一般需要兼容的配置描述文件、设备管理或专用客户端。

浏览器启用DoH后,系统DNS还重要吗?

仍然重要,因为其他应用可能继续使用系统解析器,而浏览器可能单独选择DoH服务。排障时应分别确认浏览器的安全DNS状态、系统DNS、路由器下发配置和是否存在代理或客户端接管。

换DNS后仍然打不开网页,下一步查什么?

先确认A和AAAA结果,再检查hosts、代理、IPv6、TLS证书、HTTP响应、端口、路由和服务器状态。如果多个网络都出现同样结果,还应核对权威DNS、CDN和近期记录变更。

路由器是否应该直接重启?

重启可能刷新连接,但会暂时中断全网,也不能修复权威DNS或上游网络问题。更稳妥的顺序是先记录WAN、LAN、DHCP和DNS配置,再检查设置,最后在需要时重启并准备回滚。

DNSSEC能不能直接解决用户侧DNS污染?

不能把DNSSEC当作万能修复。DNSSEC主要验证DNS数据来源和完整性;它需要权威端正确签名、父区正确发布DS,并由递归解析器执行验证。用户侧链路、路由器、代理和网页服务器问题仍需单独排查。

相关阅读

参考资料

  1. Microsoft支持:Windows网络设置与DNS over HTTPS
  2. Microsoft Learn:DNS客户端排障
  3. Microsoft Learn:ipconfig命令
  4. Microsoft Learn:nslookup命令
  5. Apple支持:在Mac上更改DNS设置
  6. Apple支持:管理iPhone上的Wi‑Fi设置
  7. Apple支持:Apple设备的加密DNS配置
  8. Google Pixel帮助:私人DNS设置
  9. Google Public DNS:安全DNS传输
  10. Cloudflare文档:浏览器配置DoH
  11. Ubuntu Server文档:网络与名称解析配置
  12. Apple支持:Wi‑Fi路由器与接入点推荐设置