DuckDNS problems with DNS resolution

Getting frequent emails from my monitoring that my DuckDNS hostname isn’t working, and this checksout when I try to access my Home Assistant instance via the external name. Doesn’t work. However internal IP works fine.

I checked ping:

cannot resolve mysubdomain.duckdns.org: Unknown host

I tried nslookup

nslookup mysubdomain.duckdns.org
Server:		8.8.8.8
Address:	8.8.8.8#53

** server can't find mysubdomain.duckdns.org: SERVFAIL

I tried an external DNS chceker:

https://dnschecker.org/#A/mysubdomain.duckdns.org

and about half of the DNS servers couldn’t resolve my hostname to an IP

Screenshot 2024-11-18 at 15.39.28

any ideas what’s going on here?!

It’s just temporary, it’s working again now, a couple of minutes later…

It is just DuckDNS.

DuckDNS is using the DNS service in a way it was not really designed for.

DNS is meant to a master server for a domain name and then other servers can make a copy of the entries from there.
Other servers can then also makes copies of the copying server, so you get multiple levels of copies.
This is meant to spread the load of lookups out on multiple server and preferably servers closer to the clients.
To prevent entries not getting updates when the master is updated the copy contains a TTL (time-to-live) value that tells the server how long is can assume a copy is valid for.
This TTL value is often set to days, weeks or even month and then just lowered in good time before a change is planned to happen.

As can be seen DNS was never meant for dynamic IP address allocation, because DNS will be slow to adapt to changes. In general it is sad that the propagation time is 3x the TTL value, due to copies of copies.
In order for DuckDNS to make this work they have lowered all their TTL values to an incredible low value, like a few seconds, which makes for a system that is totally depending on the master server to always be available.
A failure to keep the master up will be felt almost instantaneously at all DuckDNS users and there is no way to prevent it, because it is against the design of the DNS system.
Well, no other way than get a fixed IP address.

1 Like