Dynamic DNS not updating on GW failure (bug?)



  • Hi! I have recently noticed a problem, at least on 2.3.4

    I have DynDNS service configured to monitor a GW group with different tiers. When the first tier fails, the DynDNS is not automatically updated, the log only shows this:

    Jul 20 08:52:46 pfsensecnt check_reload_status: updating dyndns Telecom
    Jul 20 08:52:46 pfsensecnt check_reload_status: Restarting ipsec tunnels
    Jul 20 08:52:46 pfsensecnt check_reload_status: Restarting OpenVPN tunnels/interfaces
    Jul 20 08:52:46 pfsensecnt check_reload_status: Reloading filter
    Jul 20 08:52:47 pfsensecnt php-fpm: /rc.dyndns.update: MONITOR: Telecom is down, omitting from routing group LoadBalance 8.8.4.4|XXX.XXX.XXX.XXX|Telecom|6.973ms|0.102ms|24%|down
    

    In contrast, this is what happens when I manually mark a gateway as down on the routing page (the update succeds):

    Jul 24 13:56:19 pfsensecnt check_reload_status: Updating all dyndns
    Jul 24 13:56:20 pfsensecnt php-fpm[88888]: /rc.dyndns.update: MONITOR: Telecom is down, omitting from routing group LoadBalance 8.8.4.4|XXX.XXX.XXX.XXX|Telecom|10.104ms|0.101ms|0.0%|force_down
    Jul 24 13:56:20 pfsensecnt php-fpm[88888]: /rc.dyndns.update: Dynamic DNS: updatedns() starting
    Jul 24 13:56:20 pfsensecnt php-fpm[88888]: /rc.dyndns.update: Dynamic DNS dyndns-static (XXX.dyndns.org): XXX.XXX.XXX.XXX extracted from local system.
    Jul 24 13:56:20 pfsensecnt php-fpm[88888]: /rc.dyndns.update: Dynamic DNS (XXX.dyndns.org): running get_failover_interface for TelecomFailover. found bge1_vlan2
    Jul 24 13:56:20 pfsensecnt php-fpm[88888]: /rc.dyndns.update: Dynamic DNS dyndns-static (XXX.dyndns.org): XXX.XXX.XXX.XXX extracted from local system.
    Jul 24 13:56:20 pfsensecnt php-fpm[88888]: /rc.dyndns.update: Dynamic Dns (XXX.dyndns.org): Current WAN IP: XXX.XXX.XXX.XXX Cached IP: YYY.YYY.YYY.YYY
    Jul 24 13:56:20 pfsensecnt php-fpm[88888]: /rc.dyndns.update: DynDns (XXX.dyndns.org): Dynamic Dns: cacheIP != wan_ip. Updating. Cached IP: YYY.YYY.YYY.YYY WAN IP: XXX.XXX.XXX.XXX
    Jul 24 13:56:20 pfsensecnt php-fpm[88888]: /rc.dyndns.update: Dynamic DNS dyndns-static (XXX.dyndns.org): _update() starting.
    Jul 24 13:56:21 pfsensecnt php-fpm[88888]: /rc.dyndns.update: Dynamic DNS dyndns-static (XXX.dyndns.org): _checkStatus() starting.
    Jul 24 13:56:21 pfsensecnt php-fpm[88888]: /rc.dyndns.update: Dynamic DNS dyndns-static (XXX.dyndns.org): XXX.XXX.XXX.XXX extracted from local system.
    Jul 24 13:56:21 pfsensecnt php-fpm[88888]: /rc.dyndns.update: phpDynDNS: updating cache file /conf/dyndns_TelecomFailoverdyndns-static'gesinco-openvpn.dyndns.org'0.cache: XXX.XXX.XXX.XXX
    Jul 24 13:56:21 pfsensecnt php-fpm[88888]: /rc.dyndns.update: phpDynDNS (gesinco-openvpn.dyndns.org): (Success) IP Address Changed Successfully!
    

    This has worked at some point in previous versions, but it's been a while since I don't test it (these gateways don't get down very often). I have tested this a couple of times with the same result, when the gateway goes down the OpenVPN, IPsec, routing, etc get updated properly with the new gateway but not the DynDNS service.

    Am I missing something obvious here or this is broken in recent versions? This post for example outlines the very same problem as I am experiencing.

    Best regards.



  • I investigated this in detail and indeed looks like a bug, I created a bug report: #7719