There’s a few posts all over the internet when you try to find information about how to use DDNS in dd-wrt
with Loopia as your DNS provider. I found this post in one of the forums by “Codetracer” (Thanks!) pointing me in the right direction although didn’t manage to get it to work at first and the reason for that was that my build 16994 had a broken Inadyn daemon. Updated to 18024 and all worked fine.
For this to work your WAN interface needs to be your external interface and have your external
IP as we fetch that information from NVRAM. In other cases you need to fetch this information
using a external page (Example below).
Do the following (Copy paste from the forum):
– DDNS Service can be disabled. At least thats how I do it.
– Add your info to the code. Change *USERNAME*, *PASSWORD*, *FQDN_HOST_NAME* (zzz.yyy.com)
Where username usually is your primary domain
– Open DD-WRT web interface and go to “Administration” –> “Commands”
– Paste code in “Command Shell” and make sure the string is
– Click “Save Startup”
– Reboot router.
– Check /tmp/ddns/ddns.log for messages about last update.
#DDNS(inadyn) for Loopia sleep 10 mkdir /opt/tmp/ddns /usr/sbin/inadyn -u *USERNAME* -p *PASSWORD* --background --dyndns_system \ custom@http_svr_basic_auth -a *FQDN_HOST_NAME* --update_period_sec 600 \ --forced_update_period 864000 --log_file /tmp/ddns/ddns.log --cache_dir \ /tmp/ddns --exec ddns_success --dyndns_server_name dns.loopia.se \ --dyndns_server_url /XDynDNSServer/XDynDNS.php?system=custom\&myip=$(nvram get wan_ipaddr)\&hostname=
There are a few thing worth mentioning. As cache and logs are stored i /tmp this will be cleared when
the router reboots and this will force a update of your DNS at startup. Not sure about Loopia but several
other providers simply blocks your IP for a period of time. To be on the safe side use persistent storage
for example a USB stick to store cache data and logs.
If your WAN interface isn’t you external interface and doesn’t have your external ip (you are on LAN) add the following option to fetch the public IP
Over and out!