os-ddclient

Started by dirtyfreebooter, January 20, 2022, 10:39:42 PM

Previous topic - Next topic
Quote from: chemlud on October 29, 2022, 06:10:26 PM
Try the old plugin. If it is removed by devs we are all f*cked...
The old plugin works very well

Just tested again with os-ddclient, the DynDNS provider has made changes on their side.
User: none
Password: Key

with IPv4 it works with warning messages in the log:
( 18264 - [meta sequenceId="1"] FAILED: updating xxxxx.yyyy.net: {"status":"success","ip":{"ipv4":"x.x.x.x"},"info":"nochg"}: unexpected status () )

( IP and domain made unrecognisable )

The update on the IPv4 side works halfway, the IPv6 address is completely ignored, so the client is currently unusable for IPv6.

The old version, on the other hand, works perfectly fine for both ( IPv4 & IPv6 ).


I read reports here of people using a dual stack setup but I can't seem to get it to work.

I have one DNS entry that I want to change A and AAAA entry for.
But apparently ddclient uses only one config / cache per hostname so it seems to only ever update the A record.

Both config entry's get the correct address, when I remove the IPv4 entry IPv6 / AAAA works.

It just doesn't seem to work with two entry's with the same hostname.

Anything I missed?
Any workarounds?

I can not say whether the part works for me, as long as I do not get a new IP and that takes quite a long time with the cable connection.

Force update is not possible, restart from the router or OPNSense brings nothing.
The last updates at the DynDNS provider are days old

Force cronjob was not shown due to a typo, fixed in 22.7.7.

We are trying to get the final 3.10.0 into FreeBSD ports currently to progress this... https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267323


Cheers,
Franco

Quote from: Tuxtom007 on November 03, 2022, 11:46:45 AM
I can not say whether the part works for me, as long as I do not get a new IP and that takes quite a long time with the cable connection.

Force update is not possible, restart from the router or OPNSense brings nothing.
The last updates at the DynDNS provider are days old

Have you tried to spoof a fresh MAC to your WAN interface? :-)
kind regards
chemlud
____
"The price of reliability is the pursuit of the utmost simplicity."
C.A.R. Hoare

felix eichhorns premium katzenfutter mit der extraportion energie

A router is not a switch - A router is not a switch - A router is not a switch - A rou....

Quote from: japp2t on November 02, 2022, 07:51:22 AM
I read reports here of people using a dual stack setup but I can't seem to get it to work.

I have one DNS entry that I want to change A and AAAA entry for.
But apparently ddclient uses only one config / cache per hostname so it seems to only ever update the A record.

Both config entry's get the correct address, when I remove the IPv4 entry IPv6 / AAAA works.

It just doesn't seem to work with two entry's with the same hostname.

Anything I missed?
Any workarounds?

I can confirm it is the case that you can't create a single hostname with both A and AAAA records.  I think this is a limitation of ddclient.  Work around might be to use CNAME records on your DNS registry?

Quote from: IsaacFL on November 03, 2022, 05:27:28 PM
I can confirm it is the case that you can't create a single hostname with both A and AAAA records.  I think this is a limitation of ddclient.  Work around might be to use CNAME records on your DNS registry?

But (if I understand you correctly) I would have to create two CNAME records (one for A, one for AAAA) which is not possible.

Quote from: japp2t on November 03, 2022, 08:00:23 PM
Quote from: IsaacFL on November 03, 2022, 05:27:28 PM
I can confirm it is the case that you can't create a single hostname with both A and AAAA records.  I think this is a limitation of ddclient.  Work around might be to use CNAME records on your DNS registry?

But (if I understand you correctly) I would have to create two CNAME records (one for A, one for AAAA) which is not possible.

I said "might". I know cloudflare does not allow me to. But I have been told some dns might? If you need both you will probably have to use the legacy ddns plugin.

I have now found a working solution for my DynDNS:
- ddclient uninstalled
- shell-script created
- curl calls of the update URL
- cronjob created
- runs with IPv4 and IPv6 and two domains.

November 28, 2022, 10:43:20 PM #325 Last Edit: November 29, 2022, 02:03:25 AM by Orest
Has anyone gotten ddclient to work with NameCheap? I was moving to ddclient today after my update to 22.7 and successfully installed ddclient-3.9.1.

It did not work when configuring it using the provided GUI, and filling in the hostname, login, password. After some testing, I figured out the issue, but its not something I can fix.

First, using dyndns as the "Check ip method", did not find my domain. Using freedns resolved that issue. Can't exactly confirm thats a ddclient issues, but it could be an issue with dyndns endpoint; I didn't go down that rabbit hole.

Second, looking at the logs under /var/log/ddclient/latest.log, I was able to see the request that is being used to update the IP entry, and it looks like this (matching the GUI variables):

hxxps://dynamicdns[.]park-your-domain[.]com/update?host={hostname}&domain={username}&password={password}&ip={Public_IP}

Matching these variables to ddclient.conf, I see hostname is as at the bottom, login is username, and password is password.

syslog=yes                  # log update msgs to syslog
pid=/var/run/ddclient.pid   # record PID in file.
ssl=yes


use=cmd, cmd="/usr/local/opnsense/scripts/ddclient/checkip -i eth0 -t 1 -s freedns --timeout 10",
protocol=namecheap, \
login=username, \
password=NameCheapAPIKey \
blah.com


I don't know anything about the dynamicdns api, or what it expects, but seeing "username" / "login" as the domain, made no sense to me. It would explain why I saw this error:

<?xml version="1.0" encoding="utf-16"?><interface-response><Command>SETDNSHOST</Command><Language>eng</Language><ErrCount>1</ErrCount><errors><Err1>Domain name not found</Err1></errors><ResponseCount>1</ResponseCount><responses><response><Description>Domain name not found</Description><ResponseNumber>316153</ResponseNumber><ResponseString>Validation error; not found; domain name(s)</ResponseString></response></responses><Done>true</Done><debug><![CDATA[]]></debug></interface-response>

My username is clearly not my domain.

So I played around with the request a bit, and found that the below url worked:

hxxps://dynamicdns[.]park-your-domain[.]com/update&domain={hostname}&password={password}&ip={Public_IP}

<?xml version="1.0" encoding="utf-16"?><interface-response><Command>SETDNSHOST</Command><Language>eng</Language><IP>{Public_IP}</IP><ErrCount>0</ErrCount><errors /><ResponseCount>0</ResponseCount><responses /><Done>true</Done><debug><![CDATA[]]></debug></interface-response>

Checking the DNS records on NameCheap I saw it updated the A record.

While I can just create a cron job / script to do this for me, I'd rather use the plugin since thats available to me and I can manage it via the web GUI.

If anyone has a solution that works with the current version of ddclient, I'd greatly appreciate it.

Thanks!

Quote from: Orest on November 28, 2022, 10:43:20 PM
Has anyone gotten ddclient to work with NameCheap? I was moving to ddclient today after my update to 22.7 and successfully installed ddclient-3.9.1.

Hiya. Just sorted out my ddclient with NameCheap as my DDNS got knocked out in the past day or two whereas it was working before. Not sure if it was NameCheap side or ddclient side changes as I had not pushed updates... Anyhow;

I followed this from NameCheap as a starting point. https://www.namecheap.com/support/knowledgebase/article.aspx/9356/11/how-to-configure-a-ddwrt-router/

Example attached, but in short:

Enabled: Ticked
Service: NameCheap
Username: yourdomain.com (replace with your domain name, in your case blah.com)
Password: the one namecheap gives you when you config DDNS
Hostname: @ (this will direct to blah.com)
Check ip method: Interface
Force SSL: Ticked
Interface to Monitor: WAN

Mine seems to be working now but we'll see. Hope it helps others.


Anyone know the correct way to use DNS Made Easy with ddclient?
I saw a post that showed
https://cp.dnsmadeeasy.com/servlet/updateip?username=[YOUREMAIL]&password=[DYNAMICPASSWORD]&id=[DYNAMICID]&ip=%IP%
Filled in with my info, but not sure where to enter it. I have a Business membership but not sure if I need Enterprise service, which is very expensive.
I also have dyndns service. I know I would need to move my registrar delegations, but not until I know that will work.

Update.
DNS Made Easy has its own DNS client program that seems to work fine, but you have to run it in a Windows computer. I am sure if their tiny utility can do it, so can OPNsense somehow.

Anyone know how to configure that in ddclient, or is a futile task?

Looking at the ddclient github site their master config file shows that it supports dns made easy (see required syntax below). 

## DNS Made Easy (https://dnsmadeeasy.com) ##
protocol=dnsmadeeasy,
login=your-account-email-address
password=your-generated-password
your-numeric-record-id-1,your-numeric-record-id-2,...


You may have to manually edit the ddclient.conf file located in the /usr/local/etc directory on your OPNsense box
to populate it with all of the required parameters.