Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login
    Introducing Netgate Nexus: Multi-Instance Management at Your Fingertips.

    Unbound SSL handshake failed on every pfBlockerNG DNSBL reload - SG-1100

    Scheduled Pinned Locked Moved General pfSense Questions
    5 Posts 4 Posters 607 Views 4 Watching
    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.
    • R Offline
      Roxy7
      last edited by

      Hi all,

      Every time pfBlockerNG runs a DNSBL reload (daily CRON or manual Force Reload), Unbound fails to restart with this error:
      Starting Unbound Resolver... Not completed. error: SSL handshake failed

      My setup:
      ∙ Netgate SG-1100 (arm64, purchased November 2025)
      ∙ pfSense Plus 26.03-RELEASE
      ∙ pfBlockerNG with DNSBL enabled (Unbound mode)
      ∙ Resolver Live Sync enabled

      The only workaround that gets Unbound running again:
      rm /var/unbound/pfb_dnsbl*.conf && unbound-anchor -a /var/unbound/root.key && pfSsh.php playback svc restart unbound

      This works temporarily but the next DNSBL reload breaks it again. Has anyone solved this permanently?
      Thanks

      GertjanG 1 Reply Last reply Reply Quote 0
      • R Offline
        RianKellyIT
        last edited by

        The "SSL handshake failed" during Unbound restart is about the control channel certificates that unbound-control uses to communicate with the Unbound daemon, not about DNS-over-TLS. When pfBlockerNG triggers a DNSBL reload, it restarts Unbound, and if the control certificates are expired or corrupted, the restart fails at the handshake step.

        Check the certificate dates first:

        openssl x509 -in /var/unbound/unbound_control.pem -noout -dates
        openssl x509 -in /var/unbound/unbound_server.pem -noout -dates

        If either shows "notAfter" in the past, that is the problem. Regenerate them:

        unbound-control-setup -d /var/unbound/

        Then restart Unbound. The control certs are self-signed and generated during initial setup, but they can expire after a year or two depending on the pfSense version that created them.

        The fact that rm /var/unbound/pfb_dnsbl*.conf followed by unbound-anchor fixes it temporarily suggests there may also be a malformed DNSBL include file that Unbound chokes on during parsing. Before the next DNSBL reload, check the generated files:

        ls -la /var/unbound/pfb_dnsbl*.conf
        unbound-checkconf /var/unbound/unbound.conf

        If unbound-checkconf reports errors in any pfb_dnsbl file, that is a pfBlockerNG bug generating invalid Unbound config. On the SG-1100 with limited RAM, large DNSBL lists can also cause Unbound to run out of memory during the reload, which manifests as a generic startup failure.

        1 Reply Last reply Reply Quote 0
        • R Offline
          Roxy7
          last edited by

          Super helpful! RAM was the issue but got it sorted due to your help.

          Thanks so much!

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

            @Roxy7 said in Unbound SSL handshake failed on every pfBlockerNG DNSBL reload - SG-1100:

            pfBlockerNG with DNSBL enabled (Unbound mode)

            What is your reason to continue using "Unbound mode" ?
            After reading :

            82595acb-d38e-4ce1-bd64-cf13de9aebcd-image.png

            and knowing that Python mode uses less memory, restarts unbound way faster, and that you use a 1100, why still "Unbound mode" ?

            No "help me" PM's please. Use the forum, the community will thank you.

            1 Reply Last reply Reply Quote 0
            • stephenw10S Online
              stephenw10 Netgate Administrator
              last edited by

              Yes, you almost always want to use Python mode with DNS-BL and Unbound. Especially if you have DHCP registering in Unbound which restarts it often.

              1 Reply Last reply Reply Quote 0
              • First post
                Last post
              Copyright 2026 Rubicon Communications LLC (Netgate). All rights reserved.
              Privacy Policy · Cookie Policy