DNS - 当互联网的电话簿崩溃时

DNS(域名系统)是将"example.com"等域名转换为 IP 地址的系统。每次你在浏览器中输入 URL 时,后台都会发生 DNS 查询。如果这个转换失败,除非你直接知道 IP 地址,否则无法访问任何网站。

DNS 常被比作互联网的"电话簿",但这本电话簿出人意料地脆弱。设计缺陷、人为失误、蓄意攻击,DNS 故障的原因多种多样,其影响波及整个互联网。

DNS 崩溃的真实事件

Dyn 遭受 DDoS 攻击(2016 年 10 月)

2016 年 10 月 21 日,DNS 提供商 Dyn 遭受大规模 DDoS 攻击,导致 Twitter、Netflix、GitHub、Spotify 和 Reddit 等数百个主要服务数小时无法访问。

攻击使用了 Mirai 僵尸网络,数十万台感染恶意软件的 IoT 设备(网络摄像头、路由器、DVR)同时向 Dyn 的 DNS 服务器发送大量查询。据报道,攻击流量峰值达到 1.2 Tbps。

这一事件暴露了许多主要服务依赖单一 DNS 提供商的问题。如果"电话簿"只有一份,一旦那份不可用,一切都会停止。

Cloudflare 骨干网路由泄漏(2020 年 7 月)

2020 年 7 月 17 日,Cloudflare 在亚特兰大的骨干网路由器上为缓解拥塞而修改配置时操作失误,全部 BGP 路由泄漏到骨干网内部,流量集中涌向单一站点。据该公司的事后报告,约 27 分钟内全网流量下降约 50%,各项服务普遍难以访问。Cloudflare 的公共 DNS(1.1.1.1)也运行在同一套骨干网上,因此即使 DNS 本身正常,通往 DNS 服务器的"道路"一旦断掉,在用户看来结果也是一样的。

DNS 的结构性漏洞

1. 未加密的明文通信

传统 DNS 查询通过 UDP 53 端口以未加密方式发送。ISP、Wi-Fi 接入点运营商和网络窃听者可以轻松截获你正在尝试访问的域名。DNS over HTTPS (DoH) 和 DNS over TLS (DoT) 解决了这个问题,但普及仍在进行中。

2. DNS 缓存投毒

攻击者向 DNS 解析器的缓存注入虚假响应,将用户重定向到假冒网站的攻击。Dan Kaminsky 于 2008 年发现的漏洞利用了 DNS 的一个基本设计缺陷,是影响整个互联网的严重问题。DNSSEC(DNS 安全扩展)是对策,但截至 2026 年 8 月,普及率仍然较低。

3. 单点故障的集中

DNS 根服务器由 A 到 M 共 13 个标识组成,分别由 12 家独立机构运营,并通过任播(Anycast)在全球分布了超过一千个实例。然而,故障集中在特定 TLD(顶级域名)权威服务器或特定 DNS 提供商上的风险仍然存在。

保护 DNS 的技术

  • DNSSEC:为 DNS 响应添加数字签名以检测篡改。但不加密查询内容
  • DNS over HTTPS (DoH):通过 HTTPS 加密 DNS 查询,防止窃听和篡改
  • DNS over TLS (DoT):通过 TLS 加密 DNS 查询。与 DoH 目的相同但使用专用端口(853)
  • 冗余:使用多个 DNS 提供商,当一个故障时可以通过其他提供商继续解析

检查你的 DNS 设置

在 IP 确认酱上查看你的连接信息,并运行 DNS 泄漏测试,看看你的 DNS 查询被发送到了哪些服务器。如果你使用的是 ISP 的默认 DNS,值得考虑切换到以下公共 DNS 服务。

  • Cloudflare (1.1.1.1):注重隐私。24 小时后删除查询日志
  • Google (8.8.8.8):快速可靠。但查询数据会发送到 Google
  • Quad9 (9.9.9.9):包含恶意域名拦截功能

总结

DNS 是互联网最基础的基础设施组件之一,同时也是最脆弱的环节之一。未加密的明文通信、缓存投毒漏洞、对单一提供商的依赖,这些问题正在通过 DoH/DoT 的普及、DNSSEC 的部署和 DNS 提供商的冗余化逐步得到解决。

本文相关术语

DNS 将域名转换为 IP 地址的互联网基础系统。 IP 地址 DNS 转换结果返回的服务器数字地址。 DNS 泄漏 使用 VPN 时 DNS 查询在加密隧道外传输的现象。 HTTPS 构成 DNS over HTTPS (DoH) 基础的加密通信协议。 BGP 控制通往 DNS 服务器路由的协议。BGP 故障影响 DNS 的可达性。

常见问题

DNS崩溃会怎样?

无法将域名转换为IP地址,除非直接知道IP地址,否则无法访问任何网站。2016年Dyn攻击导致Twitter、Netflix、GitHub等数百个服务瘫痪。

DNS查询是加密的吗?

传统DNS以未加密的明文发送。ISP和网络管理员可以看到你的访问目标。DNS over HTTPS(DoH)和DNS over TLS(DoT)可以加密,但普及仍在进行中。

推荐哪些公共DNS?

Cloudflare(1.1.1.1)注重隐私,Google(8.8.8.8)高速且可靠,Quad9(9.9.9.9)带有恶意域名拦截功能。