Skip to content

Commit e9d4a48

Browse files
[DNS] Exposed DNS settings in dash (#16428)
* [DNS] Exposed DNS settings in dash * Adjust titles and label for multi-signer-dnssec setup page * Remove repeated sentence and add Tabs syncKey * Add information about ability to change SOA for existing zone * Align feature name with dash and refer existing zone process * Update from 'NS record TTL' to 'Nameserver TTL' * Review dns-record-types/#ns and fix ACNS mention to API-only * Fix broken link * Clarify added NS vs Cloudflare/custom NS and link out for more * Review steps and refs to UI text in ZCNS and ACNS guides * Update deprecated ACNS Metadata endpoint by DNS Settings for a zone * Nit: fix links in multi-signer-dnssec/setup intro paragraph --------- Co-authored-by: Rebecca Tamachiro <[email protected]>
1 parent afb54d8 commit e9d4a48

File tree

14 files changed

+309
-53
lines changed

14 files changed

+309
-53
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
pcx_content_type: how-to
3+
title: Zone defaults
4+
sidebar:
5+
order: 3
6+
---
7+
8+
# Configure DNS zone defaults
9+
10+
While there are default values for DNS settings that Cloudflare applies to all new zones, Enterprise accounts have the option to configure their own DNS zone defaults according to their preference.
11+
12+
:::caution
13+
DNS zone defaults are only applied at the moment a new zone is created and will not impact already existing zones. Any of the values specified as default can later be adjusted within each zone, on the respective [**DNS** > **Settings**](https://dash.cloudflare.com/?to=/:account/:zone/dns/settings) or [**DNS** > **Records**](https://dash.cloudflare.com/?to=/:account/:zone/dns/records) page.
14+
:::
15+
16+
## Steps
17+
18+
1. Log in to the [Cloudflare dashboard](https://dash.cloudflare.com/login) and select your account.
19+
2. Go to **Manage Account** > **Configurations** > **DNS Settings**.
20+
3. For **DNS zone defaults**, select **Configure defaults**.
21+
22+
The values you select for the listed settings will be automatically applied to new zones as you add them to your Cloudflare account.
23+
24+
## Available settings
25+
26+
- [Nameserver assignment](/dns/nameservers/nameserver-options/#assignment-method): Select your preferred nameserver type or assignment method that you want Cloudflare to use for your new zones. This setting applies both to primary zones ([full setup](/dns/zone-setups/full-setup/)) and [secondary zones](/dns/zone-setups/zone-transfers/cloudflare-as-secondary/).
27+
28+
For primary zones:
29+
30+
- [Multi-provider DNS](/dns/nameservers/nameserver-options/#multi-provider-dns): Control whether or not Cloudflare will consider `NS` records you add on the zone apex and if zones that contain external nameservers listed in the registrar will be activated.
31+
- [Nameserver TTL](/dns/nameservers/nameserver-options/#nameserver-ttl): Control how long, in seconds, your nameserver (`NS`) records are cached. The default time-to-live (TTL) is 24 hours. This setting applies both to Cloudflare nameservers and [custom nameservers](/dns/nameservers/custom-nameservers/).
32+
- [SOA record](/dns/manage-dns-records/reference/dns-record-types/#soa): Adjust values for the start of authority (SOA) record that Cloudflare creates for your zone.
33+
34+
For secondary zones:
35+
36+
- [Secondary DNS override](/dns/zone-setups/zone-transfers/cloudflare-as-secondary/proxy-traffic/): Enable the options to use Cloudflare [proxy](/dns/manage-dns-records/reference/proxied-dns-records/) and add `CNAME` records at your zone apex.
37+
38+
Multi-provider DNS does not apply as a setting for secondary zones, as this is already a required behavior for this setup. `SOA` record and the `NS` record TTL are defined on your external DNS provider and only transferred into Cloudflare.

src/content/docs/dns/additional-options/reverse-zones.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
pcx_content_type: how-to
33
title: Reverse zones and PTR records
4-
weight: 0
5-
4+
sidebar:
5+
order: 5
66
---
77

88
import { Details, Example } from "~/components"

src/content/docs/dns/dnssec/multi-signer-dnssec/setup.mdx

Lines changed: 74 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
---
22
pcx_content_type: how-to
3-
title: Setup
3+
title: Set up multi-signer DNSSEC
44
sidebar:
55
order: 5
6-
head:
7-
- tag: title
8-
content: Set up multi-signer DNSSEC
6+
label: Setup
97
---
108

11-
This page explains how you can enable [multi-signer DNSSEC](/dns/dnssec/multi-signer-dnssec/) with Cloudflare, using the [model 2](/dns/dnssec/multi-signer-dnssec/about/) as described in [RFC 8901](https://www.rfc-editor.org/rfc/rfc8901.html).
9+
import { Tabs, TabItem } from "~/components";
10+
11+
This page explains how you can enable [multi-signer DNSSEC](/dns/dnssec/multi-signer-dnssec/about/) with Cloudflare, using the [model 2](/dns/dnssec/multi-signer-dnssec/about/#model-2) as described in [RFC 8901](https://www.rfc-editor.org/rfc/rfc8901.html).
1212

1313
## Before you begin
1414

@@ -20,12 +20,29 @@ Note that:
2020

2121
## 1. Set up Cloudflare zone
2222

23-
:::note
23+
### Cloudflare as Primary (full setup)
24+
25+
If you use Cloudflare as a primary DNS provider, meaning that you manage your DNS records in Cloudflare, do the following:
26+
27+
<Tabs syncKey="dashPlusAPI">
28+
<TabItem label="Dashboard">
29+
1. Log in to the [Cloudflare dashboard](https://dash.cloudflare.com/login) and select your account and zone.
30+
2. Go to **DNS** > **Settings**.
31+
3. Select **Enable DNSSEC** and **Confirm**.
2432

25-
The following steps also apply if you use [Cloudflare as a secondary DNS provider](/dns/zone-setups/zone-transfers/cloudflare-as-secondary/), with the difference that, in such case, the records in steps 2 and 3 should be transferred from the primary, and step 4 is not necessary.
33+
:::note
34+
For the purpose of this tutorial, you will update your registrar with the DS record later, in [Step 3](/dns/dnssec/multi-signer-dnssec/setup/#3-set-up-registrar).
2635
:::
2736

28-
1. Use the [Edit DNSSEC Status endpoint](/api/operations/dnssec-edit-dnssec-status) to enable DNSSEC and activate multi-signer DNSSEC for your zone. This is done by setting `status` to `active` and `dnssec_multi_signer` to `true`, as in the following example.
37+
4. Also enable **Multi-signer DNSSEC** and **Multi-provider DNS**.
38+
5. Go to **DNS** > **Records** and create the following records at your zone apex (meaning you should use `@` in the record **Name** field):
39+
- A [DNSKEY record](/dns/manage-dns-records/reference/dns-record-types/#ds-and-dnskey) with the zone signing key(s) (ZSKs) of your external provider(s).
40+
- A [NS record](/dns/manage-dns-records/reference/dns-record-types/#ns) with your external provider nameservers.
41+
42+
</TabItem>
43+
<TabItem label="API">
44+
45+
1. Use the [Edit DNSSEC Status endpoint](/api/operations/dnssec-edit-dnssec-status) to enable DNSSEC and activate multi-signer DNSSEC for your zone. Set `status` to `active` and `dnssec_multi_signer` to `true`, as in the following example.
2946

3047
```bash
3148
curl --request PATCH \
@@ -74,27 +91,68 @@ curl "https://api.cloudflare.com/client/v4/zones/{zone_id}/dns_records" \
7491
}'
7592
```
7693

77-
4. Enable the usage of the nameservers you added in the previous step by using the API request below. Alternatively, go to [**DNS** > **Settings**](https://dash.cloudflare.com/?to=/:account/:zone/dns/settings) and enable **Multi-provider DNS**.
94+
4. Enable the usage of the nameservers you added in the previous step by using the API request below.
7895

7996
:::caution
97+
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.
98+
:::
99+
100+
```bash
101+
curl --request PATCH \
102+
"https://api.cloudflare.com/client/v4/zones/{zone_id}/dns_settings" \
103+
--header "X-Auth-Email: <EMAIL>" \
104+
--header "X-Auth-Key: <API_KEY>" \
105+
--header "Content-Type: application/json" \
106+
--data '{
107+
"multi_provider": true
108+
}'
109+
```
110+
111+
</TabItem>
112+
</Tabs>
113+
114+
### Cloudflare as Secondary
80115

81-
This step is required if you are using Cloudflare as a primary DNS provider - without enabling 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.
116+
If you use Cloudflare as a secondary DNS provider, do the following:
82117

83-
If you are using [Cloudflare as a secondary DNS provider](/dns/zone-setups/zone-transfers/cloudflare-as-secondary/), this step is not necessary.
118+
<Tabs syncKey="dashPlusAPI">
119+
<TabItem label="Dashboard">
84120

121+
1. Log in to the [Cloudflare dashboard](https://dash.cloudflare.com/login) and select your account and zone.
122+
2. Go to **DNS** > **Settings**.
123+
3. For **DNSSEC with Secondary DNS** select **Live signing**.
124+
125+
:::note
126+
For the purpose of this tutorial, you will update your registrar with the DS record later, in [Step 3](/dns/dnssec/multi-signer-dnssec/setup/#3-set-up-registrar).
85127
:::
86128

129+
4. Also enable **Multi-signer DNSSEC**.
130+
5. Add the zone signing key(s) (ZSKs) of your external provider(s) to a DNSKEY record at your primary DNS provider. This record should be transferred successfully to Cloudflare.
131+
6. 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.
132+
133+
</TabItem>
134+
<TabItem label="API">
135+
136+
1. Use the [Edit DNSSEC Status endpoint](/api/operations/dnssec-edit-dnssec-status) to enable DNSSEC and activate multi-signer DNSSEC for your zone. Set `status` to `active` and `dnssec_multi_signer` to `true`, as in the following example.
137+
87138
```bash
88-
curl --request PATCH \
89-
"https://api.cloudflare.com/client/v4/zones/{zone_id}/dns_settings" \
139+
$ curl --request PATCH 'https://api.cloudflare.com/client/v4/zones/{zone_id}/dnssec' \
90140
--header "X-Auth-Email: <EMAIL>" \
91141
--header "X-Auth-Key: <API_KEY>" \
92142
--header "Content-Type: application/json" \
93143
--data '{
94-
"multi_provider": true
144+
"status": "active",
145+
"dnssec_multi_signer": true
95146
}'
96147
```
97148

149+
2. 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.
150+
151+
3. 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.
152+
153+
</TabItem>
154+
</Tabs>
155+
98156
## 2. Set up external provider
99157

100158
1. Get Cloudflare's ZSK using either the API or a query from one of the assigned Cloudflare nameservers.
@@ -110,7 +168,7 @@ curl "https://api.cloudflare.com/client/v4/zones/{zone_id}/dnssec/zsk" \
110168
Command line query example:
111169

112170
```sh
113-
dig <ZONE_NAME> dnskey @<CLOUDFLARE_NAMESERVER> +noall +answer | grep 256
171+
$ dig <ZONE_NAME> dnskey @<CLOUDFLARE_NAMESERVER> +noall +answer | grep 256
114172
```
115173

116174
2. Add Cloudflare's ZSK that you fetched in the previous step to the DNSKEY record set of your external provider(s).
@@ -120,4 +178,4 @@ dig <ZONE_NAME> dnskey @<CLOUDFLARE_NAMESERVER> +noall +answer | grep 256
120178

121179
1. Add DS records to your registrar, one for each provider. You can see your Cloudflare DS record on the [dashboard](https://dash.cloudflare.com/?to=/:account/:zone/dns) by going to **DNS** > **Settings** > **DS Record**.
122180

123-
2. Update the nameserver settings at your registrar to include the nameservers of all providers you will be using for your multi-signer DNSSEC setup.
181+
2. Update the nameserver settings at your registrar to include the nameservers of all providers you will be using for your multi-signer DNSSEC setup.

src/content/docs/dns/manage-dns-records/reference/dns-record-types.mdx

Lines changed: 57 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ sidebar:
66

77
---
88

9-
import { Render } from "~/components"
9+
import { Details, Render } from "~/components"
1010

1111
This page provides information about some of the different types of DNS records that you can manage on Cloudflare. For guidance on how to add, edit, or delete DNS records, refer to [Manage DNS records](/dns/manage-dns-records/how-to/create-dns-records/).
1212

@@ -318,20 +318,73 @@ Within Cloudflare, PTR records are used for reverse DNS lookups and should prefe
318318

319319
### SOA
320320

321-
A [start of authority (SOA)](https://www.cloudflare.com/learning/dns/dns-records/dns-soa-record/) record stores information about your domain such as admin email address, when the domain was last updated, and more.
321+
A start of authority (SOA) record stores information about your domain such as admin email address, when the domain was last updated, and more. Refer to [What is a DNS SOA record](https://www.cloudflare.com/learning/dns/dns-records/dns-soa-record/) for an example.
322322

323323
If you are using Cloudflare for your [authoritative DNS](/dns/zone-setups/full-setup/), you do not need to create an SOA record. Cloudflare creates this record automatically when you start using Cloudflare's authoritative nameservers.
324324

325-
<Render file="api-field-definitions" />
325+
If you have an Enterprise account, you also have the option to change the SOA record values that Cloudflare will use.
326+
You can do that for existing zones by going to **DNS** > **Records** > **DNS record options**, or you can configure your own [DNS zone defaults](/dns/additional-options/dns-zone-defaults/) and define the SOA record values that Cloudflare will use for all new zones added to your account.
327+
328+
Refer to the following list for information about each SOA record field:
329+
330+
<Details header="SOA record fields">
331+
332+
* **`MNAME`**: The primary nameserver for the zone. Secondary nameservers receive zone updates from the nameserver specified in this field.
333+
* **`RNAME`**: The email address of the administrator responsible for the zone.
334+
335+
The `@` symbol is replaced by the first dot. If an email address contains a dot before `@`, this should be represented as `\.`.
336+
337+
| Email | `RNAME` |
338+
|---------------------------|-------------------------|
339+
|`[email protected]` | `john.example.com` |
340+
|`[email protected]` | `john\.doe.example.com` |
341+
342+
* **`Serial`**: The serial number for the zone. Secondary nameservers initiate zone transfers if this number increases.
343+
* **`Refresh`**: Time (in seconds) after which a secondary nameserver should query the primary for the `SOA` record, to detect zone changes. Only relevant if DNS NOTIFY ([RFC 1996](https://www.rfc-editor.org/rfc/rfc1996.html)) is not configured.
344+
345+
| Default | Minimum | Maximum |
346+
|--------------|------------|----------|
347+
|`10000` | `600` | `86400` |
348+
349+
* **`Retry`**: Time (in seconds) after which a secondary nameserver should retry getting the serial number from the primary nameserver after a failed attempt. Any specified values must not be greater than `Refresh`.
350+
351+
| Default | Minimum | Maximum |
352+
|--------------|------------|----------|
353+
|`2400` | `600` | `3600` |
354+
355+
* **`Expire`**: Time (in seconds) after which a secondary nameserver should stop answering queries for a zone if the primary does not respond. Any specified values must not be smaller than `Refresh`.
356+
357+
| Default | Minimum | Maximum |
358+
|--------------|------------|-----------|
359+
|`604800` | `86400` | `2419200` |
360+
361+
* **`Record TTL`**: The [time to live](/dns/manage-dns-records/reference/ttl/) of the SOA record.
362+
363+
| Default | Minimum | Maximum |
364+
|--------------|------------|----------|
365+
|`3600` | `1800` | `3600` |
366+
367+
* **`Minimum TTL`**: The TTL for caching negative responses. Refer to [RFC 2308](https://www.rfc-editor.org/rfc/rfc2308.html#section-4) for details.
368+
369+
| Default | Minimum | Maximum |
370+
|--------------|------------|----------|
371+
|`1800` | `60` | `86400` |
372+
373+
374+
</Details>
326375

327376
### NS
328377

329378
A [nameserver (NS) record](https://www.cloudflare.com/learning/dns/dns-records/dns-ns-record/) indicates which server should be used for authoritative DNS.
330379

331-
You only need to add NS records when you are [creating custom or vanity nameservers](/dns/nameservers/custom-nameservers/), using [subdomain setup](/dns/zone-setups/subdomain-setup/), or [delegating subdomains outside of Cloudflare](/dns/manage-dns-records/how-to/subdomains-outside-cloudflare/).
380+
You only need to add NS records to your DNS records table in Cloudflare when you are using [subdomain setup](/dns/zone-setups/subdomain-setup/) or [delegating subdomains outside of Cloudflare](/dns/manage-dns-records/how-to/subdomains-outside-cloudflare/).
332381

333382
<Render file="api-field-definitions" />
334383

384+
:::note
385+
Your assigned Cloudflare nameservers, custom nameservers, and their corresponding [nameserver TTLs](/dns/nameservers/nameserver-options/#nameserver-ttl) are controlled via dedicated sections in [**DNS** > **Records**](https://dash.cloudflare.com/?to=/:account/:zone/dns/records). For details, refer to [Nameservers](/dns/nameservers/).
386+
:::
387+
335388
### DS and DNSKEY
336389

337390
[DS and DNSKEY](https://www.cloudflare.com/learning/dns/dns-records/dnskey-ds-records/) records help implement DNSSEC, which cryptographically signs DNS records to prevent domain spoofing.

src/content/docs/dns/manage-dns-records/reference/ttl.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,7 @@ It may take longer than 5 minutes for you to actually experience record changes,
2727
## Unproxied records
2828

2929
For **DNS only** records, you can choose a TTL between **30 seconds** (Enterprise) or **60 seconds** (non-Enterprise) and **1 day**.
30+
31+
## Nameserver TTL
32+
33+
[Nameserver TTL](/dns/nameservers/nameserver-options/#nameserver-ttl) is a separate feature and only affects Cloudflare nameservers and custom nameservers. For other [NS records](/dns/manage-dns-records/reference/dns-record-types/#ns) on your DNS records table, TTL is controlled by their respective TTL fields.

0 commit comments

Comments
 (0)