
DynDNS updater for ipv64.net
New IP?
Your domain already knows.
DynDNS64 automatically keeps your ipv64.net domains pointed at your connection's current IPv4 and IPv6 – with real IPv6 prefix support, a check against the name servers and a history of every run. It only reports when something has actually changed, so your update quota stays untouched.
| Name | Mode | Status |
|---|---|---|
| home.example.ipv64.net | A + AAAA | up to date |
| nas.example.ipv64.net | AAAA · prefix + ID | up to date |
| vpn.example.ipv64.net | A | up to date |
Illustration with example addresses.
DynDNS64 updates domains hosted at ipv64.net – so you need an ipv64.net account (free) with a DynDNS domain or your own domain at ipv64. With your ipv64 API key you simply pick the names with a click; without a key you enter the domain and token by hand. How many domains and daily updates your account includes is listed on the pricing page.
More than an update script
DynDNS64 doesn't just report your IP – it makes sure that happens at the right moment, with the right token and without wasted calls.
Saves your quota
Before every update, DynDNS64 asks your zone's name servers directly what they're serving right now. It only reports a real difference – because even a "nochg" counts toward the daily limit.
Safest token
The record token by default, otherwise the domain token – never the account token and never the API key. Tokens are stored encrypted and sent in the HTTP header, not in the URL.
Real IPv6
This host's address, prefix only, prefix + interface ID or the stable address of an interface: devices on your LAN stay reachable despite changing prefixes and privacy addresses.
Click instead of copy
With your ipv64 API key you tick the names you want straight from your account. Node64 fetches the tokens itself – no copying, no typos.
Always the router's IP
The lookup happens from the outside with the address family enforced. ipv64 sees your connection's public address – never the container's internal one.
Spots CGNAT & DS-Lite
A quick look at the path to the internet tells you when your connection is probably behind CGNAT or DS-Lite – and why IPv4 port forwarding won't work then.
Robust, no endless loops
At least 5 seconds between calls, backoff on errors, a stop at the daily limit and automatic pauses with a clear reason – for example when a second updater keeps interfering.
Transparent & talkative
A history of every IP check and update, a quota display that warns at 80 % and notifications via e-mail, Telegram, Discord, Slack, Microsoft Teams, Matrix, ntfy, Gotify, Pushover, webhook or ipv64 mail/SMS.
Check, compare, report only when needed
Every few minutes (5 by default) a check runs. Node64 only opens outbound connections – no port forwarding, and no need to link the node to ipv64.
- Find your own IP
Viaipv4.ipv64.netandipv6.ipv64.net, separately per address family. - Compare with DNS
What are the zone's name servers serving right now – with no cache in between? - Report only if different
Then exactly the family that changed goes toipv64.net/update.php.
# Home network # Internet · outbound only ┌──────────────────┐ 1 What is my IP? ┌────────────────────────────┐ │ Node64 │ ───────────────────────► │ ipv4. / ipv6.ipv64.net │ │ DynDNS64 │ HTTPS, tcp4 / tcp6 ├────────────────────────────┤ │ │ 2 What does DNS say? │ │ │ checks every │ ───────────────────────► │ zone's name servers │ │ 5 min (default) │ DNS, UDP 53 ├────────────────────────────┤ │ │ 3 only if different │ │ │ no open port │ ───────────────────────► │ ipv64.net/update.php │ │ │ HTTPS, token header ├────────────────────────────┤ │ │ optional with API key │ │ │ │ ───────────────────────► │ ipv64 API v2 │ └────────┬─────────┘ picker, quota └────────────────────────────┘ │ notifications ▼ e-mail · Telegram · Discord · ntfy · Gotify · Pushover · webhook
IPv6 the way it really works
IPv6 has no NAT: every device has its own address, and your provider's prefix may change. That's why you choose per target what gets reported:
| IPv6 mode | Use it for |
|---|---|
| address of this host | The name points to the node itself. A temporary privacy address is replaced by the stable one from the same /64. |
| prefix only | For records with an interface ID such as ::1:2:3:4 – ipv64 applies the new prefix across the zone. |
| prefix + interface ID | For another device on your LAN: the current prefix plus a fixed interface ID, for this record only. |
| interface | The stable global address of a network interface (with network_mode: host). |
| fixed address / off | Always report the same address, or leave IPv6 alone for this name. |
For IPv4 you can choose "automatic", "fixed address" or "off" – handy with DS-Lite, for instance, when only IPv6 is reachable from outside.
# prefix + interface ID (e.g. for the NAS) current prefix 2001:db8:4a1c:5600::/56 ← from your ISP, changes + interface ID ::1a2b:3cff:fe4d:5e6f ← fixed, per device ───────────────────────────────────────────── = AAAA nas.example.ipv64.net 2001:db8:4a1c:5600:1a2b:3cff:fe4d:5e6f ← up to date
When the prefix changes, DynDNS64 reports the NAS's new address too – no client needed on the NAS.
DynDNS64 or a simple script?
A cron job with curl can report your IP too. The difference is in the details.
| Task | DynDNS64 | Simple update script (typical) |
|---|---|---|
| Report only real changes, checked against the name servers | often on every run | |
| Record token picked automatically, stored encrypted | token in the script | |
| IPv6 prefix + interface ID for other LAN devices | build it yourself | |
| Hint about CGNAT and DS-Lite | ||
| Backoff, stop at the daily limit, automatic pauses | ||
| History, quota display and notifications | ||
| Prometheus metrics and a local JSON API |
| Time | Target | New | Result |
|---|---|---|---|
| 19 Oct 04:12 | home | 203.0.113.17 | ok |
| 19 Oct 04:12 | nas | 2001:db8:4a1c:5600:…:5e6f | ok |
| 18 Oct 04:09 | home | 203.0.113.94 | ok |
| 17 Oct 21:40 | vpn | 203.0.113.94 | retried |
Illustration with example addresses.
Every check on record
The history lists every IP check and every update: when, for which target, what was sent and what ipv64 replied. Filters for target, address family, result and time range help you find things fast.
- Notifications on a new address, on errors or paused targets, and shortly before the limit
- Quota display "today X of Y updates" with your API key
- Adjustable retention, changes recorded in the audit log
Frequently asked questions
The step-by-step guide is in the DynDNS64 docs.
update.php count – and those only happen on a change or when you press "Update now".update.php and, if configured, with your API key via the ipv64 API. Linking for the health check sync isn't needed for this.Get a domain, start the node, done
Create a free account at ipv64.net, pick a DynDNS domain and switch on the module in Node64. The public image is coming soon.
No Node64 yet? Head to the installation guide. Goes well with: CDN64 puts services online without port forwarding, even behind CGNAT.