Dyndns "freeDNS API Version 2 (v6)" not working
-
After the upgrade from 24.11 to latest 25.03-BETA, the Dyndns for IPv6 of type "freeDNS API Version 2 (v6)" is not working anymore, the following error is found in the log:
2025-04-18 20:23:08.602892+02:00 php-fpm 65875 /services_dyndns_edit.php: Dynamic DNS freedns2-v6 (my.custom.domain.tld): _update() ending. 2025-04-18 20:23:08.602877+02:00 php-fpm 65875 /services_dyndns_edit.php: Curl error occurred: Could not resolve host: v6.sync.afraid.org 2025-04-18 20:23:08.602855+02:00 php-fpm 65875 /services_dyndns_edit.php: Dynamic DNS freedns2-v6 (my.custom.domain.tld): _checkStatus() starting. 2025-04-18 20:23:08.602825+02:00 php-fpm 65875 /services_dyndns_edit.php: Response Data: 2025-04-18 20:23:08.602796+02:00 php-fpm 65875 /services_dyndns_edit.php: Response Header: 2025-04-18 20:23:08.599820+02:00 php-fpm 65875 /services_dyndns_edit.php: Dynamic DNS freedns2-v6 (nakedandafraid.p1ng.li): _update() starting. 2025-04-18 20:23:08.556484+02:00 php-fpm 65875 /services_dyndns_edit.php: Dynamic DNS: updatedns() starting
v6.sync.afraid.org does resolve but only to AAAA:
[25.03-BETA][root@pfSense]/root: host v6.sync.afraid.org v6.sync.afraid.org has IPv6 address 2607:f0d0:1e04:74::2
Switching back to type "freeDNS (v6)" solved it.
-
That's likely a temporary issue on the system. Both of those DDNS services perform the same curl request but with different URLs. Something to note is that now DDNS supports sending requests over IPv6 and will prefer it if available unless specifically excluded for a DDNS service. The code effectively does the following which you can test out at Diagnostics > Command Prompt > Execute PHP Commands:
$ch = curl_init(); curl_setopt($ch, CURLOPT_IPRESOLVE, AF_INET6); curl_setopt($ch, CURLOPT_INTERFACE, '2001:db8:ffff:5:5::1'); curl_setopt($ch, CURLOPT_URL, 'https://v6.sync.afraid.org/u/'); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_FORBID_REUSE, true); curl_exec($ch); var_dump(@curl_error($ch));
Replace the IPv6 with yours. Testing that here gives:
HTTP/1.1 404 Not Found Server: nginx Date: Fri, 18 Apr 2025 22:59:02 GMT Content-Type: text/html; charset=UTF-8 Transfer-Encoding: chunked Connection: keep-alive Vary: Accept-Encoding Error 404 : Page not found string(0) ""
This indicates that the FQDN was resolvable. Otherwise it prints e.g.:
string(45) "Could not resolve host: v6.example.afraid.org"
-
@marcosm said in Dyndns "freeDNS API Version 2 (v6)" not working:
That's likely a temporary issue on the system
Thanks for the quick response! You think it's a temporary issue on my system or on their end?
Running the above commands indeed works (adding the token to the CURLOPT_ULR) and returns
No IP change detected for my.custom.tld with IP 2a02:168:something::something, skipping update string(0) ""
(switched back and it does not work, same error. Since I now know that the above code works, I'll check what is set and if/how it differs)
-
I think it's a local issue. Does the code work with both IPv4 and IPv6 (set the first line to
AF_INET
for IPv4)? -
@marcosm said in Dyndns "freeDNS API Version 2 (v6)" not working:
I think it's a local issue. Does the code work with both IPv4 and IPv6 (set the first line to AF_INET for IPv4)?
Yes, I do have setup one for IPv4 and one for IPv6, both were working on 24.11 for some time. The issue with IPv6 started after the upgrade to 25.3-BETA.
Parallel there are two (one IPv4 and one IPv6) setup for duckdns.org using the Custom/Custom v6 service, which are running fine too.