We all have things on our home network we want to access from the outside: music collections, game servers, file stores, and more. Dynamic DNS makes it easy to give your home network a memorable and easy to use address.
What’s Dynamic DNS And Why Would I Want It?
Before dive into the tutorial and before we even start talking about what dynamic DNS (DDNS) is, let’s start with the basics–what DNS even is. DNS, or Domain Name System, is the magic that makes the internet user friendly, and the greatest thing since sliced bread.
Every internet-accessible resource–web pages, FTP sites, you name it–has an IP address that serves as the resource’s network address on the internet. These addresses are numeric, in the format 22.214.171.124, and are not particularly easy to remember. Remember the last time you went to 126.96.36.199 to check up on pictures of your niece? No? Of course you don’t, because you typed facebook.com into your web browser instead of 188.8.131.52. A DNS server resolved your human-friendly request of facebook.com into a machine-friendly address that sent you, probably in a hundredth of a second or less, to Facebook.
Wouldn’t it be great if you could set up the same trick for your home network? This is where Dynamic DNS (DDNS) comes into play. It’s easy to for big companies to set up domain names like Facebook.com because the address of their web server is static (once they have the IP address it doesn’t change). Your home IP address is different though. People with residential connections get a dynamically assigned IP address. Your ISP has a big pool of addresses and they share them with everyone on an as-needed-basis.
This makes it pretty difficult to pull the same trick that is so easy for the likes of Coca-Cola because the address you have today isn’t the address you might have next week. Thankfully DDNS providers make it dead simple to assign a memorable name to your home IP address because they update automatically as your IP address changes over time.
Once you set up DDNS when you share your music collection with friends or invited them to play on your sweet homemade Minecraft server, you can just point them to an easy-to-remember name (instead of looking up your home IP address every time you share a connect with them). Anytime you want to connect to your home computer from afar, you just type in “mypersonaladdress.dynu.net” (or something of the sort) and you’re there.
What You Need
Setting up DDNS for your home network is really simple, free, and once setup should require next to no maintenance over time. Let’s take a look at what you need and the two different methods you can use to keep your DDNS address up to date.
A DDNS Host
First and foremost, you need a DDNS host. Historically the go-to solution nearly everyone used was DynDNS. However back in 2014 they did away with their free plan (which was a perfect fit for the vast majority of home users), and went paid-only. Thankfully, more than a few providers have popped up to fill that free-for-the-little-guy DDNS hosting niche.
If you’re looking for a great free DDNS provider you don’t have to look very far. You can score top-rate service for free at No-IP, Dynu Systems, and Zonomi DNS Hosting–to name just a few of the excellent options out there.
Although every DDNS provider, free and paid, will provide the most basic functionality–resolving some address like yourpersonaladdress.dynu.net to your home IP address–there are a few features power users might want to pay attention to when comparing different DDNS hosts. Some people people may want to use their own domain instead of DDNS-branded sub (e.g. you want yourpersonaladdress.com to resolve to your home IP instead of yourpersonaladdress.no-ip.net). There are also other features like multiple sub-domains so you can set up multiple addresses like music.yourpersonaladdress.com, minecraft.yourpersonaladdress.com, and so on.
For the purposes of this tutorial we’ll be using Dynu Systems, both because it’s well established and offers a wide range of features for free.
A Router With DDNS Support
In addition, you’ll want a router that supports DDNS services. Why is this so ideal? When your router supports DDNS services, you can simply plug in your DDNS provider information and your router will automatically update the address behind the scenes. As long as your router is on, your DDNS entry will always be up to date, which means you’ll always be able to connect.
Note: Your router may only support a few select services, so you may want to check your router’s admin page before you sign up for a service. That way, you know you’re getting an account with a DDNS provider your router supports.
A Local Update Client
If your router doesn’t support DDNS services, you will need a local client to run on a frequently used computer somewhere on your home network. This lightweight little application will check what your IP address is and then phone home to the DDNS provider to update your DDNS record. It’s less ideal than a router-based solution–if the computer isn’t on when your IP address changes, then the record doesn’t get updated–but it’s certainly better than manually editing your DDNS entry.
How to Configure Dynamic DNS
Let’s take a look at how to set up a simple DDNS account with Dynu, point it at our home network, and set up automatic DDNS entry updating. Although we’re using the Dynu web portal and settings, the general setup process is nearly identical across providers and can be easily adapted (consult the support files for your provider if you need additional help).
Step One: Create and Configure an Account
Head over to Dynu’s sign up page here and sign up for an account. Confirm the registration in your email. Once you’ve confirmed the setup you can login to your Dynu account and visit the Control Panel, as seen below. Click on “DDNS Services”.
Click on the blue “+ Add” button on the far right.
Enter the hostname and domain name you wish to use, here labeled “Host” and “Top Level”. Click “+ Add” to add the entry to your account. If you wish to use your own domain name you can also enter it here and follow the instructions for linking your domain name to the DDNS service.
Confirm that the IP address in the DDNS entry is correct (if you’re working from your home network it should be, if not, you’ll need to edit it here). Click save once you’ve confirmed everything looks good.
For basic no-frills DDNS redirection, that’s all there is to it. Let’s look at the next important step: setting up your home network to automatically update the servers for you.
Step Two: Configure Your Router
Creating the actual DDNS entry is only half the battle when it comes to time saving and convenience. The other half is automating the whole process. Let’s look at how to automate DDNS updates at the router and the desktop level.
We’ll be using a D-Link router running the fantastic third-party DD-WRT firmware to demonstrate, but the settings are pretty standardized across all routers that support DDNS–consult the documentation for your router or firmware to find out where the DDNS settings are, or just poke around the settings until you find them.
On DD-WRT you’ll find it under Setup > DDNS. By default, it is disabled. Open the drop down menu, as seen below, and select “Custom”. As you can see DD-WRT (and many other routers) come with pre-configured entries for various DDNS services but the custom entry offers the most flexibility (if you have it).
After selecting “Custom” you will need to enter the following information: the DYNDNS server (api.dynu.com for those using Dynu), your username and password (the same ones you log into the Dynu service with), and the hostname you selected in the previous section of the tutorial (e.g. yourpersonaladdress.dynu.com). If you aren’t sure what your DYNDNS server is, consult the documentation for the service you signed up for.
Leave the rest of the settings as they are. Click “Save”. Your router will now update the DDNS server every time your IP addresss changes (and, even if it hasn’t changed, it will still connect to the DDNS server every 10 days, per the “Force Update Interval” to check in).
Alternate Step Two: Configure a PC-Based Updater
Router-based updating is far superior to using a PC-based updater, but if you don’t have a DDNS-friendly router, a PC-based updater is the only way to automate the update process. To use a PC-based updater, first swing by the downloads section in the control panel of your DDNS provider. You can find the downloads section for Dynu Systems here. Grab the appropriate application for your system (in our case, Windows) and download it.
After installing the application, run it for the first time and input your username and password, click “Save”.
In the log window you’ll see the client connect and update your IP address. Click “Close” to send the app to the system tray and, more or less, forget about it. For a run down of the advanced settings, see this support file here.
Configuring Port Forwarding and Other Considerations
What we have achieved, at this point in the tutorial, is to direct a human-friendly domain name to your home network’s IP address. It’s critical to understand that all this accomplishes is replacing your hard to remember (and frequently changing) number-based IP address with an easy to use word-based domain.
It does not alter your home network settings in anyway so whatever worked (or didn’t work) before you set up the DDNS system will keep working (or not working) with the new DDNS address. If you used to connect to your home music server while you were at work by visiting XXX.XXX.XXX.XXX:5900 (your home IP address, port 5900) you can now connect to it at yournewDDNSaddress.com:5900.
On the other hand if you couldn’t connect to that locally hosted music server before setting up the DDNS service, then you still can’t–because that service was never configured to have an internet-facing address. You’ll need to dig into your router settings and set up port forwarding for all the services you want to access from outside your home network.
The same goes for any services hosted by the router itself. If you want to access the router’s built-in network attached storage from outside your home network via the DDNS address, for example, you’ll need to check the router’s settings and ensure that router-based service is accessible from outside the network first.
All told, it’s a very minor hassle to set up DDNS but a really big reward. From now on instead of inviting your friends to play on your Minecraft server by saying “Wait, hold on, I gotta check what my IP address is, just a minute…” you can simply say “I’ll see you online” because the special hostname you reserved is still pointing right back to your home address.