DDNS UDM Pro / Unifi Ubiquiti Dream Machine Pro
Many people have reported in the forums that Dynamic DNS / DDNS isn’t working on the Unifi Dream Machine Pro (UDM PRO) which to some extent is true – it’s not working well. The implementation is horrific at best, there’s no guidance as to the format required for any providers, there’s no error handling, no feedback when it fails – and this all leads to a big mess when a novice user tries to set it up and makes even the slightest mistake. Ubiquiti really need to improve this area of the UI and add some error handling.
Investigating your current setup to see what’s wrong:
Currently, the only way you would have any clue why it’s not working would be to SSH to your UDM-Pro (first you have to enable SSH in the UI and configure an SSH password, the login with username: root, and the password you just set) and tail the logs.
tail -100 -f messages | grep inadyn
inadyn is the service handling DDNS for the UDM-PRO so all the error (or success) messages show up under this one.
Now go edit and save your DDNS configuration in the UI and watch the logs. You will likely see something like this show up
Dec 2 09:42:42 ubnt user.notice inadyn[23089]: Update forced for alias xxxxxxx, new IP# xxx.xxx.xxx.xxx
Dec 2 09:42:42 ubnt user.warn inadyn[23089]: Fatal error in DDNS server response:
Dec 2 09:42:42 ubnt user.warn inadyn[23089]: [400 Bad Request] <html>^M <head><title>400 Bad Request</title></head>^M <body>^M <center><h1>400 Bad Request</h1></center>^M </body>^M </html>^M
Dec 2 09:42:42 ubnt user.warn inadyn[23089]: Error response from DDNS server, ignoring ...
Which means your DDNS isn’t correctly configured and the DDNS provider is simply returning an error to the UDM Pro. If this is the case try the tested configurations below for some poplar providers.
Most providers have a dev page that outlines the request format they support usually a simple URL format and you can modify these examples to suit.
Tested Configurations
Note: Replace the red/bold items in the configuration with details specific to your account.
The Dynamic DNS configuration can be found under Gateway > DynamicDNS in the Unifi Network UI
DuckDNS
Service: dyndns
Hostname: your DuckDNS hostname (without “.duckdns.org” i.e. myHostName)
Username: nouser
Password: nopassword
Server: www.duckdns.org/\/update?domains=%h&ip=%i&token=yourDuckDNStoken
DNS-o-Matic / OpenDNS
DNS-o-Matic supports a huge list of other DDNS providers and can be used as a relay. Note the UDM only lets you configure 1 dyndns type provider so if for some reason you wanted to update a number of URLs you’d need to use DNS-o-matic. These are the providers DNS-o-Matic supports:
Afraid.org
ALL_INKL
BroadbandReports
Line Monitoring
ChangeIP
City Network
CloudFlare
ClouDNS
D-Link DDNS
DNSdynamic
DNS Exit
DNS Made Easy
DNS Park
DtDNS
DuckDNS
DynDNS
dyndns:free
DynDNS Service
DynIP
Dynu
EasyDNS
eNom
EntryDNS
FreeDYN.de
Google Domains
hn.org
Hurricane Electric
Loopia
Namecheap
nic.ru
NightOwl DDNS
No-IP
nsupdate.info
ODS
OpenDNS
OVH
Regfish
SecurePoint DDNS
SecuritySpace
selfHOST.de
Sitelutions
STRATO
XName
WorldWideDNS
yDNS
yi.org
ZoneEdit
Service: dyndns
Hostname: all.dnsomatic.com (will update all hosts)
Username: DNS-o-Matic username
Password: DNS-o-Matic password
Server: updates.dnsomatic.com/\/nic/update?hostname=%h&myip=%i
Thanks to eLog_Cowboy for the settings
no-ip (supposedly out of the box)
Service: no-ip
Hostname: your full No-IP hostname (eg myhostname.ddns.net)
Username: your No-IP username
Password: your No-IP password
Server: **leave this blank**
Duckdns should be:
Service: dyndns
Hostname: your DuckDNS hostname (without “.duckdns.org” i.e. myHostName)
Username: nouser
Password: nopassword
Server: http://www.duckdns.org/update?domains=%h&ip=%i&token=yourDuckDNStoken
(note the single / in http://www.duckdns.org/update…..)
Thank you – fixed my ‘noip’ DDNS issue
I set it up for CLOUDNS.NET
Service: dyndns
Hostname: . <–literally a dot
Username: nouser
Password: nopassword
Server: ipv4.cloudns.net/api/dynamicURL/?q=yourCLOUDNStoken
I was able to troubleshoot by running it against the generated configuration file —
/usr/sbin/inadyn -n -s -C –force -f /run/ddns-ppp0-inadyn.conf -1 -l debug –foreground
how quickly does no-ip get updated by the UDMP? Is there a log to tell me the frequency? Am i waiting 24 hours after a ip change, or seconds?