Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dns/ddclient: Add __IPV6PREFIX__ replace for custom urls #4518

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

friehmaen
Copy link

@friehmaen friehmaen commented Feb 1, 2025

Some of the DynDNS providers allow setting an IPv6 prefix. So you can have multiple hosts updated at the same time, if they are within the same network/prefix.

For example:
https://ipv64.net/dyndns_updater_api
https://dynv6.com/docs/apis#update

Currently I am using the DYNDNS2 custom URL/custom GET to update the IPv6 prefix at my DNS provider. The API offers parameters like ipv6prefix=auto to auto detect the IPv6 prefix. Unfortunately I can not use the auto parameter because I have different prefixes on WAN and LAN. I assume these are called IA_PD and IA_NA. But probably there are other use cases to this, for example if you have multiple LAN segments with different prefixes. So I want to explicitly define the prefix which shall be used.

The idea is to add a replacement tag __IPV6PREFIX__ for custom URLs. Just like __MYIP__ which is already present.
As the __MYIP__ is taken from the "Interface to track" this should use IP address of the interface to determine the correct IPv6 prefix.

The replacement will only be done, if the IP address is IPv6.

This relates to #3558 and will add the possibility to add IPv6 Prefix updates. Unfortunately the update will only work using custom URLs with this change.

@AdSchellevis
Copy link
Member

Isn't this the same use-csae as #4491 ?

@friehmaen
Copy link
Author

These use case are indeed very similar. But I think there is a major difference:

The solution in #4491 updates one host at a time/per request. The big advantage of this solutions is, that it works with every DynDNS provider which supports AAAA / IPv6 records. If you want to update multiple DNS records, you would have to setup multiple requests in the DynDNS service.

As far a I know the ipv6prefix parameter is supported by a few providers only. The advantage here is, that I can update a bunch of DNS records using only one single request. In this example I have a static list of hosts configured at the DNS provider. Lets say they are ::A an ::B and so on. The request with ipv6prefix parameter will update all these records using the given prefix.

Example: ipv6prefix=2003:ab:cd:1/64
This will update the records to: 2003:ab:cd:1::A and 2003:ab:cd:1::B

In my opinion both use cases are valid. It probably only a question of "where do I want to keep the list of hosts".

@AdSchellevis
Copy link
Member

I'll leave this mature for a while to see if other people face similar issues and what the best course of action is. Documentation wise this has the potential to turn into a nightmare as these options only exist for a limited use-case and are often hard to explain.

@friehmaen
Copy link
Author

#3558 asked for this feature. It would be at least one solution for it. But maybe it would be a better idea to fully support this in GUI.
So there is a checkbox to active the prefix update, and maybe even a dropdown to select prefix size?
Is there kind of a "standard" for the DYNDNS2 protocol. But probably the ip6prefix parameter is not part of it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants