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