WikiDevi.Wi-Cat.RU:DD-WRT/DDNS - Alternate way to manage multiple DDNS accounts using updatedd - HOWTO
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:
changeip.com dyndns.org eurodyndns.org ovh.com no-ip.org ods.org hn.org regfish.com tzo.com
Please visit Updatedd website for more information on updatedd: http://www.philipp-benner.de/updatedd/
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
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
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.
Execute and Cron
Test your configuration with:
updatedd-wrapper
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.