将域名 Nameserver 迁移到 Cloudflare 时,核心在于确保 Cloudflare 端 DNS 记录完整且提前降低 TTL 值。切换 NS 记录后,解析权威立即转移至 Cloudflare,原服务商解析不再生效,因此必须在切换前完成所有记录复核。
先说结论:迁移本身不会自动导致解析中断,但配置遗漏或 TTL 设置不当会造成服务不可用。按正确流程操作可实现无缝切换。
- 适合:需要将 DNS 解析、CDN 加速或 DDoS 防护整合到 Cloudflare 的站点
- 先准备:完整备份现有 DNS 记录,提前 24 小时降低 TTL 值
- 建议:在访问量低谷期操作,预留 24-48 小时观察期
命令速用版
迁移前用以下命令检查当前 DNS 记录状态:
dig +nocmd +noall +answer +ttlid YOUR_DOMAIN ANY
迁移后验证解析是否生效:
dig @1.1.1.1 YOUR_DOMAIN A
检查特定记录类型(如邮件相关的 MX 记录):
dig +short MX YOUR_DOMAIN
核心原理与风险
域名解析依赖 Nameserver(NS)记录指向的 DNS 服务器。当你把 NS 记录从原服务商改为 Cloudflare 提供的地址后,全球 DNS 系统会立即将查询请求转向 Cloudflare 的服务器。
关键风险点:切换 NS 后,原服务商的 DNS 记录不再参与解析链路。如果 Cloudflare 端缺少某条记录(如 MX 邮件记录),该服务会立即中断。此外,若原域名启用了 DNSSEC 安全扩展,迁移前必须关闭,否则新 NS 记录无法通过验证,解析会直接失败。
分步处理
第一步:备份现有 DNS 记录
登录原域名服务商控制台,进入解析记录页面。优先使用“导出记录”功能获取 Zone 文件,若无则手动截图。重点关注:
- A/AAAA 记录:网站主域及子域名对应的 IP 地址
- CNAME 记录:CDN 或第三方服务的别名解析
- MX 记录:邮件服务器配置,优先级数字需保持一致
- TXT 记录:域名验证、SPF/DKIM 等设置,内容需完整复制
- SRV/CAA 记录:特殊服务或证书授权
第二步:提前降低 TTL 值
在迁移前 24 小时,将现有记录的 TTL 调整为较低值(如 300 秒)。这样切换 DNS 服务器时,变更能够更快生效。可通过 dig 命令验证当前 TTL 值是否已更新。
第三步:检查并关闭 DNSSEC(关键)
不同注册商关闭 DNSSEC 的路径不同,未关闭会导致域名无法解析。常见路径如下:
- 阿里云:域名控制台 -> 管理 -> DNS 设置 -> DNSSEC 设置 -> 关闭
- 腾讯云(DNSPod):域名控制台 -> 我的域名 -> 管理 -> DNS 设置 -> DNSSEC -> 停用
- Namesilo/GoDaddy:Domain Manager -> DNSSEC -> Remove DS Records
注意:需关闭的是 DNSSEC 功能,而非域名转移锁(Registrar Lock),后者通常不影响 NS 修改。
第四步:在 Cloudflare 添加站点
注册或登录 Cloudflare 账户,点击"Add a Site",输入域名。系统会自动扫描现有记录,此时需手动核对:
- A 记录 IP 地址是否与原服务商一致
- CNAME 记录是否完整
- 特殊记录(如 SPF、DMARC)是否被正确识别
重要:添加站点时先保持代理模式关闭(灰色云朵状态),待确认解析正常后再根据需要开启。邮件相关记录必须保持灰色云朵。
第五步:修改 NS 记录
登录原域名注册商控制台,找到域名管理页面,将原有 NS 记录删除,替换为 Cloudflare 提供的配对地址(通常形如 name1.ns.cloudflare.com 和 name2.ns.cloudflare.com)。保存变更后强制刷新页面确认。
第六步:等待生效并监控
DNS 变更通常需要一定时间全球生效,建议预留 24-48 小时过渡期。注意:切换 NS 后,解析权威仅由 Cloudflare 生效,原服务商记录不再被查询。务必在切换前确保 Cloudflare 端配置无误。
怎么验证是否生效
使用 dig 命令检查 NS 记录是否已指向 Cloudflare:
dig YOUR_DOMAIN NS
如果返回结果中包含 cloudflare.com 字样的 NS 服务器,说明切换已完成。再检查关键记录:
dig YOUR_DOMAIN A dig YOUR_DOMAIN MX dig YOUR_DOMAIN TXT
访问网站确认加载正常,检查邮件收发是否正常。如有 SSL/TLS 重定向问题,可在 Cloudflare 控制台 SSL/TLS 标签下将模式调整为 Full 或 Strict。
迁移失败紧急回滚方案
若切换后发现网站无法访问或邮件中断,请立即执行回滚:
- 登录原域名注册商控制台。
- 将 NS 记录改回原 DNS 服务商提供的地址。
- 等待 10-30 分钟,大部分递归 DNS 会重新指向原服务商。
- 前提:在迁移完成并稳定运行前,不要删除原服务商的 DNS 记录。
常见坑
- 漏掉 MX 记录:导致企业邮箱验证失败或邮件收发中断,迁移前务必完整导出所有记录
- 漏掉 TXT 记录:域名验证、SPF/DKIM 等设置丢失,影响邮件投递和第三方服务认证
- 根域名用作 CNAME:部分 DNS 服务商不支持根域名 CNAME 记录,需确认 Cloudflare 是否自动处理
- DNSSEC 未关闭:新 NS 记录无法通过验证,解析直接失败
- TTL 设置过高:切换后部分地区仍使用旧缓存,造成解析不一致,建议提前 24 小时降低 TTL
- 代理模式误开启:某些服务(如邮件)不应经过 Cloudflare 代理,需保持灰色云朵状态
- 迁移时间选择不当:在访问高峰期操作可能影响用户体验,建议选择业务低峰期