Skip to content

Cloudflare DNS RFC 2136 dynamic DNS (AXFR + DDNS)

Migrate DNS from Cloudflare to AXFR/DDNS.

16 record types move as they are. 5 things work differently at AXFR/DDNS, 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
  • TXT
  • NS
  • SRV
  • CAA
  • PTR
  • DS
  • HTTPS
  • SVCB
  • TLSA
  • SSHFP
  • NAPTR
  • URI

Proxied records lose the CDN

AXFR/DDNS has no equivalent of Cloudflare's proxy. Proxied records move as plain records pointing at your origin, which exposes the origin IP. Put a CDN in front before cutting over if that matters.

Apex CNAMEs need a different shape

AXFR/DDNS doesn't allow a CNAME at the apex and has no alias record for external hostnames. These become static A/AAAA records, which don't follow the target if its IPs change.

"Auto" TTLs get a real value

Cloudflare's automatic TTL has no equivalent, so those records get AXFR/DDNS's default of 3600s.

Domains registered at Cloudflare must transfer out

Cloudflare Registrar only allows Cloudflare's nameservers. If the domain is registered there, transfer it to another registrar before switching.

A typical Cloudflare zone at AXFR/DDNS

Example records for example.com. Open any flagged row to read why it changed.

Cloudflare AXFR/DDNS

  • UnsupportedCNAME@

    Not migrated

    @ is a CNAME at the zone apex. AXFR/DDNS doesn't allow that, and app.example-host.net isn't a target it can alias.

  • ExactMX@

    10 mx1.mail.example.net. +1

  • ExactTXT@

    "v=spf1 include:_spf.example.net -all"

  • ExactCAA@

    0 issue "letsencrypt.org"

  • ExactTXT_dmarc

    "v=DMARC1; p=reject; rua=mailto:dmarc@example.com"

  • ExactSRV_sip._tls

    100 1 443 sip.example.net.

  • ExactAmail

    203.0.113.25

  • ReviewAshop

    203.0.113.10

    TTL was "auto". Set to 3600s.

  • ExactCNAMEwww

    example.com.

How the move works

  1. 1

    Connect Cloudflare

    Connect Cloudflare with read-only access (Scoped API token).

  2. 2

    Connect AXFR/DDNS

    Connect AXFR/DDNS (Primary server + TSIG key (HMAC-SHA256/512; SHA1/MD5 for legacy servers)). Write access is only used when you apply.

  3. 3

    Review the preview

    Check every record marked Review or Unsupported. Each one explains what changes and why.

  4. 4

    Apply to AXFR/DDNS

    We snapshot the AXFR/DDNS zone, write in batches, and leave Cloudflare untouched.

  5. 5

    Verify

    We query AXFR/DDNS's own nameservers for every record and compare the answers before you switch.

  6. 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 AXFR/DDNS

  • We reach the primary only over TCP port 53 at a public address; servers on private networks must expose port 53 publicly and allow our egress IPs.
  • Zones can't be listed or created over DNS: list them in the connection and create them on the server first.
  • Records of types we can't encode (e.g. LOC, CERT) and DNSSEC records are skipped when reading; signing stays with the server.

Access we need: The TSIG key needs zone-transfer (AXFR) rights for the preview and an update-policy grant for the managed zones to apply.

Questions

Will there be downtime moving from Cloudflare to AXFR/DDNS?

Not if both providers serve the same answers during the switch. The records are copied to AXFR/DDNS 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 AXFR/DDNS 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 AXFR/DDNS 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