New ISP, Dynamic DNS is not updating
-
Greetings,
I recently moved from Comcast (WAN:DHCP) to Fidium Fiber (WAN:PPPoE).
I have a DDNS setup for Google Domains. After the changeover, pfSense will not update the DDNS at Google.
The logs show the following:
Feb 5 14:27:36 php-fpm 337 /services_dyndns_edit.php: phpDynDNS (xxxxxxxxxx): (Unknown Response) Feb 5 14:27:36 php-fpm 337
I get the unknown response error and have searched all over for the answer.
The last troubleshooting step that I have done:
- Removed the Google Domains DDNS entry
- Removed the pfSense DDNS entry
- Created a new Google Domains DDNS (same name record as before)
- Created a new pfSense DDNS entry
- Copied the Google Domain credentials into Notepad++ (to ensure no extra spaces were added)
- Paste credentials from Notepad++ into pfSense DDNS entry and saved
The error above is the same since this issue started.
I'm not seeing authentication errors like others in the forums have experienced. I even deliberately inputted the username incorrectly, the error is the same. This leads me to believe the request is not making it to Google.Any assistance would be greatly appreated. Thanks in advance.
-
@glonch
Some additional notes:I have a friend on the same ISP and pfSense and his 5 DDNS Google Domain addresses updated without issue when he switched
I turned on DDNS verbose logging (read bottom to top):
Feb 5 15:49:57 php-fpm 337 /services_dyndns_edit.php: phpDynDNS ([redacted]): (Unknown Response) Feb 5 15:49:57 php-fpm 337 Feb 5 15:49:57 php-fpm 337 /services_dyndns_edit.php: Dynamic DNS googledomains ([redacted]): _checkStatus() starting. Feb 5 15:49:57 php-fpm 337 Feb 5 15:49:57 php-fpm 337 /services_dyndns_edit.php: Response Header: Feb 5 15:49:57 php-fpm 337 /services_dyndns_edit.php: Response Header: Feb 5 15:49:57 php-fpm 337 /services_dyndns_edit.php: Response Header: vary: Accept-Encoding Feb 5 15:49:57 php-fpm 337 /services_dyndns_edit.php: Response Header: accept-ranges: none Feb 5 15:49:57 php-fpm 337 /services_dyndns_edit.php: Response Header: alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43" Feb 5 15:49:57 php-fpm 337 /services_dyndns_edit.php: Response Header: set-cookie: NID=511=[redacted]; expires=Sun, 07-Aug-2022 20:49:57 GMT; path=/; domain=.google.com; HttpOnly Feb 5 15:49:57 php-fpm 337 /services_dyndns_edit.php: Response Header: x-content-type-options: nosniff Feb 5 15:49:57 php-fpm 337 /services_dyndns_edit.php: Response Header: x-xss-protection: 0 Feb 5 15:49:57 php-fpm 337 /services_dyndns_edit.php: Response Header: server: ESF Feb 5 15:49:57 php-fpm 337 /services_dyndns_edit.php: Response Header: p3p: CP="This is not a P3P policy! See g.co/p3phelp for more info." Feb 5 15:49:57 php-fpm 337 /services_dyndns_edit.php: Response Header: date: Sat, 05 Feb 2022 20:49:57 GMT Feb 5 15:49:57 php-fpm 337 /services_dyndns_edit.php: Response Header: expires: Mon, 01 Jan 1990 00:00:00 GMT Feb 5 15:49:57 php-fpm 337 /services_dyndns_edit.php: Response Header: pragma: no-cache Feb 5 15:49:57 php-fpm 337 /services_dyndns_edit.php: Response Header: cache-control: no-cache, no-store, max-age=0, must-revalidate Feb 5 15:49:57 php-fpm 337 /services_dyndns_edit.php: Response Header: content-type: text/html; charset=utf-8 Feb 5 15:49:57 php-fpm 337 /services_dyndns_edit.php: Response Header: HTTP/2 400 Feb 5 15:49:56 php-fpm 337 /services_dyndns_edit.php: Dynamic DNS googledomains ([redacted]): _update() starting. Feb 5 15:49:56 php-fpm 337 /services_dyndns_edit.php: Dynamic DNS ([redacted]): running get_failover_interface for wan. found pppoe1 Feb 5 15:49:56 php-fpm 337 /services_dyndns_edit.php: Dynamic DNS googledomains ([redacted]): xxx.xxx.xxx.xxx extracted from local system. Feb 5 15:49:56 php-fpm 337 /services_dyndns_edit.php: Dynamic DNS: updatedns() starting
-
@glonch Same thing going on for me with google dns. The 2nd line from the bottom has the new, correct IP for me, but getting the same "unknown response". I haven't changed ISP's, guessing something on the google side.
-
It's so odd - as stated, my friend has the same setup with pfSense/Google Domains and all is working without intervention. Thanks for replying
-
@glonch For now I've switched to my current IP (usually pretty stable). I'd definitely like to get back to dynamic, but don't have the time to futz with it right now. If you have any luck I'd be glad to hear about it and get switched back.
-
So... looks like I figured it out with the help of a 7-year-old post....
https://ttlequals0.com/2015/03/24/google-domains-dynamic-dns-on-pfsense/
I changed the Service Type to Custom, filled in the username/password, and added this URL:
https://domains.google.com/nic/update?hostname=[redacted]
And it worked! Not sure why I had to do this vs my friend with the same setup that didn't need to do any changes, but I'll take it.
-
@glonch Worked like a charm! Thanks for sharing your solution!
-
Wow
Thanks for this, my setup just stopped working today. no changes what so ever my end.
This fixed it!
Thanks
-
@glonch said in New ISP, Dynamic DNS is not updating:
https://domains.google.com/nic/update?hostname=[redacted]
Wasted 24-hours of my life trying to google(!) this and getting nowhere. Should have come straight here to the forum. Worked perfectly. Thank you.
-
@glonch Still got the same problem with google domains. Your solution worked for me. It is strange this day we still have this bug... Thank you
-
Blarg. I noticed there was a patch file being applied to this stuff and thought I would poke around a little.
Turns out if I modify /etc/inc/dyndns.class a little I can get the "googledomains" working again. I already have the "patchfile" package added from Package Manager, so I'm going to add my own custom patchfile, and keep using googledomains.. until the update breaks it.
existing patchfile
/usr/local/pkg/patches/b5360f49fb3c1fdc36ebf13c20b68d4ff1e15fe6.patch
My patchfile https://gist.github.com/therevoman/cc986a390bb08255d4119903f734f22d
: diff -u /home/backup/etc/inc/dyndns.class /etc/inc/dyndns.class
--- a/src/etc/inc/dyndns.class 2022-10-21 22:11:05.836183000 +0000
+++ b/src/etc/inc/dyndns.class 2022-10-26 19:13:32.756072000 +0000
@@ -1209,11 +1209,11 @@
$post_data['hostname'] = $this->_dnsHost;
$post_data['myip'] = $this->_dnsIP;
$post_data['offline'] = 'no';-
$server = "https://domains.google.com/nic/update";
-
$server = "https://domains.google.com/nic/update?hostname=" . $this->_dnsHost; $port = "";
-
curl_setopt($ch, CURLOPT_URL, 'https://domains.google.com/nic/update');
-
curl_setopt($ch, CURLOPT_URL, 'https://domains.google.com/nic/update?hostname=' . $this->_dnsHost); curl_setopt($ch, CURLOPT_USERPWD, $this->_dnsUser . ':' . $this->_dnsPass);
-
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
-
#curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); break; case 'dnsmadeeasy': $needsIP = TRUE;
-