| [ Web Proxy ] |
| Viewing: https://developers.cloudflare.com/dns/dnssec/multi-signer-dnssec/setup/ | [Back] [Original] |
This page explains how you can enable multi-signer DNSSEC with Cloudflare, using the model 2 as described in RFC 8901 .
Note that:
If you use Cloudflare as a primary DNS provider, meaning that you manage your DNS records in Cloudflare, do the following:
In the Cloudflare dashboard, go to the DNS Settings page.
Go to Settings ↗Select Enable DNSSEC and Confirm.
Note
For the purpose of this tutorial, you will update your registrar with the DS record later, in Step 3.
@ in the record Name field):
status to active and dnssec_multi_signer to true, as in the following example.Required API token permissions
At least one of the following token permissions is required:DNS Writecurl "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
}'Required API token permissions
At least one of the following token permissions is required:DNS Writecurl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"type": "DNSKEY",
"name": "<ZONE_NAME>",
"data": {
"flags": 256,
"protocol": 3,
"algorithm": 13,
"public_key": "<PUBLIC_KEY>"
},
"ttl": 3600
}'Required API token permissions
At least one of the following token permissions is required:DNS Writecurl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"type": "NS",
"name": "<ZONE_NAME>",
"content": "<NS_DOMAIN>",
"ttl": 86400
}'Caution
This step is required. Without turning on this setting, Cloudflare will ignore any NS records created on the zone apex. This means that responses to DNS queries made to the zone apex and requesting NS records will only contain Cloudflare nameservers.
Required API token permissions
At least one of the following token permissions is required:Zone DNS Settings WriteDNS Writecurl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_settings" \
--request PATCH \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"multi_provider": true
}'If you use Cloudflare as a secondary DNS provider, do the following:
In the Cloudflare dashboard, go to the DNS Settings page.
Go to Settings ↗For DNSSEC with Secondary DNS select Live signing.
Note
For the purpose of this tutorial, you will update your registrar with the DS record later, in Step 3.
status to active and dnssec_multi_signer to true, as in the following example.Required API token permissions
At least one of the following token permissions is required:DNS Writecurl "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
}'Add the ZSK(s) of your external provider(s) to a DNSKEY record at your primary DNS provider. This record should be transferred successfully to Cloudflare.
Add your external provider(s) nameservers as NS records on your zone apex at your primary DNS provider. These records should be transferred successfully to Cloudflare.
API example:
curl "https://api.cloudflare.com/client/v4/zones/{zone_id}/dnssec/zsk" \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>"
Command line query example:
$ dig <ZONE_NAME> dnskey @<CLOUDFLARE_NAMESERVER> +noall +answer | grep 256
Add DS records to your registrar, one for each provider. You can see your Cloudflare DS record on the DNS Settings page, under DS Record.
Update the nameserver settings at your registrar to include the nameservers of all providers you will be using for your multi-signer DNSSEC setup.
| Web Proxy Viewer | New URL | Original Page |