This tutorial is aimed for users with a dynamic IP, and a DNS host that does not support DynDNS. Basically, we will push our new IP every time that it changes. The steps outlined in this tutorial will work with the providers listed in Apache’s documentation, but I have only actually tested with Rackspace.


  1. First, we will need to install Python and its package manager
    # Debian/Ubuntu/Vyatta/EdgeOS
    sudo apt-get install python python-setuptools
    # RedHat/CentOS/Fedora
    sudo yum install python python-setuptools
  2. Now we install Apache’s Libcloud so that we may easily manipulate the remote DNS APIs
    sudo easy_install apache-libcloud
  3. Create this script in /config/scripts/ Modify the values between # Edit Here and # Stop Editing sections.
  4. Add execution bit and create a hard link in dhclient exit hooks directory. These two commands will need to be rerun if you flash the ERL firmware.
    chmod +x /config/scripts/ &&
    ln -s /config/scripts/ /etc/dhcp3/dhclient-exit-hooks.d/dyndns
  5. Run the script in order to update DNS and verify that everything will work correctly
    {{{ lang=bash