How To Use Dynamic DNS

Dynamic DNS service is used to keep a domain name pointing to the same computer or server connected to the Internet despite the fact that the address (IP address) of the computer keeps changing. This service is useful to anyone who wants to operate a server (web server, mail server, FTP server, IRC server, etc) connected to the Internet with a dynamic IP or for someone who wants to connect to an office computer or server from a remote location with software such as pcAnywhere.

NOTE: Our Domain Plus currently does NOT come with Dynamic DNS. For more information on how to upgrade your service level to use this feature, please go HERE.

To set up your Dynamic DNS, please do the following:

1. Log into your easyDNS account.
2. Click on DNS.

Note that you can also click on DYN from your Domain Administration page to get directly to the Dynamic DNS portal:

3. Click on the EDIT icon for DYNAMIC RECORDS.

4. Create your dynamic records by defining your hostname(s) and a TTL.
5. Create a Dynamic Authenticated Token by clicking on ENABLE.

NOTE: Dynamic tokens must be entered in place of your account password, as many updaters only use clear text. We only allow the use of the token to avoid exposing your password.

6. Click on NEXT.

7. Confirm the changes

NOTE: You may be warned that an A record already exists for the host you are making dynamic. If you are sure you wish to make the record dynamic and stop resolving it to whatever it was before (an existing page or a parked page), simply ignore the warning and confirm the changes.


Setting Up Your System To Use Dynamic DNS

There are a number of different ways to make dynamic updates and they are all dependent on your local setup. They break down into two basic types:

Hardware-Based Options

Many routers have an option to enable dynamic updates. This can be very convenient, as the router is always the first place the IP address change makes itself known. Some of these include easyDNS as one of their options, and you need only select it from the menu they provide. Others allow you to enter the settings for your dynamic server.

Here are the basic parameters you will need:

If your router does not include easyDNS or allow you to enter your own parameters, you will want to use a software-based updater.


Software Based Options

There are dozens or more different options available for software-based dynamic updates. The following are the ones we are currently recommending:

    • Mac Systems
      We currently provide our own custom updater for Mac-based servers (OS 10), which can be downloaded directly from our system:

[easyddns Mac Client for OSX 10.7 and above]

[easyddns Mac Client for OSX 10.6]

[easyddns Mac Client for OSX below 10.6]

  • Linux Systems
    For Linux, Sourceforge provides an excellent update client for Linux called ddclient. One of our clients has written a nice java-based client that runs on Linux and can be downloaded from their project site HERE.

    Note that the ddclient.conf file on older versions may contain server=members.easydns.com which is out of date and incorrect. It should be:
    server=api.cp.easydns.com
    script=/dyn/tomato.php
    Also note that you will need to specify SSL for the connection to our api server as the client will default to no SSL. Thus, the /etc/ddclient.conf file also requires SSL=yes.

    The latest release of ddclient (3.11.1, November 2023) contains the correct api.cp.easydns.com definition. EasyDNS customers attempting to use DDNS on Linux systems may or may not encounter this issue depending on which Linux platform they’re on.

  • Windows Systems
    There’s a very nice piece of software called Dynsite, which continues to be maintained by its creator Noel Danjou. You can download it HERE. For a walkthrough on installing and configuring it, please see the Dynsite tutorial HERE.


easyDNS Dynamic DNS Client Specifications V1.3

The following is what you need to know to code a Dynamic DNS client for use with easyDNS. Giving credit where credit is due, the protocol used below was adapted from the format used at dyndns.org.

After evaluating various approaches out there, we felt theirs was the simplest and most straightforward. However, there are some differences such as the back _mx parameter which has a different meaning to our system.

If you code a completely generic client and follow the specification below, you can perform dynamic DNS updates by executing a GET method request on the following URL:

https://api.cp.easydns.com/dyn/generic.php

You can send the following parameters in the QUERY_STRING of a request, for example:

https://username:dynamictoken@api.cp.easydns.com/dyn/generic.php?hostname=example.com&myip=10.0.0.2

If you do not include the myip parameter, our update script will look to the IP the request originates from and update to that.

If you do code a client for easyDNS, please email our support team so we can keep you informed of any changes, enhancements, bug fixes etc. Also, please be sure to let us know about your client, which platform it runs on, and where our users can download it so we can add it to our dynamic page.

Parameters

  • hostname
    The full hostname being updated.
  • TLD
    The root domain of your hostname. For example, if your hostname is “example.co.uk” you should set “TLD” to “co.uk”. This field can be omitted in cases of second-level domains like example.com.
  • myip
    The IP address of the client to be updated. Send “0.0.0.0” to set the record to an offline state (sets record to “offline.easydns.com”). If you are behind a firewall or NAT set this to 1.1.1.1 and our system will detect your remote IP for you.
  • MX
    Use this parameter as the MX handler for the domain being updated. It defaults to preference 5.
  • backmx
    Either “YES” or “NO”. If “YES” we set smtp.easydns.com to be a backup mail spool for the domain being updated at preference 100.
  • wildcard
    Either “ON” or “OFF” or “YES”. If “ON” sets a wildcard host record for the domain being updated equal to the IP address specified in “myip”.

Result Codes Are As Follows:

  • NOACCESS or NO_AUTH
    The authentication failed. This not only happens if the username/password is wrong, but also if the request is for a hostname/domain that isn’t under the user’s account.
  • NOSERVICE
    Dynamic DNS is not turned on for this domain. Each domain must have its own DynDNS flag enabled individually (by the user) in their member settings.
  • ILLEGAL INPUT
    Self-explanatory. The client sent data that is outside the allowed set for a DynDNS update.
  • TOOSOON
    Not enough time has elapsed since the last update. You need to wait at least 10 minutes between updates.
  • NOERROR or OK
    Everything works fine.

 

Both IPv4 and IPv6 are supported.

Regarding IPv6/AAAA, for the ‘myip’ parameter in the DYN update call, you can now pass an IPv6 address. Be sure to escape special characters like colons with %3A and forward slashes with %2F as necessary in IPv6 addresses. For example, the IPv6 address 2400:cb00:2049:1::a29f:1835 would be escaped in a DYN update url as &myip=2400%3Acb00%3A2049%3A1%3A%3Aa29f%3A1835

 

Leave a Reply