周密的准备工作将在切换过程中最大限度减少停机时间和问题。
在计划的迁移时间窗前至少 24-48 小时(或更长时间,最好匹配你当前最长的 TTL),调低 BIND 区域文件中所有关键记录的 TTL。迁移中常见的短 TTL 为 300 秒(5 分钟)。
这可以确保全球的 DNS 解析器缓存你旧记录的时间变短,从而在切换到 Cloudflare 时使更改更快传播。
- SOA 记录:还请考虑调低 SOA 记录中的
MINIMUM字段,该字段规定了用于负面响应的 TTL (RFC 2308 ↗)。
从 BIND 服务器获取标准 BIND 格式的最新干净区域文件导出,并确保这些文件完整且准确。
-
登录你的 Cloudflare 仪表板。
Go to Account home ↗ -
添加你打算迁移的每个域名。Cloudflare 将尝试扫描现有的 DNS 记录。
使用 Cloudflare 的 Import and Export(导入和导出) 功能(在 DNS > Records(记录) 下)上传你的 BIND 区域文件。
Go to Account home ↗- 验证(至关重要):
- 导入后,细致比较 Cloudflare 中的记录与你的 BIND 区域文件或当前区域的
dig输出。 - 密切注意
MX记录、SRV记录、TXT记录(尤其是SPF、DKIM、DMARC)以及任何复杂的CNAME配置。 - 确保 FQDN(完全限定域名)格式正确(Cloudflare 在导入时通常能正确处理结尾的点,但仍需验证)。
- 导入后,细致比较 Cloudflare 中的记录与你的 BIND 区域文件或当前区域的
- 代理状态(橙色云与灰色云):
- 对于指向希望通过 Cloudflare 代理的 HTTP 或 HTTPS 服务(例如网站和 API)的
A、AAAA和CNAME记录,可以启用橙色云以使用 Cloudflare CDN 和安全功能。 - 代理后面不支持某些服务和端口,某些记录类型(例如
MX目标和许多非 HTTP 服务)必须保持 仅限 DNS。有关详细列表,请参阅代理状态和限制。 - 初始迁移建议:为了将 DNS 迁移与潜在的代理相关问题隔离开,请考虑在初始阶段将所有记录设置为 仅限 DNS(灰色云)。在确认 DNS 解析正常工作后,为特定 HTTP(S) 记录启用代理(橙色云)并再次测试。
- 对于指向希望通过 Cloudflare 代理的 HTTP 或 HTTPS 服务(例如网站和 API)的
在注册商处更改 Name Server 之前完成此步骤。
- 在注册商处的操作: 登录你的域名注册商,并删除每个域名与本地 BIND DNSSEC 密钥关联的现有 DS 记录。
- 等待 DS TTL: 在更改 Name Server 之前,至少等待在父区域发布的完整 DS 记录 TTL,最好是 1.5 倍的 TTL。这可以确保验证解析器停止期望旧的 DNSSEC 链。DS 记录的典型 TTL 持续时间设置为 +24 小时(86,400 秒)。
- 时间不当的影响: 如果在解析器仍期望旧 DS 记录时更改 Name Server,DNSSEC 验证将失败,并且你的域名对于验证解析器可能会变成不可达。