Bering-uClibc 6.x - User Guide - Advanced Topics - Setting Up a Dynamic DNS Client with ddclient
Advanced Topics - Setting Up a Dynamic DNS Client with ddclient | ||
---|---|---|
Prev | Bering-uClibc 6.x - User Guide | Next |
About ddclient
ddclient
is a Perl client used to update dynamic DNS entries for accounts on Dynamic DNS Network Services' free DNS service.
Supported features include: operating as a daemon, manual and automatic updates, static and dynamic updates, optimized updates for multiple addresses, MX, wildcards, abuse avoidance, retrying failed updates, and sending update status to syslog and through e-mail.
Amongst the supported dynamic DNS services are:
- DynDNS.com www.dyndns.com
- Hammernode www.hn.org
- Zoneedit www.zoneedit.com
- EasyDNS www.easydns.com
- NameCheap www.namecheap.com
- ConCont www.dydns.za.net
- DnsPark www.dnspark.com
- DslReports www.dslreports.com
- Sitelutions www.sitesolutions.com
- Loopia www.loopia.se
- FreeDNS FreeDNS.afraid.org
- duckdns www.duckdns.org
Have a look at sourceforge.net/p/ddclient/wiki/protocols/ for a complete list of supported dynamic DNS services and advice how to configure ddclient
for the supported services.
To load ddclient
during boot, add ddclient.lrp
to the list of packages in leaf.cfg
.
You can run ddclient
either in daemon mode or from cron to update your IP address at a given dynamic DNS service. If you have a PPP connection/or DHCP connection, that changes frequently, you can also update the IP address calling a script from /etc/ppp/ip-up.d
, dhclient-exit-hooks
etc.. Sample scripts to start with, are provided in the sources of ddclient
.
The example given below makes the assumptions to use a cron-based approach, to change the IP address for the dynamic DNS serve freedns.afraid.org
. While this setup has been tested successfully and fit the authors need, it has the downside, that updates of the IP address after boot has a time lag of <math>(cron intervall*2)</math> after booting up the router and <math>(cron intervall-x)</math> if the address changes. If you need an immediate update, you'll have to investigate the daemon mode and/or scripts, that take care of updating your IP address, whenever it changes.
Everyone is invited to improve this documentaton with his/her findings - just contact us.
Configuring ddclient
You can edit the ddclient
configuration files through the package configuration menu:
ddclient configuration files 1) ddclient configuration 2) ddclient cron entry q) quit --------------------------------------------------------------------------- Selection:
A minimal ddclient
configuration in /etc/ddclient/ddclient.conf
(for a PPP connection to the Internet in this case) looks like this:
syslog=yes # log update msgs to syslog use=if, if=ppp0 server=freedns.afraid.org protocol=freedns login=your-login-name password=foobar YourDomain #example.freedns.org
and the ddclient
cron entry:
*/10 * * * * root /usr/sbin/ddclient -daemon=0 -syslog -quiet retry
The cron intervall has been set to run ddclient
every ten minutes in no-daemon mode, log to syslog if the IP address of the interface if
, named in /etc/ddclient/ddclient.conf
has changed. And if so, it will update the IP address of your dynamic DNS service.
Configuring shorewall
You need to add a rule to allow accessing port 80 from your firewall on the net zone to make ddclient work. Therefore add to /etc/shorewall/rules
HTTP/ACCEPT fw net
Don't forget to save your configuration with lrcfg -> s!
Additional Reading
https://sourceforge.net/p/ddclient/wiki/usage explains the available configuration options for ddclient
.
https://sourceforge.net/p/ddclient/wiki/protocols documents how to use ddclient
with otherdynamic DNS services.
Prev | Up | Next |