OpenWRT Dynamic DNS

This page describes how to use our Dynamic DNS service with an OpenWRT router.

  1. Create an API key for Dynamic DNS using the API keys page in the control panel.

    It is recommended that you create credentials that only have access to the hostname that you want to update. The screenshot below shows how to create an API key with access to A and AAAA records for

  2. Install the luci-app-ddns and curl packages on your router, either through the web interface or by running:

    opkg install luci-app-ddns curl
  3. Edit /etc/ddns/services and add the following line at the bottom (this should all be on a single line):

    ""     "http://[KEYID]:[SECRET][DOMAIN]"

    If you want to set an IPv6 address, create an additional entry as follows:

    ""     "http://[KEYID]:[SECRET][DOMAIN]"

    Please note that OpenWRT now includes a entry as standard, but this is for DNS API v1, and will not work with the instructions on this page.

  4. Go to the LuCI web interface and browse to the Services->Dynamic DNS tab, and use the following settings:

    Lookup hostname
    The fully-qualified hostname that you wish to update
    IP address version
    Select the address version (you probably want "IPv4-Address").
    DDNS provider (or for IPv6)
    Set to the same as lookup hostname.
    The username for your API key
    The secret for your API key
    Use HTTP Secure
    Check this box if your router has SSL support
  5. Make sure the service is enabled, hit Save and Apply and then either reboot your router, or force the event interface down and up.


It should be possible to avoid the need to create a separate "" service by using the "force IP version" setting on the advanced tab, and an API hostname of "", but this does not appear to work (tested in OpenWRT 19.07).