域名让人不必记住一串数字地址。浏览器访问网站之前,通常会通过 DNS 查询得到目标地址。DNS 并不是一张单独的全球表格,而是按层级委托的分布式系统;不同类型的记录承担不同任务。
先理解一次查询#
以 www.example.com 为例,设备先询问配置好的递归解析器。解析器若没有可用缓存,会沿着 DNS 层级找到负责 example.com 的权威服务器,并从那里取得记录。递归解析器把结果返回给设备,通常还会按记录的 TTL 缓存一段时间。
修改记录后,有人立刻看到新地址,有人仍看到旧地址,常见原因之一就是缓存尚未到期。排查时要分清:权威服务器现在回答什么,递归解析器又缓存了什么。
常见记录类型#
| 类型 | 作用 | 例子 |
|---|---|---|
| A | 域名指向 IPv4 地址 | example.com → 192.0.2.10 |
| AAAA | 域名指向 IPv6 地址 | example.com → 2001:db8::10 |
| CNAME | 为一个名称指定另一个规范名称 | www → example.com |
| MX | 指定接收邮件的服务器及优先级 | 10 mail.example.com |
| TXT | 存放文本信息,常用于域名验证和邮件策略 | SPF 或验证值 |
需要注意,CNAME 不是“再加一个 IP”;它让查询继续到目标名称。MX 记录的目标需要能解析为地址。TXT 记录可以承载多种用途,但每一种用途都应按对应服务的官方要求填写。
一套简单的排查顺序#
先核对域名当前的 NS 记录,确认真正管理这个域名的权威 DNS 服务商;在错误的平台改记录不会生效。再直接询问权威服务器,核对目标名称、记录类型和值。最后询问常用递归解析器,观察缓存是否已经更新。
sh
dig NS example.com
dig A www.example.com
dig @1.1.1.1 A www.example.com遇到“域名可以解析,但网页打不开”时,DNS 只是检查的第一站。还要看服务器端口是否监听、防火墙是否放行,以及 HTTPS 证书是否覆盖该域名。