• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login
Netgate Discussion Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login

Dynamic DNS *NOT* Updating "Cached IP"

Scheduled Pinned Locked Moved DHCP and DNS
36 Posts 10 Posters 7.9k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N
    nikolaosinlight
    last edited by nikolaosinlight Nov 28, 2021, 2:58 AM Nov 28, 2021, 2:55 AM

    I have a dual WAN configuration:

    • WAN using DHCP - Cable ISP
    • WAN3 using PPPoE - Fibre ISP

    I have defined a gateway group called: FailoverWAN

    • WAN3 is Tier 1
    • WAN is Tier 2

    When I created 3 Dynamic DNS (1 for each A-Record) on the FailoverWAN the DNS in Namecheap was updated correctly to my WAN3 (Tier 1) IP however all cached IP entries were 0.0.0.0
    Screen Shot 2021-11-27 at 9.36.03 PM.png

    After reading some articles in this forum I found that the 3 corresponding cache files had entries in /cf/conf of form:
    0.0.0.0|<time-in-milliseconds>

    One suggestion was to correct these IP's and all might be well. I did that and hit refresh on the page and Cached IP turned green and there was a checkmark.

    However, then I released the WAN3 IP and connected again and while the IP once again was updated in NameCheap DNS the entries once again appear in red and moreover the cached entries show the old IP address that correspond to the previous IP addresses in red:
    Screen Shot 2021-11-27 at 9.36.03 PM 2.png

    Here are the corresponding logs with 174.91.131.176 being the old IP and 174.91.131.148 the NEW IP....

    Nov 27 21:30:13	php-fpm	354	/rc.newwanip: phpDynDNS (www): PAYLOAD: <?xml version="1.0" encoding="utf-16"?>
    Nov 27 21:30:13	php-fpm	354	<interface-response>
    Nov 27 21:30:13	php-fpm	354	<Command>SETDNSHOST</Command>
    Nov 27 21:30:13	php-fpm	354	<Language>eng</Language>
    Nov 27 21:30:13	php-fpm	354	<IP>174.91.131.148</IP>
    Nov 27 21:30:13	php-fpm	354	<ErrCount>0</ErrCount>
    Nov 27 21:30:13	php-fpm	354	<errors />
    Nov 27 21:30:13	php-fpm	354	<ResponseCount>0</ResponseCount>
    Nov 27 21:30:13	php-fpm	354	<responses />
    Nov 27 21:30:13	php-fpm	354	<Done>true</Done>
    Nov 27 21:30:13	php-fpm	354	<debug><![CDATA[]]></debug>
    Nov 27 21:30:13	php-fpm	354	</interface-response>
    Nov 27 21:30:13	php-fpm	354	/rc.newwanip: phpDynDNS (www): (Unknown Response)
    Nov 27 21:30:14	php-fpm	354	/rc.newwanip: phpDynDNS (@): PAYLOAD: <?xml version="1.0" encoding="utf-16"?>
    Nov 27 21:30:14	php-fpm	354	<interface-response>
    Nov 27 21:30:14	php-fpm	354	<Command>SETDNSHOST</Command>
    Nov 27 21:30:14	php-fpm	354	<Language>eng</Language>
    Nov 27 21:30:14	php-fpm	354	<IP>174.91.131.148</IP>
    Nov 27 21:30:14	php-fpm	354	<ErrCount>0</ErrCount>
    Nov 27 21:30:14	php-fpm	354	<errors />
    Nov 27 21:30:14	php-fpm	354	<ResponseCount>0</ResponseCount>
    Nov 27 21:30:14	php-fpm	354	<responses />
    Nov 27 21:30:14	php-fpm	354	<Done>true</Done>
    Nov 27 21:30:14	php-fpm	354	<debug><![CDATA[]]></debug>
    Nov 27 21:30:14	php-fpm	354	</interface-response>
    Nov 27 21:30:14	php-fpm	354	/rc.newwanip: phpDynDNS (@): (Unknown Response)
    Nov 27 21:30:16	php-fpm	354	/rc.newwanip: phpDynDNS (*): PAYLOAD: <?xml version="1.0" encoding="utf-16"?>
    Nov 27 21:30:16	php-fpm	354	<interface-response>
    Nov 27 21:30:16	php-fpm	354	<Command>SETDNSHOST</Command>
    Nov 27 21:30:16	php-fpm	354	<Language>eng</Language>
    Nov 27 21:30:16	php-fpm	354	<IP>174.91.131.148</IP>
    Nov 27 21:30:16	php-fpm	354	<ErrCount>0</ErrCount>
    Nov 27 21:30:16	php-fpm	354	<errors />
    Nov 27 21:30:16	php-fpm	354	<ResponseCount>0</ResponseCount>
    Nov 27 21:30:16	php-fpm	354	<responses />
    Nov 27 21:30:16	php-fpm	354	<Done>true</Done>
    Nov 27 21:30:16	php-fpm	354	<debug><![CDATA[]]></debug>
    Nov 27 21:30:16	php-fpm	354	</interface-response>
    Nov 27 21:30:16	php-fpm	354	/rc.newwanip: phpDynDNS (*): (Unknown Response)
    Nov 27 21:30:17	php-fpm	354	/rc.newwanip: Resyncing OpenVPN instances for interface WAN3.
    Nov 27 21:30:17	php-fpm	354	/rc.newwanip: Creating rrd update script
    Nov 27 21:30:19	php-fpm	354	/rc.newwanip: Netgate pfSense Plus package system has detected an IP change or dynamic WAN reconnection - 174.91.131.176 -> 174.91.131.148 - Restarting packages.
    Nov 27 21:30:19	check_reload_status	418	Starting packages
    Nov 27 21:30:20	php-fpm	49592	/rc.start_packages: Restarting/Starting all packages.
    Nov 27 21:30:20	php	99723	haproxy: reload old pid:76882
    Nov 27 21:30:20	php	99723	haproxy: started new pid:990
    

    The issues appear to be around the <interface-response> where the response is not understood - but if I look at the response nothing looks off in it (of course nothing obvious)

    Nov 27 21:30:16 php-fpm 354 /rc.newwanip: phpDynDNS (): (Unknown Response)
    

    One last thing - I tried releasing WAN3 and connecting again and the cached IP did not change and once again NameCheap was updated. At this point my primary concern is how to get pfsense to recognize the fact that the IP has changed, and to update to use the cached IP, as I am not sure in some case that the IP simply changes that it will detect the change without having the correct last cached IP to point to.

    ASIDE: I have not masked IPs as they are dynamic and have since been changed.

    Any ideas on how to resolve this issue?

    N 1 Reply Last reply Nov 28, 2021, 3:07 AM Reply Quote 0
    • N
      nikolaosinlight @nikolaosinlight
      last edited by nikolaosinlight Nov 28, 2021, 3:08 AM Nov 28, 2021, 3:07 AM

      I wanted to also add that the cache file milliseconds timestamp has not changed i.e. they are still exactly the same even after the 2nd release and connect despite the fact that NameCheap was updated perfectly fine in both cases:

      174.91.131.176|1638064043

      G 1 Reply Last reply Nov 30, 2021, 10:18 AM Reply Quote 0
      • G
        Gertjan @nikolaosinlight
        last edited by Nov 30, 2021, 10:18 AM

        @nikolaosinlight

        A 'cryptic' answer :
        https://github.com/pfsense/pfsense/blob/332052b8bd2a5d35662be2dba773b7a9f0d50681/src/etc/inc/dyndns.class#L2846

        The cache files, one for IPv4 or IPv6 (if your using IPv6) is only updated if the update (against namecheap) was 'successful_update' must be 'true'.
        And if it was true, read on a line or two, and find the simple test checks if the WAN IP is NOT zero '0'.
        If that's also true, then the file(s) is/are updated.

        So that explains why you saw an initial "0.0.0.0|xxxxxxxxx" - and why the file didn't get updated.

        At line 2324 you can see what must happen, so pfSEnse knows if the update was successful :
        namecheap should return 'something with the error count (after xml parsing) set to zero, and in that case the meassage "IP Address Updated Successfully!" is returned, and successful_update is set to "true".
        Or it did return (the beginning of the payload) "<?xml version="1.0" encoding="utf-16"?>". Take note that more info is returned, only the first array line is shown.

        Check with https://www.namecheap.com/support/knowledgebase/article.aspx/29/11/how-to-dynamically-update-the-hosts-ip-with-an-http-request/ if your parameters are ok (password and domain name).

        See for more info here (old, maybe more recent info is available).

        I'm not using namecheap myself.

        No "help me" PM's please. Use the forum, the community will thank you.
        Edit : and where are the logs ??

        N 1 Reply Last reply Dec 1, 2021, 12:52 AM Reply Quote 0
        • V viragomann referenced this topic on Nov 30, 2021, 6:04 PM
        • V viragomann referenced this topic on Nov 30, 2021, 6:04 PM
        • N
          nikolaosinlight @Gertjan
          last edited by Dec 1, 2021, 12:52 AM

          @gertjan

          I understand why the initial cached IP was 0.0.0.0 and I even understand why it would be green when the value that is cached (and I manually updated) corresponds to the current IP.

          However, clearly there is no apparent issue with my configuration as the IP address is changing on NameCheap (there are 3 entries and all 3 get updated in NameCheap with different hostname for each entry). So no it cannot be a password issue like the post you referenced where a space was present b/c in that persons case the record was not getting updated in NameCheap.

          What I don't understand is why after getting a response from NameCheap pfsense does not update the cached entry. Somehow pfsense cannot interpret the response:

          • Done is true so that seems fine
          • Could it be ResponseCount which is 0?

          Ultimately, something is leading pfsense to throw its hands up in the air and say "Unknown Response". Ideas? Thoughts?

          1 Reply Last reply Reply Quote 1
          • G
            Gertjan
            last edited by Dec 1, 2021, 11:32 AM

            @nikolaosinlight

            pfSense thrwos in the towel because the initial 'if' case at line 2327 and the following else cases are all 'false'.
            So the last else case is executed, which prints the 'payload'.

            Consider line 2326 : it would be a good thing to see the entire 'anwer' (the xml result array), not just the first line.

            If namecheap changed the resulting 'xml' (just a bunch of text lines) result of what is sends back, even with a message that indicated : 'all is well' then pfSense doesn't recognize the answer any more, and concludes a 'error'.
            On the namecheap side, everything is fine : the IP is updated as you mentioned.
            Something mist be wrong, as line 2331 ( ps -ax | grep "unbound") is NON zero, which means there is an error condition.

            Btw :
            I've checked

            3b6e648f-979d-41ec-8cbd-4b39fd5c423b-image.png

            so, according to line 1625, the data chunck that comes back from the dyndns service is written out to the logs :

            2021-11-30 12:34:17.735768+01:00 	php-fpm 	26619 	/rc.dyndns.update: phpDynDNS (245809): (Success) No Change In IP Address.
            2021-11-30 12:34:17.723084+01:00 	php-fpm 	26619 	/rc.dyndns.update: phpDynDNS: updating cache file /conf/dyndns_wanhe-net-tunnelbroker'245809'0.cache: 82.127.34.254
            2021-11-30 12:34:17.715726+01:00 	php-fpm 	26619 	/rc.dyndns.update: Dynamic DNS he-net-tunnelbroker (245809): 82.127.34.254 extracted from Check IP Service
            2021-11-30 12:34:17.226359+01:00 	php-fpm 	26619 	/rc.dyndns.update: Dynamic DNS he-net-tunnelbroker (245809): _checkStatus() starting.
            2021-11-30 12:34:17.221878+01:00 	php-fpm 	26619 	/rc.dyndns.update: Response Data: nochg 82.127.34.254
            2021-11-30 12:34:17.217371+01:00 	php-fpm 	26619 	/rc.dyndns.update: Response Header:
            2021-11-30 12:34:17.212892+01:00 	php-fpm 	26619 	/rc.dyndns.update: Response Header:
            2021-11-30 12:34:17.208441+01:00 	php-fpm 	26619 	/rc.dyndns.update: Response Header: Content-Type: text/html; charset=utf-8
            2021-11-30 12:34:17.203979+01:00 	php-fpm 	26619 	/rc.dyndns.update: Response Header: Connection: close
            2021-11-30 12:34:17.199507+01:00 	php-fpm 	26619 	/rc.dyndns.update: Response Header: Content-Length: 20
            2021-11-30 12:34:17.195006+01:00 	php-fpm 	26619 	/rc.dyndns.update: Response Header: Referrer-Policy: strict-origin
            2021-11-30 12:34:17.190531+01:00 	php-fpm 	26619 	/rc.dyndns.update: Response Header: X-Content-Type-Options: nosniff
            2021-11-30 12:34:17.186116+01:00 	php-fpm 	26619 	/rc.dyndns.update: Response Header: X-XSS-Protection: 1; mode=block
            2021-11-30 12:34:17.181605+01:00 	php-fpm 	26619 	/rc.dyndns.update: Response Header: X-Frame-Options: DENY
            2021-11-30 12:34:17.177183+01:00 	php-fpm 	26619 	/rc.dyndns.update: Response Header: Set-Cookie: referer=Direct+Access; path=/; secure
            2021-11-30 12:34:17.172680+01:00 	php-fpm 	26619 	/rc.dyndns.update: Response Header: Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
            2021-11-30 12:34:17.168247+01:00 	php-fpm 	26619 	/rc.dyndns.update: Response Header: Server: Apache/2.4.18 (Ubuntu)
            2021-11-30 12:34:17.163795+01:00 	php-fpm 	26619 	/rc.dyndns.update: Response Header: Date: Tue, 30 Nov 2021 11:34:17 GMT
            2021-11-30 12:34:17.161276+01:00 	php-fpm 	26619 	/rc.dyndns.update: Response Header: HTTP/1.0 200 ok
            2021-11-30 12:34:16.286608+01:00 	php-fpm 	26619 	/rc.dyndns.update: Dynamic DNS he-net-tunnelbroker (245809): _update() starting.
            

            (log lines in reverse order)

            You saw the 'nochg' : it means "no change". This message could show up when you update an IP that is already updated. Doing this to often, and the dyndns could start to behave differently (== other return message !?!) or even blocking you.

            No "help me" PM's please. Use the forum, the community will thank you.
            Edit : and where are the logs ??

            N 1 Reply Last reply Dec 1, 2021, 10:36 PM Reply Quote 0
            • N
              nikolaosinlight @Gertjan
              last edited by Dec 1, 2021, 10:36 PM

              @gertjan

              Are you referring to my post b/c I don't see any of the response headers you show above and definitely do not see any "nochg" in the logs.

              The response payload from Namecheap in what I get is as follows:

              <?xml version="1.0" encoding="UTF-8"?>
              <interface-response>
                 <Command>SETDNSHOST</Command>
                 <Language>eng</Language>
                 <IP>174.91.131.4</IP>
                 <ErrCount>0</ErrCount>
                 <errors />
                 <ResponseCount>0</ResponseCount>
                 <responses />
                 <Done>true</Done>
                 <debug />
              </interface-response>
              

              What I don't get is the 2331 that is skipped over clearly should hit as ErrCount is clearly "0"

              } else if ($ncresponse['interface-response']['ErrCount'] === "0") {
                       $status = $status_intro . $success_str . gettext("IP Address Updated Successfully!");
                       $successful_update = true;
              

              Instead the last else is hit which dumps the payload at line 2336:

              } else {
              	$status = $status_intro . "(" . gettext("Unknown Response") . ")";
              	log_error($status_intro . gettext("PAYLOAD:") . " " . $data);
              	$this->_debug($data);
              

              Lastly, where are you turning on "Verbose logging"?

              In the end, I really don't get why this fails, and moreover how to resolve this b/c in the last 3 days the IP's are still showing red and for sure Namecheap service is not going to be happy and will likely ban us. I have setup the next update to happen in about 30 hours so will see....

              G 1 Reply Last reply Dec 2, 2021, 9:50 AM Reply Quote 0
              • G
                Gertjan @nikolaosinlight
                last edited by Dec 2, 2021, 9:50 AM

                That looks like the issue :

                @nikolaosinlight said in Dynamic DNS *NOT* Updating "Cached IP":

                <interface-response>
                <Command>SETDNSHOST</Command>
                <Language>eng</Language>
                <IP>174.91.131.4</IP>
                <ErrCount>0</ErrCount>

                Follow with me, starting from line 2325.

                The 'payload', the xml that comes back from the namecheap dyndns server is aviable in the string $data.
                First, if present, all "^M" occurrences are removed. (windows double line feed stuff)
                Then $data - remember, a string xml data string, is converted to an array with the xml2array() function. This function gives back an array called $ncresponse, with the xml element separated in each array element.
                Now, PHP can access each element with a nice "$ncresponse['interface-response']['ErrCount']"

                All the if statements fail at this moment, line 2338 is executed : the 'payload' is shown ..... the $data string.

                Or, you should have a array called $ncresponse
                That array should contain, amongst others, a key called ['interface-response']
                And there should be a array key insuie that element called ['ErrCount']
                And the value of ErrCount should contain the value '0'.

                The $data 'payload' shows that this is the case.

                Still,

                } else if ($ncresponse['interface-response']['ErrCount'] === "0") {
                

                fails.

                I propose :

                Change the '===' in this line 2331 to '=='

                If that doesn't work, undo the '==' change.

                Instead of logging the $data string payload (line 2338), lets log the $ncresponse array.
                Insert before line 2338 this line :

                $data = print_r($ncresponse , true);
                

                Your code looks now like :

                						$status = $status_intro . "(" . gettext("Unknown Response") . ")";
                						$data = print_r($ncresponse , true);
                						log_error($status_intro . gettext("PAYLOAD:") . " " . $data)
                

                and see what the logs (like the second image in your first post) tells you ....
                This check shows us what the xml2array actually did (returned).

                To undo this edit, just remove the line you added.

                Btw : you can force a success, as we know the update was successful.
                Add :

                						$successful_update = true;
                

                right after line 2339.
                But that's just a work around, and not a solution to the issue.

                No "help me" PM's please. Use the forum, the community will thank you.
                Edit : and where are the logs ??

                1 Reply Last reply Reply Quote 0
                • B
                  barnettd
                  last edited by Dec 7, 2021, 9:31 PM

                  I am having the same issue on multiple devices running 21.05.2 using namecheap dynamic dns. I wasn't comfortable modifying code as suggested by @Gertjan so I created a new "custom" client using the name cheap update URL:
                  https://dynamicdns.park-your-domain.com/update?host=yoursubdomain&domain=YourDomain.tld&password=yourddnspassword

                  Here is my sanitized log for reference:

                  Dec  7 11:32:18 el php-fpm[10117]: /services_dyndns_edit.php: Dynamic DNS: updatedns() starting
                  Dec  7 11:32:19 el php-fpm[10117]: /services_dyndns_edit.php: Dynamic DNS namecheap (test.example.net): 1.2.3.4 extracted from local system.
                  Dec  7 11:32:19 el php-fpm[10117]: /services_dyndns_edit.php: Dynamic DNS (test.example.net): running get_failover_interface for wan. found mvneta2
                  Dec  7 11:32:19 el php-fpm[10117]: /services_dyndns_edit.php: Dynamic DNS namecheap (test.example.net): _update() starting.
                  Dec  7 11:32:19 el php-fpm[10117]: /services_dyndns_edit.php: Response Header: HTTP/2 200
                  Dec  7 11:32:19 el php-fpm[10117]: /services_dyndns_edit.php: Response Header: date: Tue, 07 Dec 2021 19:32:19 GMT
                  Dec  7 11:32:19 el php-fpm[10117]: /services_dyndns_edit.php: Response Header: content-type: application/json
                  Dec  7 11:32:19 el php-fpm[10117]: /services_dyndns_edit.php: Response Header: vary: Accept-Encoding
                  Dec  7 11:32:19 el php-fpm[10117]: /services_dyndns_edit.php: Response Header: set-cookie: .s=e12b94d6aa2140f08484e67036fb699f; domain=.www.namecheap.com; path=/; httponly
                  Dec  7 11:32:19 el php-fpm[10117]: /services_dyndns_edit.php: Response Header: strict-transport-security: max-age=16000000; includeSubDomains
                  Dec  7 11:32:19 el php-fpm[10117]: /services_dyndns_edit.php: Response Header: strict-transport-security: max-age=16000000; includeSubDomains
                  Dec  7 11:32:19 el php-fpm[10117]: /services_dyndns_edit.php: Response Header: cf-cache-status: DYNAMIC
                  Dec  7 11:32:19 el php-fpm[10117]: /services_dyndns_edit.php: Response Header: expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
                  Dec  7 11:32:19 el php-fpm[10117]: /services_dyndns_edit.php: Response Header: server: cloudflare
                  Dec  7 11:32:19 el php-fpm[10117]: /services_dyndns_edit.php: Response Header: cf-ray: 6ba02de7db6d7e58-LAX
                  Dec  7 11:32:19 el php-fpm[10117]: /services_dyndns_edit.php: Response Header: alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; ma=86400
                  Dec  7 11:32:19 el php-fpm[10117]: /services_dyndns_edit.php: Response Header:
                  Dec  7 11:32:19 el php-fpm[10117]: /services_dyndns_edit.php: Response Header:
                  Dec  7 11:32:19 el php-fpm[10117]: /services_dyndns_edit.php: Response Data: <?xml version="1.0" encoding="utf-16"?>
                  Dec  7 11:32:19 el php-fpm[10117]: <interface-response>
                  Dec  7 11:32:19 el php-fpm[10117]:   <Command>SETDNSHOST</Command>
                  Dec  7 11:32:19 el php-fpm[10117]:   <Language>eng</Language>
                  Dec  7 11:32:19 el php-fpm[10117]:   <IP>1.2.3.4</IP>
                  Dec  7 11:32:19 el php-fpm[10117]:   <ErrCount>0</ErrCount>
                  Dec  7 11:32:19 el php-fpm[10117]:   <errors />
                  Dec  7 11:32:19 el php-fpm[10117]:   <ResponseCount>0</ResponseCount>
                  Dec  7 11:32:19 el php-fpm[10117]:   <responses />
                  Dec  7 11:32:19 el php-fpm[10117]:   <Done>true</Done>
                  Dec  7 11:32:19 el php-fpm[10117]:   <debug><![CDATA[]]></debug>
                  Dec  7 11:32:19 el php-fpm[10117]: </interface-response>
                  Dec  7 11:32:19 el php-fpm[10117]: /services_dyndns_edit.php: Dynamic DNS namecheap (test.example.net): _checkStatus() starting.
                  Dec  7 11:32:19 el php-fpm[10117]: /services_dyndns_edit.php: phpDynDNS (el): PAYLOAD: <?xml version="1.0" encoding="utf-16"?>
                  Dec  7 11:32:19 el php-fpm[10117]: <interface-response>
                  Dec  7 11:32:19 el php-fpm[10117]:   <Command>SETDNSHOST</Command>
                  Dec  7 11:32:19 el php-fpm[10117]:   <Language>eng</Language>
                  Dec  7 11:32:19 el php-fpm[10117]:   <IP>1.2.3.4</IP>
                  Dec  7 11:32:19 el php-fpm[10117]:   <ErrCount>0</ErrCount>
                  Dec  7 11:32:19 el php-fpm[10117]:   <errors />
                  Dec  7 11:32:19 el php-fpm[10117]:   <ResponseCount>0</ResponseCount>
                  Dec  7 11:32:19 el php-fpm[10117]:   <responses />
                  Dec  7 11:32:19 el php-fpm[10117]:   <Done>true</Done>
                  Dec  7 11:32:19 el php-fpm[10117]:   <debug><![CDATA[]]></debug>
                  Dec  7 11:32:19 el php-fpm[10117]: </interface-response>
                  Dec  7 11:32:19 el php-fpm[10117]: /services_dyndns_edit.php: phpDynDNS (el): (Unknown Response)
                  
                  S 1 Reply Last reply Dec 7, 2021, 10:35 PM Reply Quote 0
                  • S
                    SteveITS Galactic Empire @barnettd
                    last edited by SteveITS Dec 7, 2021, 10:37 PM Dec 7, 2021, 10:35 PM

                    @barnettd Interesting, I have a router with 21.05 at home...hadn't bothered with 21.05.1 since it was for 32 bit ARM, a routing issue, and a captive portal fix, and 21.05.02 was only for 6100s? No notes for dynamic DNS.

                    On 21.05 my Namecheap DDNS is updating and green. Did it used to work for you on 21.05?

                    Edit: I should note I believe I found a while back that pfSense only updates the dyn DNS if it thinks the IP changed, not if it is different than what the provider thinks it is. Subtle difference, but basically it isn't sending the new IP on each connection. The edge case would be that something else changed the IP, then when pfSense checks it hasn't changed from pfSense's point of view.

                    Pre-2.7.2/23.09: Only install packages for your version, or risk breaking it. Select your branch in System/Update/Update Settings.
                    When upgrading, allow 10-15 minutes to restart, or more depending on packages and device speed.
                    Upvote 👍 helpful posts!

                    B N 2 Replies Last reply Dec 7, 2021, 10:48 PM Reply Quote 0
                    • B
                      barnettd @SteveITS
                      last edited by Dec 7, 2021, 10:48 PM

                      @steveits Yes it used to work. All the devices it is failing on have 2 internet connections and a gateway group (Tiers) that is monitored by Dynamic DNS. No changes were made to the configs.

                      I have noticed that when the gateway changes due to a connection outage it seems the IP is updated at namecheap, but when the gateway changes back to the primary, the dynamic dns stays on the secondary connection. Manually clicking the "Save and Force Update" button seemed to resolve the issue, but thats not ideal.

                      I honestly don't know if the issue is on the pfsense side or if namecheap changed their response somehow. Since yours is still working it seems to point toward pfsense.

                      N 1 Reply Last reply Dec 7, 2021, 11:16 PM Reply Quote 1
                      • N
                        nikolaosinlight @barnettd
                        last edited by Dec 7, 2021, 11:16 PM

                        @barnettd somewhat comforting (but not really) that it isn't just me. I too have a tiered gateway group and yes tested the failure of the primary and it didn't switch the DNS.

                        For myself as well Namecheap gets updated and like you said if it works when there is no tiered gateway group then likely not a Namecheap interface change.

                        How do we get this looked at and resolved? To not update the IP in pfsense and stay red is a problem for sure as we can not turn up our frequency of cron checks... BUT to have tiered gateway failover with 2 ISPs and not failover the IP when the Tier 1 fails is really bad as services will fail - essentially there is no failover unless I am monitoring and force it as you did.

                        S 1 Reply Last reply Dec 7, 2021, 11:22 PM Reply Quote 0
                        • N
                          nikolaosinlight @SteveITS
                          last edited by Dec 7, 2021, 11:21 PM

                          @steveits I tried manually correcting the cached entries and reloaded the page and got full green. Then I dropped the primary (Tier 1) ISP and it went red, updated Namecheap correctly, and continued to show the prior IP address in UI and in the cache files.

                          I think @barnettd may be on to something in that this could be a bug related to a Tiered Gateway Group (which also does not work as it should when ISP fails).

                          I am only about a month into pfsense. Is there a place to report a bug? What is the process?

                          1 Reply Last reply Reply Quote 0
                          • S
                            SteveITS Galactic Empire @nikolaosinlight
                            last edited by Dec 7, 2021, 11:22 PM

                            Since you mention gateway groups I did notice this redmine - DDNS set to a gateway group does not update on WAN failover but Jim couldn't duplicate the issue.

                            That redmine site is the place to report bugs.

                            Pre-2.7.2/23.09: Only install packages for your version, or risk breaking it. Select your branch in System/Update/Update Settings.
                            When upgrading, allow 10-15 minutes to restart, or more depending on packages and device speed.
                            Upvote 👍 helpful posts!

                            1 Reply Last reply Reply Quote 0
                            • B
                              biggsy
                              last edited by biggsy Dec 10, 2021, 5:18 AM Dec 10, 2021, 3:27 AM

                              I noticed the following in my syslog and suspected a temporary problem but found the lines were also there yesterday:

                              Dec 10 01:01:01 php[4009]: rc.dyndns.update: phpDynDNS (mail): PAYLOAD: <?xml version="1.0" encoding="utf-16"?>
                              Dec 10 01:01:01 php[4009]: <interface-response>
                              Dec 10 01:01:01 php[4009]:   <Command>SETDNSHOST</Command>
                              Dec 10 01:01:01 php[4009]:   <Language>eng</Language>
                              Dec 10 01:01:01 php[4009]:   <IP>[redacted]</IP>
                              Dec 10 01:01:01 php[4009]:   <ErrCount>0</ErrCount>
                              Dec 10 01:01:01 php[4009]:   <errors />
                              Dec 10 01:01:01 php[4009]:   <ResponseCount>0</ResponseCount>
                              Dec 10 01:01:01 php[4009]:   <responses />
                              Dec 10 01:01:01 php[4009]:   <Done>true</Done>
                              Dec 10 01:01:01 php[4009]:   <debug><![CDATA[]]></debug>
                              Dec 10 01:01:01 php[4009]: </interface-response>
                              Dec 10 01:01:01 php[4009]: rc.dyndns.update: phpDynDNS (mail): (Unknown Response)
                              Dec 10 01:01:02 php[4009]: rc.dyndns.update: phpDynDNS (@): PAYLOAD: <?xml version="1.0" encoding="utf-16"?>
                              Dec 10 01:01:02 php[4009]: <interface-response>
                              Dec 10 01:01:02 php[4009]:   <Command>SETDNSHOST</Command>
                              Dec 10 01:01:02 php[4009]:   <Language>eng</Language>
                              Dec 10 01:01:02 php[4009]:   <IP>[redacted]</IP>
                              Dec 10 01:01:02 php[4009]:   <ErrCount>0</ErrCount>
                              Dec 10 01:01:02 php[4009]:   <errors />
                              Dec 10 01:01:02 php[4009]:   <ResponseCount>0</ResponseCount>
                              Dec 10 01:01:02 php[4009]:   <responses />
                              Dec 10 01:01:02 php[4009]:   <Done>true</Done>
                              Dec 10 01:01:02 php[4009]:   <debug><![CDATA[]]></debug>
                              Dec 10 01:01:02 php[4009]: </interface-response>
                              Dec 10 01:01:02 php[4009]: rc.dyndns.update: phpDynDNS (@): (Unknown Response)
                              

                              That brought me to this topic. I have only one WAN, so no gateway groups.

                              I updated from 2.4.5_P1 to 2.5.2 back in September and I've made no changes to the Dynamic DNS setup for well over a year.

                              Older syslog records show that the Namecheap DDNS records were successfully updated in Sep, Oct and Nov.

                              I tried editing the DynDNS settings and saving. Only the "mail" record was updated to my current public IP. The generic (@) record now shows as 0.0.0.0 in the GUI. (I can live without the generic, though, as long as the mail gets through.)

                              The only significant change to my pfSense since updating to 2.5.2 was to install the Wireguard package.

                              I haven't been able to find any indication that Namecheap have changed anything at their end.

                              Edit: Will be watching my friend's pfSense, which is due to update his DDNS records, also at Namecheap, tomorrow morning.

                              B 1 Reply Last reply Dec 10, 2021, 9:20 PM Reply Quote 0
                              • B
                                biggsy @biggsy
                                last edited by Dec 10, 2021, 9:20 PM

                                Yep, same logs on my friend's machine.

                                1 Reply Last reply Reply Quote 0
                                • B
                                  bmeeks
                                  last edited by Dec 13, 2021, 12:34 AM

                                  While looking around for other stuff, I found this link that appears related to the issue posted in this thread: https://www.reddit.com/r/NameCheap/comments/qz1mjf/namecheap_dynamic_dns_returning_utf16_encoded/hljqzja/. This does in fact appear to perhaps be a Namecheap problem.

                                  B B S 3 Replies Last reply Dec 13, 2021, 1:29 AM Reply Quote 0
                                  • B
                                    biggsy @bmeeks
                                    last edited by Dec 13, 2021, 1:29 AM

                                    @bmeeks

                                    Many thanks for finding this. I see that the original post and the last response form Namecheap were 21 days ago.

                                    I just hope they don't start blocking because of too-frequent updates, which are now occurring daily because of this problem.

                                    B 1 Reply Last reply Dec 13, 2021, 1:33 AM Reply Quote 0
                                    • B
                                      bmeeks @biggsy
                                      last edited by Dec 13, 2021, 1:33 AM

                                      @biggsy said in Dynamic DNS *NOT* Updating "Cached IP":

                                      @bmeeks

                                      Many thanks for finding this. I see that the original post and the last response form Namecheap were 21 days ago.

                                      I just hope they don't start blocking because of too-frequent updates, which are now occurring daily because of this problem.

                                      The guys over on the "other Sense" forum site are also reporting the same issue.

                                      B 1 Reply Last reply Dec 13, 2021, 1:42 AM Reply Quote 0
                                      • B
                                        biggsy @bmeeks
                                        last edited by Dec 13, 2021, 1:42 AM

                                        @bmeeks

                                        It's Namecheap so perhaps I shouldn't be surprised that I can't find any DDNS update "abuse" policy on their web site.
                                        🙄

                                        1 Reply Last reply Reply Quote 0
                                        • B
                                          barnettd @bmeeks
                                          last edited by Dec 13, 2021, 5:16 PM

                                          @bmeeks That issue definitely matches what I'm seeing. Setting up a custom client using the namecheap update URL seems to be work for now.

                                          Hopefully this is resolved soon, I have quite a few devices using Dynamic DNS from namecheap and it would be a pain to change.

                                          N 1 Reply Last reply Dec 13, 2021, 10:36 PM Reply Quote 0
                                          20 out of 36
                                          • First post
                                            20/36
                                            Last post
                                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
                                            This community forum collects and processes your personal information.
                                            consent.not_received