NS 记录
DNS 名称服务器(NS)记录是一种 DNS 资源记录类型,用于指定哪些名称服务器对特定域名或区域具有权威性。NS 记录充当路标,将 DNS 查询定向到保存域名权威 DNS 区域文件的服务器。它们对于 DNS 委托至关重要,允许 DNS 层次结构的不同部分由不同的名称服务器管理。
How it works
NS 记录告诉递归 DNS 解析器在哪里可以找到域名 DNS 信息的权威来源。当解析器需要查找域名时,它会遵循一系列 NS 记录,从根 DNS 服务器开始,经过 TLD(顶级域名)服务器,最后到达域名 NS 记录中指定的权威名称服务器。
每个域名必须至少有两条 NS 记录(通常是四条),指向存储该域名 DNS 记录的权威名称服务器。以下是工作流程:
**DNS 解析路径:**
1. 递归解析器接收对
www.example.com 的查询
2. 它查询根服务器,根服务器返回 .com TLD 服务器的 NS 记录
3. 解析器查询 .com 服务器,该服务器返回 example.com 的 NS 记录
4. 解析器查询 example.com 的一个权威名称服务器(在其 NS 记录中指定)
5. 权威服务器响应所请求的 DNS 信息
**DNS 委托:**
NS 记录启用 DNS 委托,可以将子域名的权威委托给不同的名称服务器。例如,example.com 的所有者可能为 shop.example.com 创建 NS 记录,指向不同的名称服务器,从而允许该子域名独立管理。这是通过在父区域中插入 NS 记录来完成的,这些记录指定哪些名称服务器对子区域具有权威性。
**粘合记录:**
当 NS 记录指向它们所权威的同一域名内的名称服务器时(例如,example.com 的 NS 记录指向 ns1.example.com),必须包含"粘合记录"(名称服务器的 A 或 AAAA 记录)以防止循环依赖。如果没有这些记录,DNS 系统将陷入无限循环。Key Points
- 每个域名必须至少有两条 NS 记录以实现冗余(通常是 2-4 个名称服务器)
- NS 记录指定哪些名称服务器对域名或子域名具有权威性
- 它们启用 DNS 委托,允许不同的区域由不同的服务器管理
- 当 NS 记录指向同一域名内的名称服务器时,需要粘合记录(A/AAAA 记录)
- NS 记录的更改可能需要 24-48 小时才能在全球范围内传播
Common Use Cases
- 域名服务器分配: 指定哪些名称服务器(例如 ns1.cloudflare.com、ns2.cloudflare.com)对您域名的 DNS 记录具有权威性
- 子域名委托: 将子域名(如
api.example.com)的控制权委托给不同的名称服务器,允许其独立于主域名进行管理 - DNS 提供商迁移: 切换 DNS 提供商时,您需要在域名注册商处更新 NS 记录,使其指向新提供商的名称服务器
- 地理分布: 使用多个地理分布的名称服务器(通过 NS 记录指定)来提高全球 DNS 查询响应时间
code 配置示例
| Type | Host / Name | Value / Points to | TTL |
|---|---|---|---|
| NS | @ | ns1.example.com | 86400 |
| NS | @ | ns2.example.com | 86400 |
| NS | subdomain | ns1.otherprovider.com | 86400 |
| A | ns1 | 192.0.2.1 | 86400 |
* 域名通常有多条 NS 记录指向不同的名称服务器以实现冗余。粘合记录在需要时提供 IP 地址。
Frequently Asked Questions
一个域名应该有多少条 NS 记录?expand_more
一个域名必须至少有两条 NS 记录以实现冗余,但最佳实践是有 2-4 条 NS 记录指向不同的名称服务器。拥有多个名称服务器可以确保如果一个不可用,其他服务器仍然可以响应 DNS 查询。超过 4-5 条 NS 记录通常会产生递减的收益,实际上可能会减慢 DNS 解析速度。
什么是粘合记录?何时需要它们?expand_more
粘合记录是名称服务器的 A 或 AAAA 记录,用于防止 DNS 中的循环依赖。当域名的 NS 记录指向同一域名内的名称服务器时,就需要粘合记录。例如,如果 example.com 使用 ns1.example.com 作为其名称服务器,则需要提供 ns1.example.com IP 地址的粘合记录。如果没有粘合记录,解析器需要查询 example.com 来查找其名称服务器的 IP,但它们无法在不知道名称服务器位置的情况下查询 example.com - 这会造成不可能的循环依赖。
我可以为不同的子域名使用不同的名称服务器吗?expand_more
可以,这称为 DNS 委托。您可以为子域名创建 NS 记录,指向与主域名不同的名称服务器。例如,example.com 可能使用 Cloudflare 的名称服务器,而 shop.example.com 可以有指向 Shopify 名称服务器的 NS 记录。这允许不同的团队或服务独立管理域名 DNS 的不同部分。
什么是跛脚委托?expand_more
跛脚委托是指 NS 记录指向的名称服务器实际上并不为该域名提供权威数据。这可能发生在迁移 DNS 提供商后未更新 NS 记录,或者名称服务器配置错误时。跛脚委托会导致 DNS 解析失败,应通过确保所有 NS 记录都指向正确配置的权威名称服务器来避免。
我应该在哪里更新域名的 NS 记录?expand_more
您应该在域名注册商(购买域名的地方)更新 NS 记录,而不是在 DNS 托管提供商处。注册商控制在 TLD 区域(.com、.org 等)中发布的 NS 记录。一旦您在注册商处更新 NS 记录以指向 DNS 提供商的名称服务器,DNS 提供商就会管理您域名的所有其他记录类型(A、CNAME、MX 等)。