Skip to content

deSEC FortiGate DNS

Migrate DNS from deSEC to FortiGate.

4 record types move as they are. 2 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

FortiGate rewrites the whole host list

Every write to FortiGate's API replaces all records. We read, merge and write once, so records outside the migration survive.

A typical deSEC zone at FortiGate

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

deSEC FortiGate

  • ExactA@

    192.0.2.70

  • ExactAAAA@

    2001:db8::70

  • 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.

  • ExactCNAMEwww

    example.com.

How the move works

  1. 1

    Connect deSEC

    Connect deSEC with read-only access (API token).

  2. 2

    Connect FortiGate

    Connect FortiGate (Management URL + REST API admin token (Bearer) + VDOM). 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 FortiGate

    We snapshot the FortiGate zone, write in batches, and leave deSEC untouched.

  5. 5

    Verify

    We query FortiGate'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 deSEC

  • The minimum TTL is 3600 seconds for most domains (deSEC sets it per domain) and the maximum is 86400.
  • ALIAS/ANAME records and apex CNAMEs aren't supported; use A/AAAA or HTTPS records at the apex.
  • Every zone is DNSSEC-signed automatically. Give the DS records to your registrar to complete the chain.

Access we need: Any token can read all RRsets. Applying needs write permission on the RRsets (token policies can restrict it); creating zones needs perm_create_domain.

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 deSEC 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 deSEC?

No. We never write to deSEC. 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.

Ready to see your own zone?

Start a free preview