DDNS 2.7.8-14 config for dnsomatic, always fails verification

I've been trying to get my DDNS config working well with dnsomatic, and I'm having a hard time figuring out the settings so that my external IP verification works properly.

As it stands today, DDNS is trying to perform an nslookup against myip.dnsomatic.com. It's my understanding that, at that point in the workflow, DDNS is trying to learn the IP address that dnsomatic has stored for my public IP. However, the nslookup is simply returning the IP address of dnsomatics web site. Therefore, DDNS always thinks dnsomatic needs to be updated.

This is what I'm seeing...

 153523       : ddns version  : 2.7.8-14
 153523       : uci configuration:
ddns.myddns_ipv4.cacert='/etc/ssl/certs'
ddns.myddns_ipv4.domain='all.dnsomatic.com'
ddns.myddns_ipv4.enabled='1'
ddns.myddns_ipv4.interface='wan'
ddns.myddns_ipv4.ip_network='wan'
ddns.myddns_ipv4.ip_source='network'
ddns.myddns_ipv4.lookup_host='myip.dnsomatic.com'
ddns.myddns_ipv4.password='***PW***'
ddns.myddns_ipv4.service_name='dnsomatic.com'
ddns.myddns_ipv4.use_https='1'
ddns.myddns_ipv4.username='*username*'
ddns.myddns_ipv4=service
 153523       : verbose mode  : 0 - run normal, NO console output
 153523       : check interval: 36000 seconds
 153523       : force interval: 259200 seconds
 153523       : retry interval: 60 seconds
 153523       : retry counter : 0 times
 153523       : No old process
 153523       : last update: 2021-08-13 15:30
 153523       : Detect registered/public IP
 153523       : #> /usr/bin/nslookup myip.dnsomatic.com  >/var/run/ddns/myddns_ipv4.dat 2>/var/run/ddns/myddns_ipv4.err
 153523       : Registered IP '146.112.255.205' detected
 153523  info : Starting main loop at 2021-08-13 15:35
 153523       : Detect local IP on 'network'
 153523       : Local IP '*my IP address*' detected on network 'wan'
 153523       : Update needed - L: '*my IP address*' <> R: '146.112.255.205'

So, it's updating every time the "check interval" occurs, as opposed to the "force interval". I've been trying to work this out with dnsomatics support, and this is as close as we've gotten. I keep thinking that maybe DNS-Server in Advanced Settings might help, but have zero clue about how to config that for dnsomatic... if that is the solution at all.

Any help would be appreciated!

Okay, I figured it out on my own. It looks like my lookup_host should be set to myip.opendns.com. This information came courtesy of the "Detecting Changes" section of the dns-o-matic API page...

https://dnsomatic.com/docs/api

I have no idea why myip.dnsomatic.com doesn't work, but myip.opendns.com does. But I'm LONG passed caring.

I dug into the scripts underneath DDNS 2.7.8-14, and found that the NSLOOKUP command is the "last ditch" option for the script. It looks for the HOST, KHOST, DRILL and HOSTIP commands first and, if none of those are there, it hits an else-clause that uses NSLOOKUP. So, in the process of debugging this, I found the DRILL command in the available software packages for OpenWRT. I don't think NSLOOKUP is inherently bad here, but my success happened at some point after I also pulled down the DRILL package. So, I haven't tested myip.opendns.com with NSLOOKUP.

YAY!

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.