Using FreeDNS.Afraid.org and Dyn.mk with DD-WRT as your free DDNS service
As you know in the past providers of this kind of services Dynamic DNS services, such as like DynDns, No-IP.com, etc. were free. Unfortunately today there are paid services and the small free providers that are offering this kind of services relies only on users who choose to pay for their premium DNS services, one of them is FreeDNS.Afraid.org.
If your router has a built-in pre-configured DDNS service, it’s possible that it won’t work with FreeDNS.Afraid.org. Most of the SOHO routers limits your choices to a small list of DDNS providers, none of which are free. In this small tutorial, we will explain how to configure your router that has support and is installed with DD-WRT (link) firmware.
Step 1: Create an account on FreeDNS.Afraid.org
Visit the signup page at FreeDNS.Afraid.org, then verify your email address once you receive the activation email.
Step 2: Create an “A” Record for your IP Address
Click the “Dynamic DNS” link in the “For Members:” menu and choose the option Add.
For Type, select A.
Next, select a Subdomain that you want to use. This needs to be one that hasn’t already been taken on the “dyn.mk” you’ll choose next.
Now drop down the Domain list and pick “dyn.mk” domain that’s available.
Finally, enter the current WAN IP for your internet connection as the Destination. It should auto-populate your current IP. If you’re setting this up for a remote system with a different IP, don’t worry about it for now. We’ll be setting up your DD-WRT client to auto-update with the correct IP.
Leave the TTL and Wildcard settings at the default, and press Save!
Here’s what it should look like when you’re done:
Step 3: Find your Record’s Unique Update Token
Your Dynamic DNS page should now show a list of all your DDNS domains and subdomains (called your Update Candidate List) that looks something like this:
Let’s briefly explain what the 5 available links do:
- The Direct URL is a link that will manually (and instantly) set the DNS for that subdomain to the WAN IP of your current connection. So if you’re not currently connecting from the IP address that you want to be associated with this subdomain, don’t click this link.
- The Wget Script link is a batch file for updating your DDNS with the Linux wget utility.
- The Curl Script link does the same thing as the Wget Script link, but with the Linux curl utility.
- The Edit Record link lets you manually enter the IP address, or modify the domain or subdomain for this record.
- The quick cron example link shows an example cron entry for updating via the cron utility on Linux systems.
Click on the quick cron example link and look at the bottom of the file. You should see something that looks like this:
4,9,14,19,24,29,34,39,44,49,54,59 * * * * sleep 34 ; wget -O – http://freedns.afraid.org/dynamic/update.php?ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890= >> /tmp/freedns_mysubdomain_dyn_mk.log 2>&1 &
Find the long string of letters, numbers, and characters following the update.php? part of the included URL. This is your unique update token for this record. Select the entire string (including any characters at the end, such as the equal sign in the above example) and copy it to your system’s clipboard (CTRL+C on a Windows box). In the above example, you would have selected and copied:
Step 4: Configure DD-WRT to use FreeDNS.Afraid.org
Log in to the admin interface of your DD-WRT router. Click the Setup tab, then the DDNS sub-tab. Select freedns.afraid.org as the DDNS Service. Next, enter the username and password you chose when setting up your FreeDNS.Afraid.org account. Note that your username is not your email address. It’s your freedns.afraid.org UserID, which you can find in the upper-right corner of http://freedns.afraid.org/dynamic/ (when you’re logged in). In the Hostname field, enter the full subdomain and domain name you want to associate with your connection’s IP address, then a comma, followed by the unique update token for the record. Don’t use any spaces in this field. Our example’s hostname would be:
Select “Yes” for Do not use external ip check. You can leave the Force Update Interval option at the default of 10, or change it to some other value for the number of days you want to want to wait between forcing the system to push an IP address update to FreeDNS.Afraid.org. Here’s what that tab should look like when you’re done entering your settings:
When you’re done, press Save and then Apply Settings.
Step 5: Verify that your Settings are Working
Once you press Apply Settings, keep an eye on the DDNS Status area at the bottom of the DDNS tab. You should see messages appear that will confirm you’ve set everything up properly, and that your DD-WRT router is successfully updating FreeDNS.Afraid.org with your WAN IP address. It should look something like this:
Note that the WAN IP of your router (in the upper right corner of the image) should match IP address reported in the DDNS Status area.
If you don’t get “success” messages, go back and check all your settings. You may have forgotten to include a character in your update token. Or maybe you mistyped your password. Or maybe you set the wrong hostname. But if you go back and double-check all your settings (and you’re certain you have a working internet connection), then everything should be fine.
At this point, you should be able to ping the FQDN (fully qualified domain name) that you set up (such as mysubdomain.dyn.mk) and see it attempt to ping WAN IP address. The ping will probably time out (which is a good thing), but you’ll confirm that the hostname is being resolved to the proper IP address.