Docs › Dynamic DNS

Dynamic DNS on ddclient

ddclient speaks dyndns2 natively, so no custom URL template is needed. Any version from 3.9 onwards works.

Where the setting lives

/etc/ddclient/ddclient.conf

Configuration

ddclient.conf
protocol=dyndns2
use=web, web=https://ip.app
ssl=yes
server=api.home.network
script=/nic/update
login=alice
password='<your update password>'
nas.alice.home.network

Replace alice with your label and <your update password> with the password from the setup wizard. The username is your label, never your email address.

Worth knowing. Quote the password. ddclient's parser treats several punctuation characters as syntax, and an unquoted password containing one silently truncates.

Check it worked

verify
# confirm the record moved
dig +short nas.alice.home.network @ns1.home.network

# the update endpoint answers with the dyndns2 status word
curl -u 'alice:<your update password>' \
  'https://api.home.network/nic/update?hostname=nas.alice.home.network&myip=auto'
good 203.0.113.7

good means the record changed, nochg means it was already correct. Both are success. badauth means the username or password is wrong, and 911 means the fault is at our end, so retry rather than reconfigure.

Still not resolving at home?

If the name answers from ns1.home.network but not from your own resolver, the resolver is stripping the private address as rebind protection. Fix it for your resolver.

← All documentation