AxionserveSign in / RegisterEnglish/中文/cn繁体/tw

第 2 课 · 输入网址按下回车后:DNS 全程之旅

互联网从零 · L1 · 第 2 / 6 节 · 约 3 分钟

浏览器只认 IP 地址,不认域名。把 example.com 翻译成 IP 的系统就是 DNS——互联网的电话簿。它是你按下回车后发生的第一件事,也是最容易被忽视的故障点:解析错了,后面一切都不对。

一次解析的完整链条

浏览器缓存 → 操作系统缓存 → 本地递归解析器(如运营商 DNS 或 1.1.1.1)→ 根服务器 → 顶级域(.com)服务器 → 该域名的权威 DNS。拿到最终答案后,每一层按 TTL 缓存,下次同样的问题就地回答,不再长途跋涉。

DNS 解析链条示意图:浏览器缓存到系统缓存到递归解析器,再到根、顶级域、权威 DNS

为什么要分这么多层?因为规模。全球域名以亿计,任何单点都存不下也查不动——分层委派让每一层只回答「下一跳该问谁」,把问题逐级收敛到最终负责人(权威 DNS)。

必须认识的记录类型

记录作用典型场景与注意点
A域名 → IPv4 地址网站指向服务器,最基础的一条
AAAA域名 → IPv6 地址双栈部署;移动网络用户受益明显
CNAME域名 → 另一个域名接 CDN / 对象存储;根域(@)不能用 CNAME
NS该域名交给哪台 DNS 负责在注册商处修改;换 DNS 服务商必动
MX收信服务器与优先级企业邮箱必配;数字越小优先级越高
TXT任意文本域名所有权验证、SPF 发信白名单

TTL 决定生效速度

TTL 是各级缓存保存该记录的秒数。计划迁移服务器前,提前 1–2 天把 TTL 降到 300–600 秒,切换当天生效更快;稳定后再调回 3600 秒以降低查询压力。「全球生效要 48 小时」通常只发生在 NS 变更或个别运营商缓存顽固时,普通 A 记录变更多数几分钟内可用——用下面的命令可以立刻验证,不必干等。

动手:六条命令吃透 DNS

# 1) 查 A 记录(+short 只看答案)
dig example.com +short
# 2) 查完整解析链路:用了哪台递归、TTL 多少
dig example.com
# 3) 从根开始逐级追踪(看 NS 委派链是否完整)
dig example.com +trace
# 4) 查邮件与文本记录(SPF 在 TXT 里)
dig example.com MX +short && dig example.com TXT +short
# 5) 指定公共 DNS 对比(排除本地缓存污染)
dig @223.5.5.5 example.com +short && dig @1.1.1.1 example.com +short
# 6) 反查 IP 的 PTR(邮件服务器常被收件方检查)
dig -x 服务器IP +short

常见故障三个样

  • SERVFAIL:多为权威侧配置错误(NS 指向失效、DNSSEC 签名损坏)——先用 +trace 看委派链断在哪一层;
  • 改了记录「没生效」:几乎总是某一层缓存未过期——换 dig @公共DNS 验证,公共 DNS 已更新而本地没有,就是本地缓存问题;
  • 能 ping 通 IP 却打不开域名:解析层问题实锤——检查 A 记录是否存在、是否指错 IP、根域是否误用了 CNAME。

DNS 与安全的关系

DNS 默认不加密也不签名,因此存在被劫持与投毒的可能:公共 Wi-Fi 下「网站变广告」多数是解析被劫持。防护的入门动作:服务器与个人设备改用可信的公共 DNS;对外业务开启 DNSSEC(由 DNS 服务商支持);域名注册商处务必开二次验证——解析权限失守等于整个站点失守。

动手:给自己的域名配齐一套记录

以 example.com 指向服务器 203.0.113.10 为例,一套建站加邮件的最小记录集是:

# A 记录:根域与 www 指向服务器(TTL 先设 600,稳定后调 3600)
example.com.        600  IN  A      203.0.113.10
www.example.com.    600  IN  A      203.0.113.10
# MX 记录:收信交给邮件服务商(数字为优先级,越小越先)
example.com.        3600 IN  MX  10 mx1.mailprovider.com.
# TXT 记录:SPF 声明谁有权以你的域名发信
example.com.        3600 IN  TXT "v=spf1 include:mailprovider.com -all"

配完逐条用 dig 验证;MX 与 SPF 生效后再发一封测试邮件到 Gmail,查看「显示原始」确认 SPF 通过——发信信誉是从第一天开始积累的。

DNS 与邮件到达率:SPF、DKIM、DMARC 一句话版

  • SPF(TXT 记录):声明「哪些服务器有权以我的域名发信」,收件方据此拒收冒名信;
  • DKIM(TXT 记录 + 私钥签名):给每封邮件盖防伪章,途中被改立刻能看出来;
  • DMARC(TXT 记录):告诉收件方「SPF/DKIM 失败怎么办」,先用 p=none 收报表观察,再逐步收紧到隔离或拒收。

三件套缺一,业务邮件进垃圾箱的概率大增。企业邮箱服务商都会给出对应的记录值,照抄进解析面板即可。

公共 DNS 怎么选

服务器与办公网建议配置两家以上公共 DNS 互为备份(如 223.5.5.5 与 1.1.1.1),避免单一解析商故障导致全站「打不开」。选择标准很简单:稳定、响应快(可以用 dig 的 Query time 对比)、支持 ECS(按用户位置返回就近结果)。个人设备同理——解析被劫持的广告注入,换可信公共 DNS 通常立竿见影。

本节小结

  1. DNS 是分层委派的查询系统:缓存 → 递归解析器 → 根 → 顶级域 → 权威,答案按 TTL 逐层缓存;分层是为了规模。
  2. A/AAAA/CNAME/NS/MX/TXT 六类记录覆盖建站与邮件的绝大多数需求;根域不能用 CNAME,迁移前先降 TTL。
  3. 排查用 dig 三板斧:+short 看答案、+trace 看委派、@公共DNS 排除本地缓存;SERVFAIL 查权威侧,「没生效」查缓存层。