跳转到内容
搜索文档

DNSSEC 选项

最后更新 查看 MarkdownAgent 设置

DNS 安全扩展(DNSSEC)通过为 DNS 记录添加加密签名来提高安全性。当您使用多个提供商且 Cloudflare 作为辅助时,有几种选项可为 Cloudflare 提供的记录启用 DNSSEC。

  • 多签名者 DNSSEC:Cloudflare 和您的主 DNS 提供商都知道彼此的签名密钥,并根据 RFC 8901 各自对 DNS 记录进行实时签名。
  • 实时签名:如果您的域名未委派给主提供商的 nameserver,且 Cloudflare 辅助 nameserver 是唯一对 DNS 查询进行权威应答的 nameserver(隐藏主设置),您可以选择此选项,允许 Cloudflare 对您的 DNS 记录进行实时签名。
  • 预签名:您的主 DNS 提供商对记录进行签名并传出签名。Cloudflare 原样提供这些记录和签名,不进行任何签名。默认情况下,Cloudflare 使用 NSEC 记录而不是 NSEC3——如有需要请参阅 NSEC3 支持。此外,预签名 DNSSEC 不支持 Secondary DNS OverridesLoad Balancing

设置多签名者 DNSSEC

请参阅设置多签名者 DNSSEC 并按照说明操作,同时注意关于 Cloudflare 作为辅助的说明。


设置实时签名 DNSSEC

如果您使用 Cloudflare 辅助 nameserver 作为唯一对 DNS 查询进行权威应答的 nameserver(隐藏主设置),您可以启用实时签名 DNSSEC,让 Cloudflare 为您的 zone 签署记录。

在此设置中,主 DNS 提供商上的 DNSSEC 无需启用。

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

    Go to Settings ↗
  2. DNSSEC with Secondary DNS(辅助 DNS 的 DNSSEC) 下选择 Live signing(实时签名)。然后您将获得在 registrar 处创建 DS 记录所需的多个值。

  3. 在注册商处添加 DS 记录。若注册商未列出 Algorithm 13(Cloudflare 首选的加密算法),它也可能称为 ECDSA Curve P-256 with SHA-256

    各提供商 DNSSEC 说明

    以下并非完整列表,但这些链接可能有帮助:

  1. 使用 Edit DNSSEC Status 端点,并为您的 zone 将 status 设为 active

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"
	}'
  1. 使用 DNSSEC Details 端点 获取在 registrar 处创建 DS 记录所需的值。

  2. 在注册商处添加 DS 记录。若注册商未列出 Algorithm 13(Cloudflare 首选的加密算法),它也可能称为 ECDSA Curve P-256 with SHA-256

    各提供商 DNSSEC 说明

    以下并非完整列表,但这些链接可能有帮助:


设置预签名 DNSSEC

前提条件

  • Cloudflare 中的辅助 zone 已存在,并且从主 DNS 提供商的 zone 传输正常工作。
  • 您已考虑主 DNS 提供商使用 NSEC 还是 NSEC3,并在需要时启用了 NSEC3 支持
  • 您的主 DNS 提供商会传出与 DNSSEC 相关的记录,例如 RRSIG、DNSKEY 和 NSEC。

步骤

  1. 在主 DNS 提供商处启用 DNSSEC。
  2. 使用仪表板或 API,为 Cloudflare 上的 zone 启用 DNSSEC。
  1. 在 Cloudflare 仪表板中,前往 DNS Settings(DNS 设置) 页面。

    Go to Settings ↗
  2. DNSSEC with Secondary DNS(辅助 DNS 的 DNSSEC) 下选择 Pre-signed(预签名)

使用 Edit DNSSEC Status 端点,并将 dnssec_presigned 值设为 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 '{
		"dnssec_presigned": true
	}'
  1. 确保在 registrar 处添加了 Cloudflare nameserver。您可以在仪表板的 DNS Records(DNS 记录) 页面上查看 Cloudflare nameserver。

  2. 确保在 registrar 处添加了 DS 记录。DS 记录从主 DNS 提供商(zone 的签名者)获取,用于向 DNS 解析器指示您的 zone 已启用 DNSSEC。

这篇文档对您有帮助吗?