跳转到内容
搜索文档

将 Cloudflare 设为主 DNS 时配置 DNSSEC

最后更新 查看 MarkdownAgent 设置

使用传出 zone 传输时,您将 Cloudflare 保留为主 DNS 提供商,并使用一个或多个辅助提供商以提高可用性和容错能力。

如果要在传出 zone 传输中使用 DNSSEC,应配置多签名者 DNSSEC。在设置 Cloudflare 作为主 DNS 后,请按以下步骤启用 DNSSEC。

开始之前

请注意:

  • 此过程要求您的其他 DNS 提供商也支持多签名者 DNSSEC。
  • 尽管部分步骤可通过仪表板完成,但目前整个过程只能通过 API 完成。
  • DNS Settings(DNS 设置) 中启用 DNSSECMulti-signer DNSSEC(多方签名 DNSSEC) 仅替代下面的第一步。您仍需按照本教程的其余步骤完成设置。

步骤

  1. 使用 Edit DNSSEC Status 端点 为您的 zone 启用 DNSSEC 并激活多签名者 DNSSEC。方法是将 status 设为 active,并将 dnssec_multi_signer 设为 true,如下例所示。

Required API token permissions

At least one of the following token permissions is required:
  • DNS Write
Edit DNSSEC Statusbash
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dnssec" \
	--request PATCH \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"status": "active",
		"dnssec_multi_signer": true
	}'
  1. 通过在 zone 上创建 DNSKEY 记录,将外部提供商的 ZSK 添加到 Cloudflare。
curl 'https://api.cloudflare.com/client/v4/zones/{zone_id}/dns_records' \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>" \
--header "Content-Type: application/json" \
--data '{
  "type": "DNSKEY",
  "name": "<ZONE_NAME>",
  "data": {
    "flags": 256,
    "protocol": 3,
    "algorithm": 13,
    "public_key": "<PUBLIC_KEY>"
  },
  "ttl": 3600
}'
  1. DNSKEY 记录从 Cloudflare 传输到辅助提供商后,获取 Cloudflare 的 ZSK 并手动将其添加到 DNSKEY 记录中。

    目前,ZSK 不会自动传出。您可以使用 API 或向其中一个已分配的 Cloudflare nameserver 查询来获取它。

API 示例:

curl 'https://api.cloudflare.com/client/v4/zones/{zone_id}/dnssec/zsk' \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>"

命令行查询示例:

$ dig <ZONE_NAME> dnskey @<CLOUDFLARE_NAMESERVER> +noall +answer | grep 256
  1. 在 registrar 处为每个提供商添加 DS 记录。您可以在 DNS Settings(DNS 设置) 页面的 DS Record(DS 记录) 下查看 Cloudflare DS 记录。

您在 registrar 处的 nameserver 设置应包含多签名者 DNSSEC 设置中将使用的所有提供商的 nameserver。

这篇文档对您有帮助吗?