DynDNS is straight forward for IPv4: You set up with a DynDNS provider or deploy your own and then either periodically or better yet, upon connectivity change, make a HTTP call to update your DNS record so that your services become reachable behind dial-up connections (called self-hosting).

With IPv6 though each host has its own unique address, derived from its MAC address and the network prefix. Having unique addresses per host means that each one of those needs to have its own DynDNS record. And on each network prefix change all the addresses are invalidated at once and need to be updated.

I had been searching for a clean solution to update an entire zones’ IPv6 prefixes with one REST/DynDNS/DNS update call. But couldn’t be bothered to implement this thing myself.

Over the years there have been various attempts by multiple people to build this using AWS and Route 53. But every time I checked one of those out, they had several hundreds of lines of terraform script and way too many moving parts for my taste.

Cue dynv6

This service allows you to delegate a domain (or in my case subdomains) to them and then specify either a MAC address or the host part of an IPv6 address for your AAAA records. You can choose between several ways to update your prefix (including via SSH connect!) and all your records are immediately updated. Just what I have always wanted. And for free!

They even provide instructions for all kinds of operating systems including Synology (unfortunately for the outdated DSM6 only) and FritzBox (including the DualStack updating method). You can tell they have put some thought into this service.