跳转到内容
搜索文档

设置

最后更新 查看 MarkdownAgent 设置

通过传出 zone 传输,您可以将 Cloudflare 作为主要 DNS 提供商,并使用一个或多个 secondary 提供商以提高可用性和容错能力。

开始之前

请确保您的账户团队已为 zone 启用传出 zone 传输。

考虑不同记录类型的预期行为,并检查您的现有 DNS 记录,确保它们都具有所需的 Proxy status(代理状态)

若使用 API,您可能还需要查找 Zone 和 Account ID


1. 创建 TSIG(可选)

Transaction Signature (TSIG) 用于验证主 DNS 服务器和辅助 DNS 服务器之间的通信。

此步骤为可选,但强烈建议执行。

要通过仪表板创建 TSIG:

  1. 在 Cloudflare 仪表板中,前往账户 Settings(设置) 页面。

    Go to Configurations ↗
  2. 前往 DNS Settings(DNS 设置)

  3. DNS Zone Transfers(DNS 区域传输) 下,对于 TSIG,选择 Create(创建)

  4. 输入以下信息:

    • TSIG name(TSIG 名称):使用域名语法的 TSIG 对象名称(更多详情见 RFC 8945 section 4.2)。
    • Secret (optional)(密钥(可选)):获取要添加到第三方 nameserver 的共享密钥。如果留空,此字段将生成随机密钥。
    • Algorithm(算法):选择 TSIG 签名算法。
  5. 选择 Create(创建)

要通过 API 创建 TSIG,请发送 POST 请求。

2. 创建 Peer DNS 服务器(可选)

仅在以下情况下需要创建 peer DNS 服务器:

  • 您希望 secondary nameserver 接收 Cloudflare DNS 记录更改的 NOTIFY
  • 使用 TSIG 对 zone 传输请求和 NOTIFY 进行签名。

使用仪表板创建 peer:

  1. 在 Cloudflare 仪表板中,前往账户 Settings(设置) 页面。

    Go to Configurations ↗
  2. 前往 DNS Settings(DNS 设置)

  3. DNS Zone Transfers(DNS 区域传输) 下,对于 Peer DNS servers(对等 DNS 服务器),选择 Create(创建)

  4. 输入以下信息,特别注意:

    • IP:若已配置,指定 Cloudflare 发送 NOTIFY 请求的目标。
    • Port(端口):指定 NOTIFY IP 的 IP 端口。
    • Enable incremental (IXFR) zone transfers(启用增量 (IXFR) 区域传输):当您使用 Cloudflare 作为主要 DNS 提供商时不适用(Cloudflare zone 始终接受 IXFR 请求)。
    • Link an existing TSIG(关联现有 TSIG):若需要,链接您先前创建的 TSIG。
  5. 选择 Create(创建)

要使用 API 创建 peer DNS 服务器,请发送 POST 请求。

3. 将 peer 链接到主要 zone(可选)

若您先前创建了 peer DNS 服务器,应将其链接到主要 zone。

使用仪表板将主要 zone 链接到 peer:

  1. 在 Cloudflare 仪表板中,前往 DNS Settings(DNS 设置) 页面。

    Go to Settings ↗
  2. 对于 DNS Zone Transfers(DNS 区域传输),选择 Manage linked peers(管理已关联的对等服务器)

  3. 选择一个 peer。

  4. 选择 Save(保存)

要使用 API 将主要 zone 链接到 peer,请发送 POST 请求,并使用您先前创建的 peer 的 ID。

4. 更新 secondary DNS 提供商

您的 secondary DNS 提供商应向此 IP 的端口 53 发送 zone 传输请求(通过 AXFR 或 IXFR),并从您在 peer 配置中指定的 IP 地址发送。

它还应有更新的访问控制列表(ACL),以防止来自 Cloudflare IP 范围的 NOTIFY 消息被阻止。

5. 在 Cloudflare 内添加 secondary nameserver

使用 secondary DNS 提供商的信息,在 zone apex 上创建 NS 记录,列出 secondary nameserver。

默认情况下,Cloudflare 忽略添加到 zone apex 的 NS 记录。要修改此行为,请启用 multi-provider DNS

  1. 在 Cloudflare 仪表板中,前往 DNS Settings(DNS 设置) 页面。

    Go to Settings ↗
  2. 启用 Multi-provider DNS(多提供商 DNS)

发送以下 PATCH 请求,将占位符替换为您的 zone ID 和身份验证信息:

Required API token permissions

At least one of the following token permissions is required:
  • Zone DNS Settings Write
  • DNS Write
Update DNS Settingsbash
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_settings" \
	--request PATCH \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"multi_provider": true
	}'

6. 启用传出 zone 传输

启用传出 zone 传输时,将向 secondary DNS 提供商发送 DNS NOTIFY 消息。

  1. 在 Cloudflare 仪表板中,前往 DNS Settings(DNS 设置) 页面。

    Go to Settings ↗
  2. 对于 Outgoing Zone Transfers(传出区域传输),将开关切换为 On(开启)

要使用 API 启用传出 zone 传输,请发送 POST 请求。

7. 向注册商添加 secondary nameserver

在注册商处添加 secondary DNS 提供商的 nameserver。

这篇文档对您有帮助吗?