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

ddclient should provide an override to allow updating non-public IPs #4460

Open
FireStormOOO opened this issue Jan 11, 2025 · 0 comments
Open

Comments

@FireStormOOO
Copy link

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

Is your feature request related to a problem? Please describe.
The current-IP detection logic currently bails for any IP where ipaddress.is_global returns false, which makes it impossible to use this plugin to securely update internal DNS entries. While this is fine as a default, an override should be provided. See dns/ddclient/src/opnsense/scripts/ddclient/lib/address.py line 98

Describe the solution you'd like
I'd like to be able to do ddns updates also based on the firewall's non-internet interfaces. To that end, an override field should be available on the "edit account" dialogue, when a local interface check-ip modes is selected, allowing the user to provide 1 or more private subnets that should be considered a match.
Alternately, a checkbox could be provided in the same dialogue to skip the is_global check outright. This would interact poorly with IPv6 link local addresses and some extra logic would be needed since in IPv6 everything is multi-homed all the time.
Personally I only need the IPv4 Interface check-ip option.

Describe alternatives you've considered
Obviously DHCP is the more traditional way to do this, but it lacks the same robust options for cryptographic binding of host identities.
Or the ever popular, "just make an admin do it manually".
I'm liking the ddclient version instead because dns updates can be based on the same identity used for the ACME DNS-01 challenge.

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

No branches or pull requests

1 participant