Skip to main content

How to Set Up DDNS for UniFi Controller

Rakesh M avatar
Written by Rakesh M
Updated over a week ago

Dynamic DNS (DDNS) provides a consistent domain name for your UniFi controller when you don't have a static public IP address. This is essential for Spotipo captive portal integration, as the system needs a reliable hostname to communicate with your controller even when your ISP changes your public IP address.

This guide walks you through creating a free Duck DNS subdomain and configuring DDNS on your router using either the graphical interface or CLI commands.

What you'll accomplish:

  • Create a free Duck DNS subdomain for your controller

  • Configure DDNS settings on your router

  • Ensure consistent external access to your UniFi controller

  • Enable Spotipo captive portal integration without static IP

What you'll need:

  • Router with DDNS support

  • Duck DNS account (free, sign in with Google/GitHub)

  • Admin access to your router configuration

Why and when to use Dynamic DNS?

For setting up a Spotipo captive portal with UniFi controllers, Dynamic DNS is necessary if you don't already own a Static public IP address or domain. It allows you to create a domain name that automatically updates to reflect your current public IP address, ensuring that the UniFi controller can be accessed externally even when the public IP changes.

How to get a DDNS subdomain?

For our application, we recommend using Duck DNS if you don't have experience with other tools, because it is free and easy to use. If you prefer another DDNS provider, that's fine too—just ensure the DDNS settings are correctly configured in your router. We will only provide configuration instructions for Duck DNS, as settings may differ with other providers.

Using Duck DNS

First, you need to sign in to Duck DNS. You can do that with any option available (Google, GitHub, etc.)

Once you sign in, you can enter your sub domain name into the required field. It can be any name you want, as long as it is not taken already.

Duck DNS will provide a token for authentication. This token will be used in the router's DDNS configuration

Configuring Router

Now that you have your subdomain name and token, you can continue with configuring your router.

Graphical User Interface

You need to log in to your router and find DDNS Function there. It is sometimes listed under Dynamic DNS, DNS, Remote Access, Hostname, etc. (varies by router).

From there, you need to configure a couple of settings.

Make sure that the service provider is dyndns.

Most importantly, Duck DNS doesn't use classic User Name/Password combination, rather, it uses Token as authentication.

If your router asks for User Name/Password combination, leave the user name field blank and enter token number in the password field.

If the user name is mandatory as in the picture below, place token information in that field instead.

It is also possible that both fields are mandatory. In that case, place token information in both fields.

Example of configuration is shown below.

NOTE: If you are using a different DDNS provider, your configuration will vary. Make sure to check configuration settings from your DDNS provider's site.

CLI Based Interface (Cisco IOS example)

enable  
configure terminal! Define the DDNS update method  
ip ddns update method duckdns  
 HTTP  
  host http://domainname.duckdns.org  
  path /update?domains=<your_domain>&token=<your_token>&ip=  
  port 443  
  use-vrf default  
  add-header "Host: domainname.duckdns.org"  
 exit! Configure the DDNS settings under the interface  
interface <Your_Interface>  
 ip address dhcp  
 ip ddns update hostname domainname.duckdns.org  
 ip ddns update duckdns! Save the configuration  
end  
write memory

NOTE: Replace "domainname" part of address with your own domain name.

Verify the Configuration

Check that the DDNS is active and working.

DDNS Now Configured

After setting up your Duck DNS subdomain and configuring DDNS on your router, your controller is accessible via a consistent domain name regardless of IP changes. Verify the configuration is working before proceeding with Spotipo setup.

What to do next:

  • Verify DDNS is updating correctly in Duck DNS dashboard

  • Use your subdomain (yourdomain.duckdns.org) when configuring Spotipo

  • Test external access to ensure the domain resolves to the current IP

Authentication tip: Duck DNS uses a token instead of username/password. If your router requires both fields, enter the token in the password field (leave username blank if possible, or enter token in both fields if both are mandatory).

Still having trouble with DDNS setup? Contact Spotipo support via live chat or email us at [email protected].

Did this answer your question?