OpenWrt Azure DNS
Migrate DNS from OpenWrt to Azure DNS.
5 record types move as they are. Nothing else needs special handling.
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
- SRV
A straightforward move.
A typical OpenWrt zone at Azure DNS
Example records for example.com. Open any flagged row to read why it changed.
OpenWrt Azure DNS
- ExactA@
192.0.2.70
- ExactAAAA@
2001:db8::70
- 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 Azure DNS | TTL | Details |
|---|---|---|---|---|---|
| Exact | A | @ |
| 5m | |
| Exact | AAAA | @ |
| 5m | |
| 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 OpenWrt
Connect OpenWrt with read-only access (LuCI URL + username + password (LuCI JSON-RPC, luci-mod-rpc)).
- 2
Connect Azure DNS
Connect Azure DNS (Service principal (client ID + secret)). 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 Azure DNS
We snapshot the Azure DNS zone, write in batches, and leave OpenWrt untouched.
- 5
Verify
We query Azure DNS'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 OpenWrt
- Routers usually sit on a private network; we refuse private and internal addresses by design, so LuCI must be exposed publicly over HTTPS with a trusted certificate (ideally allow-listed to our egress IPs).
- dnsmasq local records have no per-record TTL, so every record is reported and written with a fixed TTL of 300 seconds.
- Records live in one flat list on the router, so a zone is simply the set of names under that domain; wildcard CNAMEs, null MX and null-target SRV records are not supported.
Access we need: LuCI logins are not scoped: the account can read and change the whole router configuration. We only touch dnsmasq host, CNAME, MX and SRV entries in /etc/config/dhcp.
Good to know about Azure DNS
- Azure alias records point at Azure resource IDs, which don't exist outside Azure.
- Apex CNAMEs are not allowed. Use an alias record to an Azure resource or A/AAAA records.
Access we need: Reader on the DNS zone for the preview, DNS Zone Contributor to apply.
Questions
Will there be downtime moving from OpenWrt to Azure DNS?
Not if both providers serve the same answers during the switch. The records are copied to Azure DNS 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 OpenWrt?
No. We never write to OpenWrt. 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 Azure DNS and publish its new DS record. The cutover plan walks you through each step.
Ready to see your own zone?
Start a free preview