DNS Glue Record 是什么?为什么委派子域时可能需要胶水记录?
简化版
Glue Record,中文常叫胶水记录,是父区在委派子域时附带的子域权威 NS 的 IP 地址记录。
当子域的权威 DNS 名称本身也在这个子域下面时,例如 ns1.example.com 负责 example.com,解析器如果只拿到 NS 名称,会陷入先解析 ns1.example.com 又要问 example.com 的循环。父区提供 glue IP,可以打破这个循环。
它不是普通业务 A 记录,而是 DNS 委派链路里的辅助记录。
详细版
假设父区 .com 委派:
example.com. NS ns1.example.com.
ns1.example.com. A 192.0.2.10
这里 ns1.example.com 在被委派的 example.com 内部,解析器需要它的 IP 才能继续问 example.com 的权威 DNS。
.com 区返回 NS 的同时附带 ns1.example.com 的 A 记录,这个附带 A 记录就是 glue。
如果 NS 是外部域名,例如 ns1.dnsprovider.net,通常不需要父区提供 glue,因为解析器可以通过正常流程解析这个外部 NS。
完整版教学
1. 先讲委派为什么会出现循环
DNS 是分层委派的。
根委派给 TLD,TLD 再委派给二级域。
当 .com 告诉解析器:
example.com. NS ns1.example.com.
解析器下一步要去问 ns1.example.com。
但它必须先知道 ns1.example.com 的 IP。
而 ns1.example.com 又属于 example.com 这个还没解析进去的区域。
Glue Record 的作用是打破“要进子域先找 NS IP,但 NS IP 又在子域里”的循环。
2. 胶水记录长什么样
父区可能返回:
example.com. 172800 IN NS ns1.example.com.
ns1.example.com. 172800 IN A 192.0.2.10
其中 NS 是委派信息。
附带的 A 或 AAAA 就是 glue。
它帮助递归解析器直接联系子域权威服务器。
3. 什么时候需要 glue
核心判断:NS 名称是否位于被委派的子域内部。
| 委派 NS | 是否需要 glue | 原因 |
|---|---|---|
ns1.example.com | 通常需要 | NS 在被委派域内部 |
ns2.sub.example.com | 可能需要 | 仍在相关子域链路内 |
ns1.dnsprovider.net | 通常不需要 | 可以独立解析该 NS |
8.8.8.8 | 不适用 | NS 记录写的是名称不是裸 IP |
实际注册商或 DNS 托管商通常会提供“注册 nameserver IP”的入口。
4. Glue 和普通 A 记录的区别
Glue 记录看起来像 A 记录,但语义不同。
| 对比项 | Glue Record | 普通 A 记录 |
|---|---|---|
| 所在位置 | 父区附带 | 本区域权威数据 |
| 主要用途 | 支撑委派解析 | 解析业务主机 |
| 是否权威 | 对子域主机通常不是最终权威 | 由所属区域权威回答 |
| 典型对象 | NS 主机名 | 网站、API、服务 |
解析器最终仍可能向子域权威服务器确认 ns1.example.com 的地址。
Glue 主要是为了让解析链路能继续走下去。
5. 胶水记录配置错误会怎样
如果 glue IP 错了,递归解析器可能找不到子域权威 DNS。
表现包括:
- 整个域名解析失败。
- 某些地区缓存未过期,表现不一致。
- 更换权威 DNS 后长时间仍访问旧 IP。
- 新老 glue 与权威区内 A 记录不一致。
这类问题往往发生在迁移 DNS 托管商或自建权威 DNS 时。
6. 排查思路
可以用 dig +trace 看委派链路。
dig +trace example.com
也可以直接查父区返回的 NS 和附加记录。
关注 3 个点:
- 父区 NS 是否指向正确 nameserver。
- 父区 glue IP 是否正确。
- 子域权威区内 nameserver 的 A/AAAA 是否一致。
如果父区和子区不一致,递归解析器可能出现不稳定结果。
7. 常见误区与追问
- 误区:Glue Record 就是所有 A 记录。 Glue 只是在委派场景中附带的 NS 地址记录。
- 误区:NS 可以直接写 IP。 标准 NS 记录指向域名,IP 需要通过 A/AAAA 或 glue 获得。
- 误区:NS 在外部域名也必须配置 glue。 外部 NS 可以通过正常 DNS 流程解析,通常不需要父区 glue。
- 追问:为什么 glue 在父区? 因为解析器还没进入子区,需要父区先给它一个能联系子区权威的地址。
- 追问:glue 和子区 A 不一致怎么办? 可能导致解析异常,应同步更新并等待缓存过期。
- 追问:迁移 DNS 托管商为什么要关注 glue? 自建或域内 NS 迁移时,父区 glue 不更新会让解析器找错服务器。
8. 加强记忆
Glue Record 就像“门牌旁边贴的联系电话”。
子域的门还没打开,父区先给你 NS 的 IP,让你能敲到正确的门。