PFsense 2.5.2 not updating DDNS hostname IP for NoIP and DynDNS
-
Hi,
No-IP was working well on 2.4.5 before my firewall suffered a catastrophic hardware failure. I had to reconfigure everything on 2.5.2 since it was the only available image from the official site. The re-setup was well, except for DDNS which I can't get it to work to this day.
Sep 14 12:05:26 php-fpm 340 /services_dyndns_edit.php: Dynamic DNS: updatedns() starting Sep 14 12:05:26 php-fpm 340 /services_dyndns_edit.php: Dynamic DNS noip (xxxxxx.myddns.me): xxx.xxx.xxx.xxx extracted from local system. Sep 14 12:05:26 php-fpm 340 /services_dyndns_edit.php: Dynamic DNS (xxxxxx.myddns.me): running get_failover_interface for wan. found igb0 Sep 14 12:05:26 php-fpm 340 /services_dyndns_edit.php: Dynamic DNS noip (xxxxxx.myddns.me): xxx.xxx.xxx.xxx extracted from local system. Sep 14 12:05:26 php-fpm 340 /services_dyndns_edit.php: Dynamic Dns (xxxxxx.myddns.me): Current WAN IP: xxx.xxx.xxx.xxx Cached IP: 0.0.0.0 Sep 14 12:05:26 php-fpm 340 /services_dyndns_edit.php: DynDns (xxxxxx.myddns.me): Dynamic Dns: cacheIP != wan_ip. Updating. Cached IP: 0.0.0.0 WAN IP: xxx.xxx.xxx.xxx Sep 14 12:05:26 php-fpm 340 /services_dyndns_edit.php: Dynamic DNS noip (xxxxxx.myddns.me): _update() starting. Sep 14 12:05:26 php-fpm 340 /services_dyndns_edit.php: Response Header: Sep 14 12:05:26 php-fpm 340 /services_dyndns_edit.php: Response Data: Sep 14 12:05:26 php-fpm 340 /services_dyndns_edit.php: Dynamic DNS noip (xxxxxx.myddns.me): _checkStatus() starting. Sep 14 12:05:26 php-fpm 340 /services_dyndns_edit.php: phpDynDNS (xxxxxx.myddns.me): PAYLOAD: Sep 14 12:05:26 php-fpm 340 /services_dyndns_edit.php: phpDynDNS (xxxxxx.myddns.me): (Unknown Response)
I had tried this fix (https://redmine.pfsense.org/issues/12021) through System Patch package and manually edit the the dyndns.class file. Both did not fix the issue.
No-IP hostnames are working on my home firewall EdgeRouter6P.
I also started a trial account on DynDNS to see if a different service can solve the issue. But no, the issue is the same - firewall doesn't update the hostname IP.
At this point I am running out of ideas. Last resort is to factory reset the firewall to 2.4.5, but I've seen many have it working after patching the fix as detailed above.
-
I'm using pfSense 2.5.2 CE.
I just created a "pfsense-work.hopto.org" at no-ip. It's a free account.
My pfSense WAN IP is 82.82.82.82.
I used my phone to set some random IP like 92.184.108.24, my phone's IP.
I opened the pfSense DynDNS settings of this "pfsense-work.hopto.org" and did a "Save + Force update".
09-14-2021 08:27:32 /services_dyndns_edit.php: Dynamic DNS noip-free (pfsense-work.hopto.org): _update() starting. 09-14-2021 08:27:33 /services_dyndns_edit.php: Response Header: HTTP/2 200 09-14-2021 08:27:33 /services_dyndns_edit.php: Response Header: server: nginx 09-14-2021 08:27:33 /services_dyndns_edit.php: Response Header: content-type: text/plain; charset=UTF-8 09-14-2021 08:27:33 /services_dyndns_edit.php: Response Header: cache-control: no-cache 09-14-2021 08:27:33 /services_dyndns_edit.php: Response Header: date: Tue, 14 Sep 2021 06:27:34 GMT 09-14-2021 08:27:33 /services_dyndns_edit.php: Response Header: content-length: 20 09-14-2021 08:27:33 /services_dyndns_edit.php: Response Header: 09-14-2021 08:27:33 /services_dyndns_edit.php: Response Header: 09-14-2021 08:27:33 /services_dyndns_edit.php: Response Data: good 82.82.82.82\x0d 09-14-2021 08:27:33 /services_dyndns_edit.php: Dynamic DNS noip-free (pfsense-work.hopto.org): _checkStatus() starting. 09-14-2021 08:27:33 /services_dyndns_edit.php: Dynamic DNS noip-free (pfsense-work.hopto.org): 82.82.82.82 extracted from Check IP Service 09-14-2021 08:27:33 /services_dyndns_edit.php: phpDynDNS: updating cache file /conf/dyndns_wannoip-free'pfsense-work.hopto.org'2.cache: 82.82.82.82 09-14-2021 08:27:34 /services_dyndns_edit.php: phpDynDNS (pfsense-work.hopto.org): (Success) IP Address Changed Successfully! 09-14-2021 08:27:35 notify_monitor.php: Message sent to me@gmail.com OK
noip isn't signalling any errors in my case.
The IP update worked well.It looks like, seeing the absence of any return data (the "Response Header" lines) you, that is pfSense, never managed to contact noip.
[2.5.2-RELEASE][admin@pfsense-work.net]/root: dig pfsense-work.hopto.org +short 92.184.108.212 after : [2.5.2-RELEASE][admin@pfsense-work.net]/root: dig pfsense-work.hopto.org +short 82.82.82.82
-
@gertjan Yes, The response header returned empty. Any way to fix this?
-
@schneizel1208 said in PFsense 2.5.2 not updating DDNS hostname IP for NoIP and DynDNS:
Any way to fix this?
Fixing ?
It works for me.
That is : I use this :That is de free no-ip account.
It works for me == not broken.
Using pfSense 2.5.2 CE. -
@gertjan But it isn't working for me. Any idea why the response header is empty?
-
Not really.
The dyndns scripts use a classic 'curl' call - this simulates a web browser request.
The answer comes back as the return header, that should indicate "Response Header: HTTP/2 200" where "200" means : all ok.
"401", a well error result, indicates : the page you requested doesn't exist on the server.Check the /etc/inc/dyndns.class - line 575 and afterwards.
This is this part of the 'code' where noip and noip-free is handled.This is the URL :
https://dynupdate.no-ip.com/nic/update
To this URL are you added your user credentials.You can use this URL in your browser :
I saw :Keep in mind : if you - or some automated scrypt like dyndns.class, visits dynupdate.no-ip.com to often then that is considered as 'abusive' and your IP is blokced by their firewall. You couldn't connect to "dynupdate.no-ip.com" any more for a while. That would explain your issue.
Use another IP(WAN) and retest https://dynupdate.no-ip.com/nic/update