Services/DDNS

Service 'DDNS'
Description Automatically find a changing (dynamic) IP address (home address for example) using this service.
Prerequisite None
Account Local (registration required) IPv6 Ready Yes
Security Notes This service is secured using TLS, web certificates and a specific account (separate from your main account).


Access

To use this service, ask for an account to an administrator. For each IP you need to track, you should provide with (explanations follows):

  • secondary account suffix (characters allowed: letters, numbers)
  • hostname suffix (characters allowed: letters, numbers, dash)

The secondary account prefix is used to create your secondary account name, based on your main account name. If your main account is called toto and the secondary account prefix is called home, then the secondary account name would be toto-home. It is used as service username in the configuration, and along with a password, identify yourself as owner of the DNS entry.

The hostname prefix is used to create the DNS entry for your host. If you use house as prefix, then the DNS entry would be toto-house.ddns.duckcorp.org.

It is possible to have multiple DNS names associated with the same account. So you could have another prefix manor and the additional DNS entry would be toto-manor.ddns.duckcorp.org.

Installation on Debian

Currently the software is not packaged, so a few manual steps are needed.

Install the dependencies:

 apt-get install kwalify ruby-curb ruby-safe-yaml ruby-log4r

Install the Software:

 cd /opt
 git clone https://vcs-git.duckcorp.org/duckcorp/ddns.git
 cd ddns
 ruby setup.rb config --bindir=bin --rbdir=lib --datadir=data --sysconfdir=conf --localstatedir=var --shebang=never
 ruby setup.rb setup
 mkdir -p conf/ddns var/log/ddns

Configuration on Debian

Create /opt/ddns/conf/ddns/myip.conf containing:

 ---
 url: "https://myip.duckcorp.org/"
 timeout: 3

Create /opt/ddns/conf/ddns/client.conf containing:

 ---
 log:
   path: "./var/log/ddns/"
 regip:
   url: "https://ddns.duckcorp.org/"
   user: <secondary-account-name>
   passwd: <secondary-account-password>
   timeout: 3
 profiles:
   <dns-entry>:
     ipv4: auto
     ipv6: auto

and replace fields into angle brackets using your own credentials and DNS info.

The profiles block can hold as many DNS entries as you need; they may not be on the same site though.

You can find more information on the various configuration parameters on the DDNS project wiki.

Technical Details

This service is made using: