Duck DNS configuration issues

Hello all,

While trying to follow the instructions (be sure to select OpenWRT) to setup Duckdns.org as my DDNS provider, I run into a message saying "122531 WARN: Service section disabled! - Terminate"

Background: I am new to OpenWRT and L/uCI. I have SSH'd into the router, logged in and followed the 2 first steps to install the packages. The next step simply says "setup scripts" and gives a line of code that my terminal does not recognize.

root@innie:~# ddns-scripts
sh: ddns-scripts: not found
root@innie:~#

From here I installed nano, and modified the config file:

root@innie:~# cat /etc/config/ddns

config ddns 'global'
        option ddns_dateformat '%F %R'
        option ddns_loglines '250'
        option upd_privateip '0'

config service 'myddns_ipv4'
        option lookup_host 'yourhost.example.com'
        option domain 'yourhost.example.com'
        option username 'your_username'
        option password 'your_password'
        option interface 'wan'
        option ip_source 'network'
        option ip_network 'wan'
        option service_name 'dyn.com'

config service 'myddns_ipv6'
        option update_url 'http://[USERNAME]:[PASSWORD]@your.provider.net/nic/up             date?hostname=[DOMAIN]&myip=[IP]'
        option lookup_host 'yourhost.example.com'
        option domain 'yourhost.example.com'
        option username 'your_username'
        option password 'your_password'
        option use_ipv6 '1'
        option interface 'wan6'
        option ip_source 'network'
        option ip_network 'wan6'

config service 'duckdns'
        option enabled '1'
        option domain '[redacted].duckdns.org'
        option username '[redacted]'
        option password 'blah-blah-blah-blah-blah'
        option ip_source 'network'
        option ip_network 'wan'
        option force_interval '72'
        option force_unit 'hours'
        option check_interval '10'
        option check_unit 'minutes'
        option use_https "1"
        option cacert "/etc/ssl/certs/ca-bundle.pem
        option update_url 'http://www.duckdns.org/update?domains=[USERNAME]&token=[PASSWORD]&ip=[IP]'
        option lookup_host '[redacted].duckdns.org'

continuing with the guide

root@innie:~# sh


BusyBox v1.28.4 () built-in shell (ash)

root@innie:~# . /usr/lib/ddns/dynamic_dns_functions.sh
root@innie:~# start_daemon_for_all_ddns_sections "wan"
root@innie:~#  124603  WARN : Service section disabled! - TERMINATE
 124603  WARN : No update_url found/defined or no update_script found/defined! -                      TERMINATE
root@innie:~#

Obviously I'm missing something, and i don't know how to start the service.

Can anyone offer any help?

Delete the myddns_ipv4 and myddns_ipv6, it's tripping up over the first of them and you don't need either of them. You should be able to configure this all via the gui btw using the luci-app-ddns package

1 Like

CBZ, I like where your head is at, but it didn't seem to work (unless # isn't "commenting out" like i think it should)

config ddns 'global'
        option ddns_dateformat '%F %R'
        option ddns_loglines '250'
        option upd_privateip '0'

#config service 'myddns_ipv4'
#       option lookup_host 'yourhost.example.com'
#       option domain 'yourhost.example.com'
#       option username 'your_username'
#       option password 'your_password'
#       option interface 'wan'
#       option ip_source 'network'
#       option ip_network 'wan'
#       option service_name 'dyn.com'

#config service 'myddns_ipv6'
#       option update_url 'http://[USERNAME]:[PASSWORD]@your.provider.net/nic/update?hostnam>
#       option lookup_host 'yourhost.example.com'
#       option domain 'yourhost.example.com'
#       option username 'your_username'
#       option password 'your_password'
#       option use_ipv6 '1'
#       option interface 'wan6'
#       option ip_source 'network'
#       option ip_network 'wan6'

config service 'duckdns'
        option enabled '1'
        option domain '[redacted].duckdns.org'
        option username '[redacted]'
        option password 'blah-blah-blah-blah-blah'
        option ip_source 'network'
        option ip_network 'wan'
        option force_interval '72'
        option force_unit 'hours'
        option check_interval '10'
        option check_unit 'minutes'
        option use_https "1"
        option cacert "/etc/ssl/certs/ca-bundle.pem
        option update_url 'http://www.duckdns.org/update?domains=[USERNAME]&token=[PASSWORD]>
        option lookup_host '[redacted].duckdns.org'

i still get the same:

root@innie:~# sh


BusyBox v1.28.4 () built-in shell (ash)

root@innie:~# . /usr/lib/ddns/dynamic_dns_functions.sh # note the leading period
root@innie:~# start_daemon_for_all_ddns_sections "wan"
root@innie:~#  191324  WARN : No update_url found/defined or no update_script found/defined! - TERMINATE

Also, i realized after i started messing with the command line that there was a GUI configuration page. Unfortunately, there is something wrong there, too. if i name my connection, then hit add, i'm brought to a page that just doesn't have anything useful on it.

At this point, would it be worth trying to start from scratch? How would i best go about doing that?

Easiest way to start from scratch is to delete the section and then try adding it again in the GUI - also you have https support turned on, did you install curl and its dependencies ?

Also I don't think you want to start things the way they suggest - you should be able to just run /etc/init.d/ddns restart

1 Like

Is the "update_url" line closed with a "<" symbol instead of a "'"?

Here's a working configuration for OpenWrt v17:

config ddns 'global'
        option ddns_dateformat '%F %R'
        option ddns_loglines '250'
        option upd_privateip '0'

config service 'myddns_ipv4'
        option interface 'wan'
        option ip_source 'network'
        option ip_network 'wan'
        option service_name 'duckdns.org'
        option enabled '1'
        option username '[domain]'
        option password '[api key]'
        option use_https '1'
        option lookup_host '[domain].duckdns.org'
        option cacert '/etc/ssl/certs/ca-certificates.crt'
        option check_interval '5'

You need to have ca-bundle installed.

Success!

So it bothered me that the LuCI DDNS configuration page was not right, and I decided to delete what I had done to this point. Through the LuCI config page I went to "system", "software", then to the "installed packages" tab and searched "ddns". This showed the "ddns-scripts" and "luci-app-ddns". I selected "remove" for both of those. Then I Putty'd into the console and

rm /etc/config/ddns

reboot (out of excess precaution). Then through LuCI config webpage i went back to software and installed just the "LuCI-app-ddns". This brought up the "Services" tab and in the DDNS section, there were 2 modifiable entries! plug in the relavent data and TA-DA! we have a working DDNS.

Thank you all for your patience and assistance!

2 Likes

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