IP 地址与网络

DNS (域名系统)

约 5 分钟阅读

什么是 DNS

DNS(域名系统)是将人类可读的域名(如 example.com)转换为计算机通信所用的 IP 地址(如 93.184.216.34)的系统。它常被比喻为互联网的「电话簿」,每次在浏览器中输入 URL 时,后台都会进行 DNS 查询。

如果没有 DNS,每次访问网站都需要直接输入 IP 地址。DNS 是支撑互联网便利性的基础技术,其故障会影响整个互联网。

域名解析流程

当你在浏览器中访问 www.example.com 时,DNS 域名解析按以下顺序进行。

  1. 浏览器缓存:如果浏览器中有之前访问的记录,则直接使用。
  2. 操作系统缓存:如果浏览器中没有,则检查操作系统的解析器缓存。
  3. 递归解析器(缓存 DNS 服务器):向运营商或公共 DNS(如 8.8.8.8)发起查询。如果有缓存则在此返回响应。
  4. 根 DNS 服务器:如果没有缓存,则向根服务器查询 .com 的管理方。
  5. TLD 服务器:向管理 .com 的 TLD 服务器查询 example.com 的权威服务器。
  6. 权威 DNS 服务器example.com 的权威服务器返回最终的 IP 地址。

整个过程通常在几十毫秒内完成。当缓存生效时,响应可在 1 毫秒以内返回。

公共 DNS 的选择

使用公共 DNS 代替运营商提供的默认 DNS 服务器,有时可以改善响应速度和隐私保护。

Google Public DNS (8.8.8.8)
全球最大规模的 DNS 服务之一。快速稳定,但需注意查询日志会被 Google 记录。
Cloudflare DNS (1.1.1.1)
以隐私保护为重点,查询日志在 24 小时后删除。响应速度也位居全球前列。
Quad9 (9.9.9.9)
以安全为重点。具有自动阻止访问已知恶意软件域名的功能。

切换到公共 DNS 可以在路由器的 DHCP 设置中修改 DNS 服务器地址,或在各设备的网络设置中单独指定。

DNS 的安全风险与对策

传统的 DNS 通信未经加密,存在几个严重的风险。

  • DNS 欺骗(缓存投毒):通过注入伪造的 DNS 响应,将用户引导至钓鱼网站的攻击。DNSSEC(DNS 安全扩展)可以验证响应的真实性,但普及率仍然较低。
  • DNS 泄漏:在使用 VPN 时,DNS 查询泄漏到 VPN 隧道之外,导致运营商得知你的浏览目标。
  • 窃听:明文的 DNS 查询可被网络上的任何人截获,你访问的网站一览无余。

针对这些风险,建议使用 DNS over HTTPS (DoH) 或 DNS over TLS (DoT) 进行加密。主流浏览器已将 DoH 作为默认或可选功能提供。

常见误解

更换 DNS 可以让网速变快
更换 DNS 只能改善域名解析的响应时间,不会影响下载速度或视频缓冲。不过,如果运营商的 DNS 较慢,网页的加载开始可能会感觉更快。
DNS 只用于网页浏览
DNS 用于所有涉及域名的通信,包括邮件发送(MX 记录)、VPN 连接、在线游戏、物联网设备通信等。如果 DNS 停止运行,除了直接输入 IP 地址外,几乎所有通信都会受到影响。
分享

相关术语