Oct 23
Tomato firmware: Dynamic DNS with dynDNS.org
When you have a home server, you may not have the chance to be connected to the Internet using a static IP address, instead your IP address is a lease from your Internet Service Provider and may change every day depending on the setup.
So when you are in the outside world, it is not possible to guess the IP address of your computer, how could you connect to it if you wanted to? The solution is to use a dynamic DNS forwarder like DynDNS.org. Talking about DynDNS, many standard firmwares (Netgear, Linksys, etc.) support updating your IP when it changes. Since I use Tomato firmware, I will explain how to configure it.
- First, you must register on DynDNS.org by creating an account.
- Then go into the “My Services / Host services” section of the site and add a new host name
- The free service offers you to choose any sub-domain name from their available list.
(ex: myhostname.getmyip.com, myhostname.kick-ass.net) - So you have to enter:
- the name you want (myhostname)
- the domain name (kick-ass.net)
- if you want to enable wildcards
(if enabled, anything.myhostname.kick-ass.net will be forwarded as well) - the service type: Host with IP address
- leave the IP address, Tomato will update it automatically
- leave the mail router checkbox unchecked

- create that host…
- Now you have to configure Tomato
- Navigate to the router’s web administration
- Open up the page under Basic / DDNS.
- Tomato offers to configure up to 2 host names, let’s fill the first one:
- IP Address: Use WAN IP xxx.xxx.xxx.xxx (recommended)
- Service: DynDNS – Dynamic
- Username: your account name
- Password: your account password
- host name: myhostname.kick-ass.net

A handy tip that I found
Go to scheduler -> Custom 1
ddns-update 0 force
ddns-update 1 force
It will automatically update your DDNS automatically and you can change the frequency.
In what situation do you need to schedule this? I never had to force an update because as soon as the router get a connection, it updates dyndns.org automatically… I guess you have an ISP that changes your IP address frequently?
Pascal.
Eric’s tip is exactly what I was looking for. I have a problem where my no-ip domain expires because my IP address changes so infrequently. Using this method, I can ensure that the domain stays active even when my IP address is nearly static.
Maybe I’m missing it, but where is a good reference for these kinds of commands in Tomato?
I have mine set to every 12 hours. It updates both my DynDNS hosts. I have been running it like that for the last 6 months and I have not yet been banned. My IP rarely ever changes (Once a month) but if it changes, my downtime is minimal.
Does this method work if tomato router is setup in client mode behind the main router? I guess this depends on whether tomato takes the help of external services to figure out what the public IP is (like the services running on windows do).
I currently have tomato router with the public ip and ddns works fine without a schedule. But I do get the reminders from dyndns.com to click on a link to avoid expiration. Does a schedule to do a force update of ddns avoid this (in a sense, auto extend the expiration)?