Dynamic DNS For Home Serving With No-IP

Got a pcDuino3S running Linaro 12.07 [Linux] set up to run the No-IP dynamic DNS update client (DUC). These details should also work for a home server running Ubuntu or Lubuntu.

No-IP is a provider of Domain Name (DNS) services, and they have a free tier which you can use to dynamically map a domain name host to your home server’s external IP address.

Begin by registering a new No-IP account and signing up for the free service: https://www.noip.com/sign-up
Get the new account confirmation email and validate your email address/account.

Log in with your new account. Check that the hostname(s) you want are added: https://www.noip.com/members/dns/
Modify your host and set the IP address to one which is definitely not the external IP address to your home. This way you will know that the DUC is working because it will have updated your host’s IP address to be correct.

If you want to serve web content outside of your local network without using the default port 80, then you can modify an added domain to be a port 80 redirect instead of DNS Host (A) record. This means that when an external/remote computer/client tried to access your dynamic hostname on port 80 (i.e. the default port a web browser will try to use), then your server will receive that traffic on whichever port you specify (e.g. 8080) instead of on port 80.

Now you can follow the guide:
Why the /usr/local/src/ directory? See: What is the “/usr/local/src” folder meant for?

Running the configuration utility (which also happens automatically when you execute ‘make install’) will ask you for an Internet interface, your No-IP login information, the host(s) you want to update (unless you only have a single host registered to your account in which case that one is automatically selected for you), an update interval with a default of [30] (which I assume is denominated in minutes), and finally the option to specify a script/program to run after a successful IP update.

You can rerun the configuration utility if you need to:

/usr/local/bin/noip2 -C

* If you try to re-run the configuration utility while the No-IP DUC is running, then a warning will be issued containing the process identifier (PID).

Start the No-IP DUC running as a background task:


Go to your information the No-IP website and check that host target has been correctly, successfully updated to be your external IP address.

Alternately, you can check the current IP your host resolves to using nslookup if you don’t want to visit the No-IP website.

nslookup www.noip.com

If you do not have nslookup currently available, get it with:

sudo apt-get install dnsutils

If you need to, you can find the No-IP DUC and stop its process:
Show All Running Processes in Linux

ps aux | grep noip

or if its name gets changed then try

ps aux | less

* ‘q’ gets you out of less.
Kill Process in Linux or Terminate a Process in UNIX / Linux Systems

kill #pid#

Optionally, you can create a simple bash script to log successful No-IP DUC updates.

nano ~/noiplogger.sh

with the one line of content:

echo $(date) " ===  successful No-IP update" >> /var/log/noipduc.log


Leave a Reply