DDNS - Alternate way to manage multiple DDNS accounts using updatedd - HOWTO

From DD-WRT Wiki

Jump to: navigation, search


[edit] Introduction

I tried other HOWTO's on DDNS and found they are not working with ods.org. So, I started looking around and found updatedd and its working great with ods.org services. I decided to write down this alternate method of doing DDNS with DD-WRT. The instructions below is targeted mainly for ods.org DDNS updates, it should be similar for other service types.

Updatedd supports the following services:


Please visit Updatedd website for more information on updatedd: http://www.philipp-benner.de/updatedd/

[edit] Prerequisites

  • This howto requires Optware installed
  • Updatedd's wrapper is written in Perl, so please install Perl if it is not already installed:
ipkg-opt install perl

[edit] Installation

Install updatedd with:

ipkg-opt install updatedd

You will need to modify the software to work with Optware running under /opt directory:

vi /opt/bin/updatedd-wrapper

Change the first line to look like:

#!/opt/bin/perl -w

You will also need to change this file: (This file is mainly for ods.org service, please see below for others)

vi /opt/share/updatedd/interface.pl

Also change the first line to:

#!/opt/bin/perl -w

For other services, please change the following file accordingly with the same first line change:

vi /opt/share/updatedd/ipserv.pl

Change the first line to:

#!/opt/bin/perl -w

[edit] Configuration

Updatedd configuration file is located here: /opt/etc/updatedd-wrapper.conf

Please edit with vi or your favorite editor:

vi /opt/etc/updatedd-wrapper.conf

Under "login" section, please change the username/password for your services:

login {
       changeip_1      = "user:pass";
       dyndns_1        = "user:pass";
       eurodyndns_1    = "user:pass";
       hn_1            = "user:pass";
       noip_1          = "user:pass";
       ods_1           = "MY_USERNAME:MY_PASSWORD";
       ovh_1           = "user:pass";
       regfish_1       = "TOKEN=token";
       regfish_2       = "STD=user:pass";
       tzo_1           = "user:pass";

Please scroll down and configure each of the services that you would like to do DDNS update with. Here is an example of ODS configuration:

ods(active) {
         login           = ods_1;
         hostnames       = "host1.ods.org host2.ods.org";
         ip-addr         = ipv4:`/opt/share/updatedd/interface.pl ppp0`;
         use-syslog      = yes;
#       force;

When you are done with the configuration file, please save and exit with ":wq" if you are using vi.

[edit] Execute and Cron

Test your configuration with:


If you want to periodically updates DDNS, you will need to edit crontab:

vi /opt/etc/crontab

Add the following lines:

# ods.org update - Every 2 minutes
*/2 * * * * root /opt/bin/updatedd-wrapper

The example setup above executes updatedd-wrapper for every 2 minutes.