云计算百科
云计算领域专业知识百科平台

DNS入门必知:从根服务器到记录类型,一张图看懂DNS解析全过程

前言

作为运维新人,DNS 是你每天都会打交道的基础设施。但你真的知道当你输入 www.baidu.com 后,背后发生了什么吗?

本文通过实际环境 demo.example-corp.com 的完整解析过程,带你一次性搞懂 DNS 的基础架构。


一、DNS 的核心作用

一句话定义:DNS 把人类易记的域名翻译成机器可读的 IP 地址。

场景没有 DNS有 DNS
访问网站 记 IP:203.0.113.1 记域名:www.example-corp.com
换服务器 通知所有人改 IP 改一条 DNS 记录
CDN 加速 无法实现 CNAME 到 CDN 自动调度

二、DNS 树状分层结构

DNS 是树形结构,从右往左看:

www.example-corp.com.
│   │       │   └── 根域(root,顶级域名最后的点)
│   │       └── 顶级域(TLD,.com)
│   └── 二级域(eastmoney)
└── 子域(www)

每一层的职责:

层级职责示例
根域 存储所有 TLD 的 NS 记录 .(一个点)
TLD 存储所有二级域的权威 DNS 地址 .com、.cn
二级域 你注册的域名 example-corp.com
子域 二级域下的细分 www、api、img

三、完整解析流程(逐帧拆解)

3.1 缓存检查

hosts 文件 → OS 缓存 → 浏览器缓存 → 本地递归 DNS 缓存
                  ↓ 全部未命中
              开始递归查询

3.2 递归查询

以你的 demo.example-corp.com 为例,实际的查询路径:

① 你的浏览器
  ↓
② 内网 DNS(10.126.251.11,缓存未命中)
  ↓
③ 根服务器(l.root-servers.net,27ms 响应)
  "去问 .com TLD"
  ↓
④ .com TLD(b.gtld-servers.net,17ms 响应)
  "example-corp.com 的权威 DNS 是 ns1.clouddns.com"
  ↓
⑤ 云DNS权威 DNS(ns1.clouddns.com,33ms 响应)
  "demo.example-corp.com → CNAME → 星云CDN"
  ↓
⑥ 浏览器拿到结果,开始 HTTP 请求

3.3 用 dig +trace 实战验证

dig demo.example-corp.com +trace

输出分 4 段,每段对应上图的每一步:

第 1 段:根服务器

. 480164 IN NS a.root-servers.net. (共 13 组)
;; Received from 10.126.251.11 in 0 ms

你的内网 DNS 直接返回了缓存的根服务器列表(0ms),说明根 NS 信息被长期缓存。

第 2 段:.com TLD

com. 172800 IN NS a.gtld-servers.net. (共 13 组)
;; Received from 199.7.83.42 (l.root-servers.net) in 27 ms

实际联系了 l.root-servers.net(199.7.83.42),27ms 返回了 .com TLD 的 NS 列表。

第 3 段:example-corp.com 权威 DNS

example-corp.com. 172800 IN NS ns1.clouddns.com.
example-corp.com. 172800 IN NS ns2.clouddns.com.

TLD 告诉递归 DNS:"example-corp.com 的权威 DNS 是云DNS的两台服务器"。

第 4 段:最终答案

demo.example-corp.com. 600 IN CNAME demo.example-corp.com.cdn-edge.cloudfront-cdn.com.

云DNS 返回了 CNAME 记录,指向星云CDN。


四、6 种核心 DNS 记录类型

4.1 A 记录 —— 最核心

域名 → IPv4:

dig demo.example-corp.com A +short
→ CNAME 链追到最终 IP:203.0.113.10, 203.0.113.11

4.2 CNAME 记录 —— CDN 的灵魂

域名 → 另一个域名(别名):

dig demo.example-corp.com CNAME +short
→ demo.example-corp.com.cdn-edge.cloudfront-cdn.com

# host 命令看 CNAME 链最清晰
host demo.example-corp.com
→ demo.example-corp.com → cdn-edge.cloudfront-cdn.com → sx-img-ipv4.geo-cdn.cloudfront-cdn.com

CNAME 的限制:

  • ❌ 不能和其他记录(如 MX)共存

  • ❌ 不能指向 IP

  • ❌ 顶级域名不推荐用

4.3 SOA 记录 —— 域名的"户口本"

dig example-corp.com SOA +short
→ ns1.clouddns.com. hostmaster@example-corp.com. 2026060512 3600 1200 86400 600

字段值含义
主 NS ns1.clouddns.com 主权威 DNS
管理员 hostmaster@hichina.com 万网/云DNS
Serial 2026060512 2026-06-05 第 12 次修改
Refresh 3600 从服务器 1h 检查更新
Retry 1200 失败后 20min 重试
Expire 86400 1 天连不上就丢弃
Min TTL 600 最小缓存 10min

运维价值:修改 DNS 后如果 Serial 没递增,从服务器不会同步。

4.4 MX 记录 —— 邮件路由

dig example-corp.com MX +short
→ 4 mail2.example-corp.com

优先级 4(数字越小越优先),只有一台邮件服务器。

4.5 NS 记录 —— 谁管这个域名

dig example-corp.com NS +short
→ ns1.clouddns.com
→ ns2.clouddns.com

4.6 TXT 记录 —— 万能小纸条

dig example-corp.com TXT +short
→ "MS=CC0EABB6…" (微软域名验证)
→ "v=spf1 a mx ip4:101.226.30.10 ip4:101.226.30.12 -all" (SPF 防邮件伪造)


五、一句话总结

DNS = 树状结构 + 递归查询 + 6种记录类型

运维新人先记住 3 件事:

  • 用 dig +trace 看完整解析路径

  • A 记录给 IP,CNAME 给别名(CDN 用)

  • SOA 的 Serial 改完 DNS 要递增


  • 下一篇文章预告:《DNS排查5大利器:dig/nslookup/host/curl–resolve实战》

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » DNS入门必知:从根服务器到记录类型,一张图看懂DNS解析全过程
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!