• Dynamic DNS Explained


    What is Dynamic DNS?

    In short, Dynamic DNS (DDNS) is a DNS service for hosts without static IP addresses.

    There are two sides to your home network, the internal network (aka LAN) and the external network (aka WAN). The internal IP addresses are assigned by the router (and can be changed by the user), while the external IP address (usually, only one) is assigned by your ISP (Internet Service Provider).

    When you are away from home and want to connect back to your home network, you need to know the external IP address. Such is the case when you are sitting at a coffee shop and want to VPN back to your home router for better security.

    But there is a potential problem. In most cases, the external IP address assigned by your ISP is dynamic, i.e., it may change over time. Maybe not so frequently, but it could change. When that happens, your VPN client (connecting to your router’s external IP address) can no longer connect.

    And that’s where Dynamic DNS (DDNS) comes in – it allows you to use a fixed domain name to access your home network from the outside. You can use the same domain name even when the IP address changes.

    How does DDNS work?

    You need a Dynamic DNS (DDNS) service provider to set up Dynamic DNS. And there are many free ones available. For example, Duck DNS, Dynu, No-IP, ClouDNS, but there are many more.

    There are two parts to any Dynamic DNS service:

    1. A domain name that maps to your IP address: you’ll get a subdomain from the domain(s) managed by the Dynamic DNS service provider.
    2. A DNS updater running on your home network. The updater polls for your external IP address periodically and keeps the domain name current with your external IP address.

    How to set up Dynamic DNS

    Once you’ve decided which DDNS service you want to use, just sign up for an account and follow the instructions on the website. There may be minor variations among different DDNS service providers, but in essence setting up a DDNS service consists of three steps:

    1. Sign up for an account
    2. Choose a subdomain to use
    3. Download (or create) and install the DDNS updater

    In our experience Duck DNS is the easiest to use. Even though it doesn’t provide a lot of instructions, the web interface is pretty simple and straightforward. You don’t need to create another login id, just use your Twitter, GitHub, reddit or Google account to login.

    What to do on the pcWRT router

    The pcWRT router provides a DDNS updater so you don’t need to install the updater from your DDNS provider’s website. But since the updater on the pcWRT router only supports DNS-O-Matic, you do need to sign up for an OpenDNS account and link your DDNS service with DNS-O-Matic. If you use OpenDNS Home, you’d already have an OpenDNS account.

    Suppose you already signed up for OpenDNS and set up DNS-O-Matic, here’s how to link your DDNS service to DNS-O-Matic (using Duck DNS as example):

    1. Log in to DNS-O-Matic with your OpenDNS id.
    2. Click “Add a Service”, then select your DDNS provider from the dropdown.
    3. Enter the info for your DDNS service, click “Update account info”.


    Finally, make sure you set up DDNS on the pcWRT router. And you’re all set!

    UPDATE (12/22/2019)

    DDNS is natively supported beginning with version v2.0.1. Setup is a lot easier & third party DDNS service is no longer required.

Leave a Reply