How to: Configure a Dynamic DNS Client (DDClient) with NameCheap?

How to: Configure a Dynamic DNS Client (DDClient) with NameCheap?

Recently I came across a new set of DNS service providers that offer Dynamic DNS services (for free!) One that I ended up really liking was NameCheap. They have a nice user interface, and what’s best is that you can use your own domain name with them and they’ll provide Dynamic DNS services to you for for free! Obviously the free service is not top of the line, but as far as free is concerned and their ability to customize the DNS name, I am sold. Downside is that you need a domain name, which really for most of us that’s not really an issue nowadays. Now you may ask, why are you writting about this? Well, I had to set up this service and I really had no clue what to enter in the different fields my router was asking for. So I went ahead and did some research to figure out how to get this new service to work


How do I configure DDClient?

The following is the format of configuring ddclient.

use=web, web=dynamicdns.park-your-domain.com/getip
protocol=namecheap
server=dynamicdns.park-your-domain.com
login=yourdomain.com
password=your dynamic dns password
yourhost

Here is the example of its usage. If you would like to setup dynamic dns for yourdomain.com (without www), then following is its configuration:

use=web, web=dynamicdns.park-your-domain.com/getip
protocol=namecheap
server=dynamicdns.park-your-domain.com
login=yourdomain.com
password=1b9aafgfgjh1865e024fabb629dbd1d9c462
@

If you need to dynamically update a subdomain then you need to subsititute host as subdomain. To dynamically update the domain itself (yourdomain.com), you need to replace host with @.


What if I don’t have / want a client?

Well, aren’t you a picky one? Fortunately, there is a simple way to do this if you have a scheduler like cron. Take the following for example/reference:

How do I use the browser to dynamically update host’s IP?

Please substitute appropriate values for host, domain, password and IP:

https://dynamicdns.park-your-domain.com/update?host=[host]&domain=[domain_name]&password=[ddns_password]&ip=[your_ip]

If you want to update an IP address for bare domain (e.g. yourdomain.tld), then you should specify the following details:

Host = @
Domain Name= yourdomain.tld
Dynamic DNS Password = Domain List >> click Manage next to the domain >>Advanced DNS tab >> Dynamic DNS. If it is not enabled, enable it to check the password.
IP Address= an optional value. If you don’t specify any IP, the IP from which you are accessing this URL will be set for the domain.

NOTE: The values for host name and domain must be in lower case. Please make sure your are using your Dynamic DNS password but not the Namecheap account’s one.

In this case the URL will have the following format:

https://dynamicdns.park-your-domain.com/update?host=@&domain=yourdomain.tld&password=e747d77054a844409c486973cb&ip=127.0.0.1

To dynamically update the IP address for a subdomain (test.yourdomain.tld), use test for Host (host=test). To dynamically update it for www.yourdomain.tld, use www for Host: host=www.

TIP: If you don’t want to use any DNS client, you can just bookmark the URL (after substituting proper values) and access it whenever you need to update your IP.

now think of a cron job using curl like so:

@hourly curl “https://dynamicdns.park-your-domain.com/update?host=HOST_NAME_HERE&domain=YOUR_DOMAIN_HERE&password=YOUR_PASSWORD_HERE&ip=`curl -s echoip.com`”

and there you go! The trick here is to use echoip which returns your current ip address (well, the one you are using to access the site.) It is a dependancy on this working but at least this gives you an idea of how you could manually/automatically update your ip address. Hope this helps!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.