Please restart the DDNS service on the VPN server side, many users have verified that this method resolves the DDNS issue. If this doesn’t work, please send me your DDNS domain via private message.
I like your idea of using a backup config file that doesn't use the DDNS. May have to make one for myself. I just need to see how often my public IP is rotated though.
To avoid setting up static IP addresses in the future, you might want to consider setting up a second DDNS server. This way, your users can still access your servers using the secondary name.
I personally use FreeDNS since it's free, very stable, and the scripts to keep it updated are straightforward. I update the DDNS record initially on boot via /etc/rc.local
, and then hourly using cron.
This setup has been rock solid for me for over 10 years.
I can highly recommend the paid service No-IP: Use Remote Access and DDNS to Easily Connect to Your Internet Connected Devices From Anywhere, Anytime because you can create one big account (yours) and then create additional hosts (and credentials) for every DDNS you want to use.
It's the same service we use for our customers as a Managed Service Provider.
As a bit of good news from this. I understand from the GL folks that they're going to look into moving the NS2 onto separate infrastructure to provide some redundancy for at least the DDNS resolution in the future.
Is there a way to stop logging glddnsv6 error?
Log file is full of this lines:
Sat Dec 7 09:13:42 2024 user.warn ddns-scripts[13985]: glddnsv6: Get registered/public IP for 'xxxx.glddns.com' failed - retry 51/0 in 60 seconds
Sat Dec 7 09:14:42 2024 user.warn ddns-scripts[13985]: glddnsv6: NO valid IP found
Sat Dec 7 09:14:42 2024 user.warn ddns-scripts[13985]: glddnsv6: Get registered/public IP for 'xxxx.glddns.com' failed - retry 52/0 in 60 seconds
Sat Dec 7 09:15:43 2024 user.warn ddns-scripts[13985]: glddnsv6: NO valid IP found
Sat Dec 7 09:15:43 2024 user.warn ddns-scripts[13985]: glddnsv6: Get registered/public IP for 'xxxx.glddns.com' failed - retry 53/0 in 60 seconds
Sat Dec 7 09:16:43 2024 user.warn ddns-scripts[13985]: glddnsv6: NO valid IP found
Sat Dec 7 09:16:43 2024 user.warn ddns-scripts[13985]: glddnsv6: Get registered/public IP for 'xxxx.glddns.com' failed - retry 54/0 in 60 seconds
Sat Dec 7 09:17:43 2024 user.warn ddns-scripts[13985]: glddnsv6: NO valid IP found
Sat Dec 7 09:17:43 2024 user.warn ddns-scripts[13985]: glddnsv6: Get registered/public IP for 'xxxx.glddns.com' failed - retry 55/0 in 60 seconds
Will IPv6 DDNS work again?
Can you restart the ddns feature and give the log to me, the IPv6 DDNS should worked again now
One way is that using our cloud so that you can find the IP of the router and change your vpn endpoint manually.
I confirm, IPv6 DDNS is working again after a new restart to gl_ddns service.
Thank you
I'm one for two on DDNS restart.
I have a Brume 2 at another city that is using the same internet service provider as a Flint 2 here. I restarted the DDNS on both and the Brume 2 registered fine and is working, but the Flint 2 still does not work. So I rebooted the Flint 2 and the internet service provider’s modem that it’s connected to, but still the Flint 2 DDNS is not working.
I disabled DDNS on the Flint 2 and plan to wait a while before reenabling it to see if that resolves anything.
UPDATE: I left DDNS disabled for 30 minutes, but still after reenabling it the Flint 2 (v4.6.8) is not registering.
Would you mind reset your router and try it again first? Or you could directly pm your device info to me if you want to keep your config of device. We need to check the log of this device
This time I pulled the power cord from the Flint 2 and plugged it back in, but still DDNS is not working.
I see this being logged when I disabled/reenabled DDNS.
"user.err ddns-scripts[30567]: glddns: IP update not accepted by DDNS Provider"
Did you modify anything around the DDNS process in the past?
And: Is your timesetting correct?
@clannad I'm having a similar issue to the above on some of my client's devices. Today I'm working on one that has both a Flint2 and Brume2 VPN servers, and a Slate AX client.
The Brume2 DDNS started working fine again after a restart, but I've restarted the Flint2 DDNS several times and am still getting these errors (small redactions). Please note the line that says "182039 ERROR : IP update not accepted by DDNS Provider". The IP is a normal residential IP on Virgin UK ISP. Interesting enough the Brume2 is also on Virgin UK at another location and updating fine.
*********** ************** ************** **************
PID '21909' started at 2024-12-07 18:20
ddns version : unknown
uci configuration:
gl_ddns.glddns.check_interval='10'
gl_ddns.glddns.check_unit='minutes'
gl_ddns.glddns.domain='qh5733a.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='qh5733a.glddns.com'
gl_ddns.glddns.param_enc='qh5733a'
gl_ddns.glddns.password='***PW***'
gl_ddns.glddns.service_name='glddns.com'
gl_ddns.glddns.username='XXXXXXXX'
gl_ddns.glddns=service
verbose mode : 0 - run normal, NO console output
check interval: 600 seconds
force interval: 3600 seconds
retry interval: 60 seconds
retry max count : 0 times
No old process
last update: 2024-12-06 05:21
Detect registered/public IP
#> lua /usr/lib/gl_ddns/get_ddns_registered_ip.lua >/var/run/ddns/glddns.dat 2>/var/run/ddns/glddns.err
NO valid IP found
Starting main loop at 2024-12-07 18:20
Detect current IP on 'web'
#> /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'
Current IP '86.10.43.214' detected on web at 'http://checkip.dyndns.com'
Update needed - L: '86.10.43.XXX' <> R: ''
parsing script '/usr/lib/gl_ddns/get_ddns_post_cmd.lua'
182039 ERROR : IP update not accepted by DDNS Provider
Waiting 600 seconds (Check Interval)
#> lua /usr/lib/gl_ddns/get_ddns_registered_ip.lua >/var/run/ddns/glddns.dat 2>/var/run/ddns/glddns.err
NO valid IP found
Get registered/public IP for 'qh5733a.glddns.com' failed - retry 2113/0 in 60 seconds
#> lua /usr/lib/gl_ddns/get_ddns_registered_ip.lua >/var/run/ddns/glddns.dat 2>/var/run/ddns/glddns.err
NO valid IP found
Get registered/public IP for 'qh5733a.glddns.com' failed - retry 2114/0 in 60 seconds
I really hope not to find out that GL is filtering IPs that are allowed to be updated from (except private ranges of course). I have clients all over the globe connecting from landline, satellite, mobile, etc. I can't think of any way that filtering would be sensible.
EDIT - I just updated the FW on the Flint2 while I was in there (from 4.6.4 to 4.6.8) and am still getting the same result as above.
I can also confirm that the .dat file being sent is properly formatted:
# cat /var/run/ddns/glddns.dat
<html><head><title>Current IP Check</title></head><body>Current IP Address: 86.10.43.XXX</body></html>
I have not modified anything. I have a very simple setup from factory settings. I change the SSID's for the Wireless, I setup the OpenVPN server with user passwords and enable it, and that's about it since I just wanted WiFi 6 capable router and a two-factor-auth VPN server that the v4 GL.iNet routers provide. The time zone is set correctly and getting the correct local time.
Since you mentioned time, I attempted to change the time zone to my time zone using the GMT plus and minus settings, BUT! When I set it to the minus settings, the time showed plus GMT after applying it. Then I set it to the GMT to a plus setting, the time showed minus GMT after applying. Very STRANGE! Anyway, I selected 'SYNC' which set it back to my time zone automatically.
I also looked at the '/var/run/ddns/glddns.dat' file advised above, and it is showing the correct service provider IP address in the file if that means anything.
We would not restrict certain IPs unless we find that these IPs have a lot of unusual requests to the server.
@clannad - Thank you for confirming this. By way of final update. I logged back into the Flint2 tonight and found the DDNS daemon had just given up trying anymore. The logs were filled with repeating errors as shown below. This time i restarted the client again and it worked on the first try.
I'm wondering if maybe these few devices that were still refusing to update were running into some kind of cached error-state on your server side from the outage that had to expire before working again. Seem the fix is to just wait long enough and then restart the server's DDNS client (again) and then restart the VPN client one more time.
In the meantime, I think for my clients I'm just going to implement a cron job that restarts the gl_ddns client once per hour on the server to protect against it going into a permanent failed state like this in the future.
~# cat /var/log/ddns/glddns.log
#> lua /usr/lib/gl_ddns/get_ddns_registered_ip.lua >/var/run/ddns/glddns.dat 2>/var/run/ddns/glddns.err
#> lua /usr/lib/gl_ddns/get_ddns_registered_ip.lua >/var/run/ddns/glddns.dat 2>/var/run/ddns/glddns.err
NO valid IP found
NO valid IP found
NO valid IP found
Get registered/public IP for 'qh5733a.glddns.com' failed - retry 143/0 in 60 seconds
Get registered/public IP for 'qh5733a.glddns.com' failed - retry 143/0 in 60 seconds
Get registered/public IP for 'qh5733a.glddns.com' failed - retry 143/0 in 60 seconds
#> lua /usr/lib/gl_ddns/get_ddns_registered_ip.lua >/var/run/ddns/glddns.dat 2>/var/run/ddns/glddns.err
#> lua /usr/lib/gl_ddns/get_ddns_registered_ip.lua >/var/run/ddns/glddns.dat 2>/var/run/ddns/glddns.err
#> lua /usr/lib/gl_ddns/get_ddns_registered_ip.lua >/var/run/ddns/glddns.dat 2>/var/run/ddns/glddns.err
NO valid IP found
NO valid IP found
NO valid IP found
Get registered/public IP for 'qh5733a.glddns.com' failed - retry 144/0 in 60 seconds
Get registered/public IP for 'qh5733a.glddns.com' failed - retry 144/0 in 60 seconds
Get registered/public IP for 'qh5733a.glddns.com' failed - retry 144/0 in 60 seconds
#> lua /usr/lib/gl_ddns/get_ddns_registered_ip.lua >/var/run/ddns/glddns.dat 2>/var/run/ddns/glddns.err
#> lua /usr/lib/gl_ddns/get_ddns_registered_ip.lua >/var/run/ddns/glddns.dat 2>/var/run/ddns/glddns.err
#> lua /usr/lib/gl_ddns/get_ddns_registered_ip.lua >/var/run/ddns/glddns.dat 2>/var/run/ddns/glddns.err
NO valid IP found
NO valid IP found
NO valid IP found
EDIT - also contents of .err:
cat /var/run/ddns/glddns.err
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 36 100 36 0 0 54 0 --:--:-- --:--:-- --:--:-- 66
Well, I just tried toggling the DDNS off and back on again on my Flint 2, and this time it finally registered. A 36 hour issue.
You shouldn't do this normally, it's just a bug, and we must fix it in the next firmware version
If it'll get added into FW updates across at least the Flint, Slate, Beryl and Brume models in the near future then I'll hold off on manual hacks. I'll keep an eye out on the FW updates. Thanks again for your responses.