Subject: GL-XE300 - DDNS (glddns.com) update succeeds but domain never resolves (NXDOMAIN)
Hello GL.iNet Support Team,
I'm experiencing an issue with the built-in Dynamic DNS service (glddns.com) on my GL-XE300 router running OpenWrt 22.03.4. The client-side update process reports success, but the domain never actually resolves in public DNS.
Summary of the issue:
- DDNS is enabled and configured correctly (verified via UCI config).
- The device has a genuine public WAN IP (confirmed by comparing the IP shown in the router's admin interface with an external "what is my IP" service - both match exactly, no CGNAT).
- The DDNS "Test" feature in the admin UI consistently reports that the DDNS domain's resolved IP does not match the device's WAN IP.
- Querying the domain externally (e.g. via nslookup against 8.8.8.8, or from another device entirely) consistently returns NXDOMAIN - the domain does not exist in public DNS at all.
- This persists even after a modem restart that changed the WAN IP, and after logging into GoodCloud (the device was previously not logged in; logging in did not resolve the issue).
- Running the update script manually with verbose logging shows the client successfully detects the current IP and successfully sends the update, with the server acknowledging it - see log below.
Log output (sensitive identifiers redacted):
--- uci configuration ---
gl_ddns.glddns.check_interval='10'
gl_ddns.glddns.check_unit='minutes'
gl_ddns.glddns.domain='xxxxxxxx.glddns.com'
gl_ddns.glddns.enabled='1'
gl_ddns.glddns.force_interval='60'
gl_ddns.glddns.force_ipversion='1'
gl_ddns.glddns.force_unit='minutes'
gl_ddns.glddns.interface='wan'
gl_ddns.glddns.ip_source='web'
gl_ddns.glddns.ip_url='http://checkip.dyndns.com'
gl_ddns.glddns.lookup_host='xxxxxxxx.glddns.com'
gl_ddns.glddns.param_enc='xxxxxxxx'
gl_ddns.glddns.password='XXXXXXXXXXXXXXXX'
gl_ddns.glddns.service_name='glddns.com'
gl_ddns.glddns.username='XXXXXXXXXXXX'
gl_ddns.glddns=service
--- log output ---
112315 : ************ ************** ************** **************
112315 note : PID 'XXXX' started at 2026-08-22 11:23
112315 : ddns version : unknown
112316 : verbose mode : 2 - run once, NO retry on error
112316 : check interval: 600 seconds
112316 : force interval: 3600 seconds
112317 : retry interval: 60 seconds
112317 : retry max count : 0 times
112317 : No old process
112317 : last update: never
112317 : Detect registered/public IP
112317 : #> /usr/bin/nslookup xxxxxxxx.glddns.com >/var/run/ddns/glddns.dat 2>/var/run/ddns/glddns.err
112317 ERROR : BusyBox nslookup error: '1'
112318 :
112318 : Detect registered/public IP
112318 : #> /usr/bin/nslookup xxxxxxxx.glddns.com >/var/run/ddns/glddns.dat 2>/var/run/ddns/glddns.err
112318 ERROR : BusyBox nslookup error: '1'
112318 :
112318 info : Starting main loop at 2026-08-22 11:23
112318 : Detect current IP on 'web'
112318 : #> /usr/bin/curl -RsS --connect-timeout 4 -m 4 -o /var/run/ddns/glddns.dat --stderr /var/run/ddns/glddns.err --noproxy '*' 'http://checkip.dyndns.com'
112319 : Current IP 'X.X.X.X' detected on web at 'http://checkip.dyndns.com'
112320 : Update needed - L: 'X.X.X.X' <> R: ''
112320 : parsing script '/usr/lib/gl_ddns/get_ddns_post_cmd.lua'
112323 info : Update successful - IP 'X.X.X.X' send
112323 info : Forced update successful - IP: 'X.X.X.X' send
112323 : Waiting 600 seconds (Check Interval)
Additional observations:
- The gl-cloud log shows a successful connection to gslb-eu.goodcloud.xyz (connected: true, connection accepted) at the time of the update attempt.
- The client-side update script (dynamic_dns_updater.sh) reports "Update successful" and "Forced update successful" - the failure appears to occur after the server acknowledges the update, likely on the DNS publication side for glddns.com.
- This has been tested and reproduced across two different public WAN IPs (before and after a modem restart), with identical results both times.
Could you please check on your end whether the DDNS registration for my device is actually being processed and published correctly? I'm happy to provide the device's serial number, MAC address, or GoodCloud account details directly if needed for a support ticket, but have omitted them here for privacy reasons.
Thank you for your help.
