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

    Acme DNS-NSupdate / RFC 2136 issue

    Scheduled Pinned Locked Moved ACME
    53 Posts 5 Posters 5.2k 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.
    • D
      dansgul
      last edited by

      Hi All,
      Hoping someone can help.

      New build pfSense 2.4.4-RELEASE-p3, acme 0.5.8

      I am trying to issue a cert, and keep getting

      dns_request_getresponse: expected a TSIG or SIG(0)
      [Mon Aug 5 15:09:43 UTC 2019] error updating domain

      I have tested using nsupdate via the shell manually, using the keyfile created by the web interface and all works fine. (as indeed does my older pfSense kit running 2.3.4 against the same name server/key etc)


      login.cnet.sgul.ac.uk
      Renewing certificate 
      account: testing 
      server: letsencrypt-staging 
      
      
      /usr/local/pkg/acme/acme.sh --issue -d 'login.cnet.sgul.ac.uk' --dns 'dns_nsupdate' --home '/tmp/acme/login.cnet.sgul.ac.uk/' --accountconf '/tmp/acme/login.cnet.sgul.ac.uk/accountconf.conf' --force --reloadCmd '/tmp/acme/login.cnet.sgul.ac.uk/reloadcmd.sh' --dnssleep '60' --log-level 3 --log '/tmp/acme/login.cnet.sgul.ac.uk/acme_issuecert.log'
      
      Array
      (
      [path] => /etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin/
      [PATH] => /etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin/
      [NSUPDATE_SERVER] => /tmp/acme/login.cnet.sgul.ac.uk/login.cnet.sgul.ac.uknsupdate
      [NSUPDATE_KEYNAME] => _acme-challenge.login.cnet.sgul.ac.uk
      [NSUPDATE_KEYALGO] => 157
      [NSUPDATE_KEY] => /tmp/acme/login.cnet.sgul.ac.uk/login.cnet.sgul.ac.uknsupdate
      [NSUPDATE_ZONE] => cnet.sgul.ac.uk
      )
      [Mon Aug 5 15:13:11 UTC 2019] Single domain='login.cnet.sgul.ac.uk'
      [Mon Aug 5 15:13:11 UTC 2019] Getting domain auth token for each domain
      [Mon Aug 5 15:13:11 UTC 2019] Getting webroot for domain='login.cnet.sgul.ac.uk'
      [Mon Aug 5 15:13:11 UTC 2019] Getting new-authz for domain='login.cnet.sgul.ac.uk'
      [Mon Aug 5 15:13:12 UTC 2019] The new-authz request is ok.
      [Mon Aug 5 15:13:12 UTC 2019] Found domain api file: /usr/local/pkg/acme/dnsapi/dns_nsupdate.sh
      [Mon Aug 5 15:13:12 UTC 2019] adding _acme-challenge.login.cnet.sgul.ac.uk. 60 in txt "EbZ98wgnVknvX_M2t71uhc5ZdURzgXXQqSIpTN1hFxk"
      dns_request_getresponse: expected a TSIG or SIG(0)
      [Mon Aug 5 15:13:12 UTC 2019] error updating domain
      [Mon Aug 5 15:13:12 UTC 2019] Error add txt for domain:_acme-challenge.login.cnet.sgul.ac.uk
      [Mon Aug 5 15:13:12 UTC 2019] Please check log file for more details: /tmp/acme/login.cnet.sgul.ac.uk/acme_issuecert.log
      
      

      In Acme_issuecert.log it looks like it's not parsing or providing the correct data (NSUPDATE_ZONE not populated) to dns_nsupdate.sh maybe?

      [Mon Aug  5 15:13:12 UTC 2019] txtdomain='_acme-challenge.login.cnet.sgul.ac.uk'
      [Mon Aug  5 15:13:12 UTC 2019] base64 single line.
      [Mon Aug  5 15:13:12 UTC 2019] txt='EbZ98wgnVknvX_M2t71uhc5ZdURzgXXQqSIpTN1hFxk'
      [Mon Aug  5 15:13:12 UTC 2019] d_api='/usr/local/pkg/acme/dnsapi/dns_nsupdate.sh'
      [Mon Aug  5 15:13:12 UTC 2019] dns_entry='login.cnet.sgul.ac.uk,_acme-challenge.login.cnet.sgul.ac.uk,,dns_nsupdate,EbZ98wgnVknvX_M2t71uhc5ZdURzgXXQqSIpTN1hFxk,/usr/local/pkg/acme/dnsapi/dns_nsupdate.sh'
      [Mon Aug  5 15:13:12 UTC 2019] Found domain api file: /usr/local/pkg/acme/dnsapi/dns_nsupdate.sh
      [Mon Aug  5 15:13:12 UTC 2019] dns_nsupdate_add exists=0
      [Mon Aug  5 15:13:12 UTC 2019] APP
      [Mon Aug  5 15:13:12 UTC 2019] 5:NSUPDATE_SERVER='194.82.51.2'
      [Mon Aug  5 15:13:12 UTC 2019] APP
      [Mon Aug  5 15:13:12 UTC 2019] 6:NSUPDATE_SERVER_PORT=''
      [Mon Aug  5 15:13:12 UTC 2019] APP
      [Mon Aug  5 15:13:12 UTC 2019] 7:NSUPDATE_KEY='/tmp/acme/login.cnet.sgul.ac.uk/login.cnet.sgul.ac.uknsupdate_acme-challenge.login.cnet.sgul.ac.uk.key'
      [Mon Aug  5 15:13:12 UTC 2019] APP
      [Mon Aug  5 15:13:12 UTC 2019] 8:NSUPDATE_ZONE=''
      [Mon Aug  5 15:13:12 UTC 2019] adding _acme-challenge.login.cnet.sgul.ac.uk. 60 in txt "EbZ98wgnVknvX_M2t71uhc5ZdURzgXXQqSIpTN1hFxk"
      [Mon Aug  5 15:13:12 UTC 2019] error updating domain
      [Mon Aug  5 15:13:12 UTC 2019] Error add txt for domain:_acme-challenge.login.cnet.sgul.ac.uk
      [Mon Aug  5 15:13:12 UTC 2019] _on_issue_err
      
      D 1 Reply Last reply Reply Quote 0
      • jimpJ
        jimp Rebel Alliance Developer Netgate
        last edited by

        How exactly are you testing from the CLI? You probably need to set the zone parameter, it's blank in your output above.

        Remember: Upvote with the πŸ‘ button for any user/post you find to be helpful, informative, or deserving of recognition!

        Need help fast? Netgate Global Support!

        Do not Chat/PM for help!

        1 Reply Last reply Reply Quote 0
        • D
          dansgul
          last edited by

          Hi,
          Many thnkas for the feedback.

          In the GUI, I have set the Zone section to the correct zone (cnet.sgul.ac.uk)

          acme.PNG

          On the shell on pfSense

          [2.4.4-RELEASE][admin@pfSense.localdomain]/tmp/acme/testing: nsupdate -v -k /tmp/acme/testing/login.cnet.sgul.ac.uknsupdate_acme-challenge.login.cnet.sgul.ac.uk.key
          > server 194.82.51.2
          > zone cnet.sgul.ac.uk
          > update add fiddy.cnet.sgul.ac.uk 3600 a 10.10.10.50
          > update add fiddy.cnet.sgul.ac.uk 3600 txt fiddy text
          > send
          > quit
          > 
          
          [2.4.4-RELEASE][admin@pfSense.localdomain]/tmp/acme/testing: dig fiddy.cnet.sgul.ac.uk txt @194.82.51.2
          
          ; <<>> DiG 9.12.2-P1 <<>> fiddy.cnet.sgul.ac.uk txt @194.82.51.2
          ;; global options: +cmd
          ;; Got answer:
          ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56306
          ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
          
          ;; OPT PSEUDOSECTION:
          ; EDNS: version: 0, flags:; udp: 1452
          ;; QUESTION SECTION:
          ;fiddy.cnet.sgul.ac.uk.         IN      TXT
          
          ;; ANSWER SECTION:
          fiddy.cnet.sgul.ac.uk.  3484    IN      TXT     "fiddy" "text"
          
          ;; Query time: 4 msec
          ;; SERVER: 194.82.51.2#53(194.82.51.2)
          ;; WHEN: Tue Aug 06 00:07:39 UTC 2019
          ;; MSG SIZE  rcvd: 73
          
          

          Interestingly, If I omit the "-v" from nsupdate it fails

          [2.4.4-RELEASE][admin@pfSense.localdomain]/tmp/acme/testing: nsupdate -k /tmp/acme/testing/login.cnet.sgul.ac.uknsupdate_acme-challenge.login.cnet.sgul.ac.uk.key
          > server 194.82.51.2
          > zone cnet.sgul.ac.uk
          > update add fiddy1.cnet.sgul.ac.uk 3600 a 10.10.10.51
          > send
          ; TSIG error with server: expected a TSIG or SIG(0)
          update failed: SERVFAIL
          > quit
          
          
          1 Reply Last reply Reply Quote 0
          • D
            dansgul @dansgul
            last edited by

            @dansgul

            More info on this

            It appears accountconf.conf contains an NULL NSUPDATE_ZONE (and is overwritten by dns_nsupdate.sh)

            ACME_DIRECTORY='https://acme-v01.api.letsencrypt.org/directory'
            ACCOUNT_EMAIL=xxxxxxxx'
            LOG_FILE='/tmp/acme/testing/acme_issuecert.log'
            LOG_LEVEL='3'
            NSUPDATE_SERVER='login.cnet.sgul.ac.uk'
            NSUPDATE_SERVER_PORT=''
            NSUPDATE_KEY='/tmp/acme/testing/login.cnet.sgul.ac.uknsupdate_acme-challenge.login.cnet.sgul.ac.uk.key'
            NSUPDATE_ZONE=''
            

            If I set THISNSUPDATE_ZONE at the top of /usr/local/pkg/acme/dnsapi/dns_nsupdate.sh it can issue a cert

            GertjanG 1 Reply Last reply Reply Quote 0
            • GertjanG
              Gertjan @dansgul
              last edited by Gertjan

              @dansgul said in Acme DNS-NSupdate / RFC 2136 issue:

              THISNSUPDATE_ZONE

              I've looked for this one before.
              It's used before its initialized, so that explains :

              @dansgul said in Acme DNS-NSupdate / RFC 2136 issue:

              It appears accountconf.conf contains an NULL NSUPDATE_ZONE (and is overwritten by dns_nsupdate.s

              very well.

              Better yet : can't find "THISNSUPDATE_ZONE" here https://github.com/Neilpang/acme.sh/blob/master/dnsapi/dns_nsupdate.sh

              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
              • jimpJ
                jimp Rebel Alliance Developer Netgate
                last edited by

                Are you on the latest version of the ACME package? There was a bug with that a while back IIRC.

                The THISNSUPDATE_<x> stuff is just in pfSense. The stock files from acme.sh don't easily support multiple RFC2136 entries on a single cert the way pfSense uses them.

                Remember: Upvote with the πŸ‘ button for any user/post you find to be helpful, informative, or deserving of recognition!

                Need help fast? Netgate Global Support!

                Do not Chat/PM for help!

                GertjanG 1 Reply Last reply Reply Quote 0
                • GertjanG
                  Gertjan @jimp
                  last edited by

                  @jimp said in Acme DNS-NSupdate / RFC 2136 issue:

                  Are you on the latest version of the ACME package? There was a bug with that a while back IIRC.

                  1b14debe-a30c-4b9b-8f70-330f7b8cb40a-image.png

                  The THISNSUPDATE_<x> stuff is just in pfSense. The stock files from acme.sh don't easily support multiple RFC2136 entries on a single cert the way pfSense uses them.

                  Ah, ok.
                  Have a look at this "THISNSUPDATE_ZONE" in dnsapi/dns_nsupdate.sh - shouldnt it be init (= read) before used and written ?

                  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
                  • jimpJ
                    jimp Rebel Alliance Developer Netgate
                    last edited by

                    Yeah, I thought it was but I'm not seeing it now, either. I'll look into it.

                    Remember: Upvote with the πŸ‘ button for any user/post you find to be helpful, informative, or deserving of recognition!

                    Need help fast? Netgate Global Support!

                    Do not Chat/PM for help!

                    1 Reply Last reply Reply Quote 1
                    • jimpJ
                      jimp Rebel Alliance Developer Netgate
                      last edited by

                      I just pushed a new version of ACME that should fix this. Give it a try when it shows up for you (0.6)

                      Remember: Upvote with the πŸ‘ button for any user/post you find to be helpful, informative, or deserving of recognition!

                      Need help fast? Netgate Global Support!

                      Do not Chat/PM for help!

                      1 Reply Last reply Reply Quote 1
                      • GertjanG
                        Gertjan
                        last edited by

                        Saw it.
                        Tested !
                        Worked !

                        πŸ‘

                        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
                        • D
                          dansgul
                          last edited by

                          Hi there, this still isn't working for me; I've upgraded to 0.6
                          I still see "NSUPDATE_ZONE" as empty and the issue fails. (I know our DNS server needs to have the zone sent for this to work)

                          [Wed Aug  7 17:23:39 BST 2019] d='login.cnet.sgul.ac.uk'
                          [Wed Aug  7 17:23:39 BST 2019] _d_alias
                          [Wed Aug  7 17:23:39 BST 2019] txtdomain='_acme-challenge.login.cnet.sgul.ac.uk'
                          [Wed Aug  7 17:23:39 BST 2019] base64 single line.
                          [Wed Aug  7 17:23:39 BST 2019] txt='_WaKP7V9YAEUOHv0Y6MJWEhq7KPImm7n8t6WcSwPqZE'
                          [Wed Aug  7 17:23:39 BST 2019] d_api='/usr/local/pkg/acme/dnsapi/dns_nsupdate.sh'
                          [Wed Aug  7 17:23:39 BST 2019] dns_entry='login.cnet.sgul.ac.uk,_acme-challenge.login.cnet.sgul.ac.uk,,dns_nsupdate,_WaKP7V9YAEUOHv0Y6MJWEhq7KPImm7n8t6WcSwPqZE,/usr/local/pkg/acme/dnsapi/dns_nsupdate.sh'
                          [Wed Aug  7 17:23:39 BST 2019] Found domain api file: /usr/local/pkg/acme/dnsapi/dns_nsupdate.sh
                          [Wed Aug  7 17:23:39 BST 2019] dns_nsupdate_add exists=0
                          [Wed Aug  7 17:23:39 BST 2019] Adding txt value: _WaKP7V9YAEUOHv0Y6MJWEhq7KPImm7n8t6WcSwPqZE for domain:  _acme-challenge.login.cnet.sgul.ac.uk
                          [Wed Aug  7 17:23:39 BST 2019] APP
                          [Wed Aug  7 17:23:39 BST 2019] 5:NSUPDATE_SERVER='ns1.sgul.ac.uk'
                          [Wed Aug  7 17:23:39 BST 2019] APP
                          [Wed Aug  7 17:23:39 BST 2019] 6:NSUPDATE_SERVER_PORT=''
                          [Wed Aug  7 17:23:39 BST 2019] APP
                          [Wed Aug  7 17:23:39 BST 2019] 7:NSUPDATE_KEY='/tmp/acme/testing/login.cnet.sgul.ac.uknsupdate_acme-challenge.login.cnet.sgul.ac.uk.key'
                          [Wed Aug  7 17:23:39 BST 2019] APP
                          [Wed Aug  7 17:23:39 BST 2019] 8:NSUPDATE_ZONE=''
                          [Wed Aug  7 17:23:39 BST 2019] adding _acme-challenge.login.cnet.sgul.ac.uk. 60 in txt "_WaKP7V9YAEUOHv0Y6MJWEhq7KPImm7n8t6WcSwPqZE"
                          [Wed Aug  7 17:23:39 BST 2019] error updating domain
                          [Wed Aug  7 17:23:39 BST 2019] Error add txt for domain:_acme-challenge.login.cnet.sgul.ac.uk
                          [Wed Aug  7 17:23:39 BST 2019] _on_issue_err
                          
                          
                          1 Reply Last reply Reply Quote 0
                          • jimpJ
                            jimp Rebel Alliance Developer Netgate
                            last edited by

                            OK, I missed a couple bits. I just pushed ACME pkg v 0.6.2 which should work now. I didn't test it completely but I did confirm at least that the zone makes it into the account config and logs where it was missing before.

                            Remember: Upvote with the πŸ‘ button for any user/post you find to be helpful, informative, or deserving of recognition!

                            Need help fast? Netgate Global Support!

                            Do not Chat/PM for help!

                            1 Reply Last reply Reply Quote 0
                            • D
                              dansgul
                              last edited by

                              Working now after upgrade to 0.6.2

                              Many thanks jimp!

                              1 Reply Last reply Reply Quote 1
                              • NollipfSenseN NollipfSense referenced this topic on
                              • NollipfSenseN NollipfSense referenced this topic on
                              • NollipfSenseN NollipfSense referenced this topic on
                              • VioletDragonV
                                VioletDragon
                                last edited by

                                The problem is still present in the latest version. 0.8_1.

                                Failures on expected a TSIG or SIG(0) even though it's implemented.

                                Regards

                                GertjanG 1 Reply Last reply Reply Quote 0
                                • GertjanG
                                  Gertjan @VioletDragon
                                  last edited by

                                  @VioletDragon

                                  Humm. I'm using 'nsupdate' = DNS-NSupdate / RFC 2136.
                                  Works just fine.

                                  nsupdate didn't change for years.

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

                                  VioletDragonV 2 Replies Last reply Reply Quote 0
                                  • VioletDragonV
                                    VioletDragon @Gertjan
                                    last edited by

                                    @Gertjan are you using BIND9?

                                    GertjanG 1 Reply Last reply Reply Quote 0
                                    • VioletDragonV
                                      VioletDragon @Gertjan
                                      last edited by

                                      @Gertjan are you using BIND9?

                                      GertjanG 1 Reply Last reply Reply Quote 0
                                      • GertjanG
                                        Gertjan @VioletDragon
                                        last edited by

                                        @VioletDragon said in Acme DNS-NSupdate / RFC 2136 issue:

                                        @Gertjan are you using BIND9?

                                        Yes.

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

                                        VioletDragonV 1 Reply Last reply Reply Quote 0
                                        • VioletDragonV
                                          VioletDragon @Gertjan
                                          last edited by

                                          @Gertjan could you post your config?

                                          1 Reply Last reply Reply Quote 0
                                          • GertjanG
                                            Gertjan @VioletDragon
                                            last edited by

                                            @VioletDragon said in Acme DNS-NSupdate / RFC 2136 issue:

                                            @Gertjan are you using BIND9?

                                            Yes.
                                            Debian 11.10... no .11 just right now.

                                            f006a373-d89b-4123-8d18-b632508f9d56-image.png

                                            I can't re test my acme renewal, as I'm in the grace period : a renewal will work and no DNS checks will be done.

                                            But : I'm also using RFC2136 for my pfSense WAN side host name = DynDNS.

                                            Logs on server = bind9 side :

                                            01-Sep-2024 13:21:27.416 update-security: client @0x7f4884148ed0 82.127.99.108#59810/key update: signer "update" approved
                                            01-Sep-2024 13:21:27.416 update: client @0x7f4884148ed0 82.127.26.108#59810/key update: updating zone 'bhf.tld/IN': deleting rrset at 'home.bhf.tld' A
                                            01-Sep-2024 13:21:27.416 update: client @0x7f4884148ed0 82.127.26.108#59810/key update: updating zone 'bhf.tld/IN': adding an RR at 'home.bhf.tld' A 82.135.26.118
                                            01-Sep-2024 13:21:27.416 update: client @0x7f4884148ed0 82.127.26.108#59810/key update: updating zone 'bhf.tld/IN': deleting rrset at 'home.bhf.tld' AAAA
                                            01-Sep-2024 13:21:27.416 update: client @0x7f4884148ed0 82.127.26.108#59810/key update: updating zone 'bhf.tld/IN': adding an RR at 'home.bhf.tld' AAAA 2a01:cb19:beef:dead:92ec:77ff:fe29:392a
                                            

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

                                            VioletDragonV 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.