Dynamic DNS with noip.com

Like I said in the post about installing WordPress, you will probably need a dynamic DNS update client. What does this service do?

Your ISP provider has only so many IP addresses. Not all customers are online at the same time. If you log off and don’t use your internet connection for a bit, and your neighbor logs on, your neighbor may well end up having the IP address you were just using. If you log back on, and your neighbor is still online, you’ll be given an address that is different from the one you had used previously.

That’s all well and good for traffic you originate. However, if someone is trying to reach electricmammal.com, the DNS server needs to match the name to the numerical IP address and then arrange the connection accordingly. If your numerical address is changing all the time (or potentially changing all the time), that’s a problem.

noip.com and its kin make an arrangement with your computer– send us the numerical IP address currently assigned to you by your ISP every few minutes and we’ll make sure the DNS server has the right information. Hosting from a home server would be either impossible or very expensive without such a service.

The update process is most easily managed by your router. noip.com has a great article on how to do this, showing the screens for several different router brands. You must supply your noip username, noip password, and the name of the domain that you’ve registered with noip.

Alas, if you must install an update client on your pi, it’s a little more complicated, but not horrible. The basic article from noip is here.

The recommended code provided in the article does not work, but the following does. the package installed should be arm64.deb, not amd64.deb.

  • wget --content-disposition https://www.noip.com/download/linux/latest
  • tar xf noip-duc_3.3.0.tar.gz
  • cd /home/$USER/noip-duc_3.3.0/binaries && sudo apt install ./noip-duc_3.3.0_arm64.deb

To run the client, use the following line in Terminal:

sudo noip-duc -g example.com --username yourusername --password yourpassword

Better yet, make activation automatic at boot:

Open cron for editing: sudo crontab -e

Choose 1, so you are using the nano editor.

Add the following line at the bottom of the file

@reboot sudo noip-duc -g example.com --username yourusername --password yourpassword

Type control-x, type y, and hit enter.

You will probably need to reboot: sudo reboot