UniFi Network deSEC
Migrate DNS from UniFi to deSEC.
6 record types move as they are. 1 things work differently at deSEC, 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
- SRV
TTLs below 3600s are raised
A typical UniFi zone at deSEC
Example records for example.com. Open any flagged row to read why it changed.
UniFi deSEC
- TranslatedA@
192.0.2.70
TTL 300s is outside the allowed range. Set to 3600s.
- TranslatedAAAA@
2001:db8::70
TTL 300s is outside the allowed range. Set to 3600s.
- 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.
- ExactCNAMEwww
example.com.
| Status | Type | Name | At deSEC | TTL | Details |
|---|---|---|---|---|---|
| Translated | A | @ |
| 1h | |
| Translated | AAAA | @ |
| 1h | |
| Exact | MX | @ |
| 1h | |
| Exact | TXT | @ |
| 1h | |
| Exact | CAA | @ |
| 1h | |
| Exact | TXT | _dmarc |
| 1h | |
| Exact | SRV | _sip._tls |
| 1h | |
| Exact | CNAME | www |
| 1h |
How the move works
- 1
Connect UniFi
Connect UniFi with read-only access (API key (X-API-Key) + controller URL or UniFi console ID (via api.ui.com)).
- 2
Connect deSEC
Connect deSEC (API token). 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 deSEC
We snapshot the deSEC zone, write in batches, and leave UniFi untouched.
- 5
Verify
We query deSEC'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 UniFi
- Consoles usually sit on a private network; we refuse private addresses by design, so either use the console ID (reached through api.ui.com) or expose the console publicly over HTTPS.
- A publicly trusted TLS certificate is required when connecting directly: we never skip certificate verification, so the console's default self-signed certificate will not work.
- Records are one flat list per site (no zones); only A, AAAA and CNAME have a configurable TTL, and TXT values are limited to 255 characters without double quotes.
Access we need: A UniFi API key acts with the role of the admin who created it; create it from an admin limited to network settings where possible. It can read and write static DNS entries.
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.
Questions
Will there be downtime moving from UniFi to deSEC?
Not if both providers serve the same answers during the switch. The records are copied to deSEC 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 UniFi?
No. We never write to UniFi. 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 deSEC and publish its new DS record. The cutover plan walks you through each step.
Ready to see your own zone?
Start a free preview