Dynamic Dns - Force an update to the provider



  • I have noticed, lately, that I am getting emails from no-ip to manually update my record before my account gets deleted. I have all my info set up in the dyndns updater in pfsense and it can see in the syslog where it runs an "update/check" every morning at 1:01am. However this does not actually update my dns entry with no-ip. I have to go to Services -> Dynamic DNS -> edit information and force an update from the next page to get the update to actually update my record with no-ip.

    I'm wondering if someone knows what command is run, when the "force update" button is pressed from the dyndns updater. I would like to create a cron job so that the the record is actually updated rather than just checked because no one likes being bothered with unnecessary emails.

    this is what the syslog displays when the cron job is run at 1:01 to update/check the current record

    "
    Sep 10 01:01:00 pfSense php-cgi: rc.dyndns.update: phpDynDNS (xxxxxx.noip.me): No change in my IP address and/or 25 days has not passed. Not updating dynamic DNS entry.
    "

    when i run the force update from within the dyndns update this is whats displayed in the syslog

    "
    Sep 10 01:04:46 pfSense check_reload_status: Syncing firewall
    Sep 10 01:04:46 pfSense php-fpm[82265]: /services_dyndns_edit.php: Dynamic DNS noip-free (xxxxxx.noip.me): Processing dummy update on No-IP free account. IP temporarily set to 192.168.1.1
    Sep 10 01:04:46 pfSense php-fpm[82265]: /services_dyndns_edit.php: phpDynDNS: updating cache file /conf/dyndns_wannoip-free'xxxxxx.noip.me'0.cache: xxx.xxx.xx.xx
    Sep 10 01:04:46 pfSense php-fpm[82265]: /services_dyndns_edit.php: phpDynDNS (xxxxxx.noip.me): (Success) DNS hostname update successful.
    Sep 10 01:04:57 pfSense php-fpm[82265]: /services_dyndns_edit.php: phpDynDNS: updating cache file /conf/dyndns_wannoip-free'xxxxxxx.noip.me'0.cache: xxx.xxx.xx.xx
    Sep 10 01:04:57 pfSense php-fpm[82265]: /services_dyndns_edit.php: phpDynDNS (xxxxxx.noip.me): (Success) DNS hostname update successful.
    "

    Any help with this is greatly appreciated

    EDIT;

    I am running:

    2.3.2-RELEASE (amd64)
    built on Tue Jul 19 12:44:43 CDT 2016
    FreeBSD 10.3-RELEASE-p5

    Also i have found that removing the cached IP file,  located in /cf/conf/, before running /etc/rc.dyndns.update will force it to update the record. I'm sure this is not the proper way to do this but it works.

    Please let me know if you have a better way at forcing an update to dyndns provider



  • Dynamic DNS under pfSense will force an update every 25 days if the IP address doesn't change… hence this line in the log file:

    Sep 10 01:01:00 pfSense php-cgi: rc.dyndns.update: phpDynDNS (xxxxxx.noip.me): No change in my IP address and/or 25 days has not passed. Not updating dynamic DNS entry.

    If your DDNS provider requires an update to be more frequent, even if the address hasn't changed, then you might open a feature request to allow a changeable setting for DDNS updates, for providers that need more frequent updates.

    The alternate solution is to edit the DDNS entry, then click the Save and Force Update button. No need to delete files or delete the DDNS entry.