I have changed my DNS provider to OpenDNS. I have been using CloudFlare DNS and have nothing but praise for its speed and stability. However, with kids in the house, I need the additional network filtering and site-blocking that OpenDNS can deliver.

For OpenDNS to work it needs to be kept abreast of my home’s IP address. My ISP doesn’t provide1 a static IP. While my dynamic IP doesn’t change often, any change that does occur prevents the OpenDNS filtering from working. What’s more, it’s a non-visible problem. There are no error messages that pop up alerting of a problem. The filtering just stops working.

OpenDNS know this. They offer an app that runs in the background to monitor and update the OpenDNS service with the current dynamic IP address. However, that app isn’t nice. What’s more, I don’t like the idea of the network filtering being dependent on a laptop device that might not always be available on the network to perform the update.

Enter Raspberry Pi

I have a Raspberry Pi that provides ad-blocking throughout my home network with the brilliant Pi-Hole. Given it’s already important role in my network configuration, I decided the Pi should also be responsible for monitoring any changes to my dynamic IP address.

A bit of research led me to discover that ddclient was the tool for the job. It’s not installed by default on the Pi, but can be installed through the GUI package manager or on the terminal with:

sudo apt-get install ddclient

Once installed, I progressed to follow this solid step-by-step guide on how to configure ddclient with OpenDNS.


The end result is that I now have ddclient running as a daemon process on the Raspberry Pi. It launches upon reboot and checks my IP address every 1 hour.

The best part is that I don’t have to run the very ordinary OpenDNS Updater app on my Mac.

  1. That is, I’m too cheap to pay for.↩︎