ddclient is a open-source client program written in Perl to update DNS entries on Dynamic DNS Servers. It supports a number of different routers and dynamic DNS servers.
You can install it on Debian-based systems with the command:
$ sudo apt install ddclient
While installing, it will ask you to configure at least one DNS service. You can change this again later by restarting the configuration program or by manually modifying the config file.
After installing, you can run it with all the default settings by typing
To print a list of all discovered IPs you can use the command:
$ ddclient --query
For more commands, see the Usage page on SourceForge.
The configuration file for ddclient is at /etc/ddclient.conf.
A typical configuration file for http://dnsdynamic.org/ is:
# # Configuration file for ddclient generated by debconf # # /etc/ddclient.conf daemon=60 # check every 60 seconds syslog=yes # log update msgs to syslog mail=root # mail all msgs to root mail-failure=root # mail failed update msgs to root pid=/var/run/ddclient.pid # record PID in file. ssl=yes # use ssl-support. use=web, web=myip.dnsdynamic.com # get ip from server. server=www.dnsdynamic.org # default server login=YOUR-LOGIN # your login password=YOUR-PASSWORD # your password server=www.dnsdynamic.org, \ protocol=dyndns2 \ YOUR-DOMAIN
where you replace
YOUR-DOMAIN gets replaced with the domain name you choose when you set up your dynamic DNS service.
This sets ddclient to run as a daemon (service) and check/update the dynamic IP every 60s.