子域名 NS 委派(Delegation)是指将某个子域名的解析权从主域名的 DNS 服务商”下放”给另一套 DNS 服务器单独管理。本文介绍完整的操作思路和步骤。
核心概念
假设你的主域名 example.com 托管在 A 服务商(如阿里云/腾讯云/Cloudflare/AWS),现在想让子域名 sub.example.com 由 B 服务商(如 AWS Route53)单独解析。
实现原理:在主域名的 DNS 中为子域名添加 NS 记录,指向 B 服务商分配的 Name Server。此后所有 *.sub.example.com 的 DNS 查询都会被”转交”给 B 服务商处理。
操作步骤
1. 在新的 DNS 服务商创建子域名托管区
以 AWS Route53 为例:
- 创建一个 Hosted Zone,名称填写
sub.example.com - 创建完成后,Route53 会自动分配 4 个 NS 服务器,格式类似:
1 | ns-123.awsdns-45.com |
- 记录这 4 个 NS 值,下一步需要用到
2. 在原主域名 DNS 服务商添加 NS 记录
在 example.com 的 DNS 解析记录中新增以下 NS 记录:
| 主机记录 | 记录类型 | 记录值 |
|---|---|---|
| sub | NS | ns-123.awsdns-45.com |
| sub | NS | ns-678.awsdns-90.net |
| sub | NS | ns-234.awsdns-12.org |
| sub | NS | ns-567.awsdns-89.co.uk |
注意:主机记录只需填写
sub,不要填写完整的sub.example.com。大多数 DNS 控制台会自动补全主域名。
3. 在新服务商配置子域名的具体解析
现在可以在 Route53 的 sub.example.com 托管区中添加 A / CNAME 等记录:
1 | www.sub.example.com A 1.2.3.4 |
关键注意事项
避免记录冲突
⚠️ 不要在主域名同时保留冲突记录
如果 A 服务商中之前已经存在 sub 的 A 记录或 CNAME 记录,委派完成后必须删除。原因:
- NS 委派和 A/CNAME 记录在同一节点会产生冲突
- DNS 协议规定 NS 委派优先级更高,子记录会被忽略甚至导致解析错误
生效时间
⚠️ 生效时间受 TTL 影响
NS 记录的生效时间取决于 TTL(Time To Live)设置,通常在几分钟到 48 小时之间。
加速切换的方法:
- 在切换前将 TTL 提前调小(如设置为 600 秒)
- 完成切换并验证后,再将 TTL 调回正常值
验证方法
使用以下命令验证 NS 委派是否生效:
1 | # 检查子域名的 NS 委派是否生效 |
验证标准:如果 dig NS sub.example.com 返回的是 B 服务商的 NS 服务器地址,说明委派已成功生效。
应用场景
NS 委派适用于以下场景:
- 多云架构:不同子域名由不同云服务商管理,实现解耦和灵活性
- 团队协作:不同团队独立管理各自的子域名,减少相互依赖
- 服务迁移:在迁移过程中通过子域名实现灰度切换
- 性能优化:利用特定服务商的 DNS 优势(如 GeoDNS、智能解析等)
本博客所有文章除特别声明外,均采用 CC BY-NC 4.0 许可协议。转载请注明来源 镜湖!
评论


