Cloudflare DNS FortiGate DNS
Migrate DNS from Cloudflare to FortiGate.
4 record types move as they are. 6 things work differently at FortiGate, and the preview shows exactly which of your records they affect.
Free preview. Read-only. Nothing changes until you apply.
What works differently
Generated from the same provider capability data the migration engine uses.
Moves as-is
- A
- AAAA
- CNAME
- MX
Proxied records lose the CDN
Apex CNAMEs need a different shape
TXT, NS, SRV, CAA, CF_REDIRECT, CF_TEMP_REDIRECT, CF_SINGLE_REDIRECT, CF_WORKER_ROUTE, PTR, DS, HTTPS, SVCB, TLSA, SSHFP, NAPTR, LOC, CERT, URI aren't available
"Auto" TTLs get a real value
FortiGate rewrites the whole host list
Domains registered at Cloudflare must transfer out
A typical Cloudflare zone at FortiGate
Example records for example.com. Open any flagged row to read why it changed.
Cloudflare FortiGate
- UnsupportedCNAME@
Not migrated
@ is a CNAME at the zone apex. FortiGate doesn't allow that, and app.example-host.net isn't a target it can alias.
- ExactMX@
10 mx1.mail.example.net. +1
- UnsupportedTXT@
Not migrated
FortiGate doesn't support TXT records through its API.
- UnsupportedCAA@
Not migrated
FortiGate doesn't support CAA records through its API.
- UnsupportedTXT_dmarc
Not migrated
FortiGate doesn't support TXT records through its API.
- UnsupportedSRV_sip._tls
Not migrated
FortiGate doesn't support SRV records through its API.
- ExactAmail
203.0.113.25
- ReviewAshop
203.0.113.10
TTL was "auto". Set to 86400s.
- ExactCNAMEwww
example.com.
| Status | Type | Name | At FortiGate | TTL | Details |
|---|---|---|---|---|---|
| Unsupported | CNAME | @ | Not migrated | — | |
| Exact | MX | @ |
| 1h | |
| Unsupported | TXT | @ | Not migrated | — | |
| Unsupported | CAA | @ | Not migrated | — | |
| Unsupported | TXT | _dmarc | Not migrated | — | |
| Unsupported | SRV | _sip._tls | Not migrated | — | |
| Exact | A |
| 5m | ||
| Review | A | shop |
| 1d | |
| Exact | CNAME | www |
| 1h |
How the move works
- 1
Connect Cloudflare
Connect Cloudflare with read-only access (Scoped API token).
- 2
Connect FortiGate
Connect FortiGate (Management URL + REST API admin token (Bearer) + VDOM). Write access is only used when you apply.
- 3
Review the preview
Check every record marked Review or Unsupported. Each one explains what changes and why.
- 4
Apply to FortiGate
We snapshot the FortiGate zone, write in batches, and leave Cloudflare untouched.
- 5
Verify
We query FortiGate's own nameservers for every record and compare the answers before you switch.
- 6
Switch nameservers
Lower TTLs a day or two ahead, remove any DS record if DNSSEC is on, then point the domain at the new nameservers at your registrar.
Good to know about Cloudflare
- Proxied (orange-cloud) records hide the origin IP. Moving them to another provider sends traffic straight to the origin.
- Apex CNAMEs are flattened by Cloudflare. Other providers need an ALIAS record or static A/AAAA records instead.
- Cloudflare Registrar only allows Cloudflare nameservers, so domains registered there must be transferred out first.
Access we need: Zone → DNS → Read for the preview, Zone → DNS → Edit to apply.
Good to know about FortiGate
- FortiGates usually sit on private networks: we only connect if the admin HTTPS interface is exposed on a public address with a valid certificate, because private and internal addresses are refused by design.
- Only A, AAAA and CNAME records plus MX at the zone apex are supported; wildcards, TXT, SRV and CAA are not, and disabled entries are left untouched.
- Every change rewrites the zone's whole dns-entry table; we read and merge first so records outside the plan survive, but concurrent edits in the GUI can be overwritten.
Access we need: Admin profile with System → Configuration read for the preview, read/write to apply; restrict the REST API admin with trusted hosts.
Questions
Will there be downtime moving from Cloudflare to FortiGate?
Not if both providers serve the same answers during the switch. The records are copied to FortiGate and verified before you change nameservers, so resolvers get the same answer from either side while caches expire.
Do I have to delete anything at Cloudflare?
No. We never write to Cloudflare. Keep the old zone for a week after cutover so you can switch back instantly if anything looks wrong.
What about DNSSEC?
If DNSSEC is on, remove the DS record at your registrar and wait for it to expire before switching nameservers. Then enable DNSSEC at FortiGate and publish its new DS record. The cutover plan walks you through each step.
What happens to Cloudflare proxied records?
They move as ordinary records pointing at your origin server, because FortiGate can't proxy traffic. The preview lists every proxied record and the IP it would expose.
Ready to see your own zone?
Start a free preview