How to use ddclient with No-IP

A while back I wrote a tutorial on setting up No-IP’s dynamic DNS client on Debian, which is kind of a chore. Anyway recently I found that you can use ddclient, a dynamic DNS client included in the Debian repositories, to update your No-IP domains. Obviously the advantage to using ddclient is that the package is maintained on a regular basis and gets updated with aptitude like all the other packages on a Debian installation unlike No-IP’s client where you have to download a new package every time and build it manually.

So let’s get started. The first thing you’ll need to do is install ddclient as in the following command.

sudo apt-get install ddclient

Once that’s done you’ll need to open up the configuration file with a text editor.

sudo nano /etc/ddclient.conf

And lastly you’ll want to add the following to it.

use=web,, web-skip='IP Address'


The first line in the config tells ddclient that it needs to use a website to fetch your machine’s external IP address, since this is what we want to update our DNS record to. The block after that tells it the information that it needs to connect to No-IP. Obviously replace your_username and your_password with your No-IP credentials and then replace with the name of your domain that you’re updating.

After that’s done, save the file and then restart ddclient.

sudo service ddclient restart

And there you go, within a few minutes ddclient should initiate a dynamic DNS update with No-IP. If things don’t appear to be working correctly then open up /var/log/syslog (this is where ddclient logs to by default) and you should see any messages/errors that it has logged.

  • Raúl Salinas Monteagudo

    In order not to depend on DynDNS’s IP discovery service, we should use “” instead of

  • benjamin

    the server is without a hyphen, otherwise it didn’t work for me. Great article though!

  • does work with ddclient but DONT skip ip address!!

    my settings:
    ## No-IP (

    I get:

    ddclient -daemon=0 -query (as root)

    use=if, if=enp0s25 address is NOT FOUND
    use=if, if=enp7s2 address is
    use=if, if=lo address is
    use=web, web=dnspark address is
    use=web, web=dyndns address is
    use=web, web=loopia address is
    use=web, address is = is my ip address 🙂

    other tip:
    here’s how to update no-ip using http request
    if you use “wget” your REAL ip address will be saved to a text file
    (use a empty folder for safety

    • Jonny

      Hi, can you elaborate on the last part of what you said please? I’ve installed ddclient on my Pi and got it set up as per the article but it’s not updating no-ip whenever the outward facing IP address changes.

  • bolepl bolepl

    my config works only like this…

    use=web, web=, web-skip=”

    • PapiMigas

      Thank you!!!!! It works!

  • cwchen123

    Thanks for this post. I can connect to my home server now.