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

    GUI alias and rule changes are not applied to the running PF ruleset ( pfctl -sr / pfctl -t unchanged), causing new firewall rules to not work, likely due to pfBlockerNG overriding tables.

    Scheduled Pinned Locked Moved pfBlockerNG
    10 Posts 5 Posters 285 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.
    • J Offline
      jacob.simon
      last edited by

      The issue is reproducible on pfSense Plus 26.03 and appears isolated to scenarios where pfBlockerNG is enabled.
      Observed behavior:

      • With pfBlockerNG disabled:
      • Firewall rules added or removed in the GUI are immediately reflected in the active ruleset and visible via pfctl -sr.
        
      • Alias changes made in the GUI correctly update the associated PF tables (pfctl -t <alias> -T show).
        
      • With pfBlockerNG enabled:
      • Firewall rule additions or deletions made in the GUI do not appear in pfctl -sr, and newly added rules do not function.
        
      • Alias edits made in the GUI do not update the corresponding PF tables (pfctl -t <alias> -T show remains unchanged).
        

      Notably:

      • pfBlockerNG is on the latest version (3.2.16)
      • The IP > GeoIP section is set to Alias Native.
      • Alias changes remain pending and only take effect when pfBlockerNG is toggled (disabled and re‑enabled) or the firewall is rebooted.
      • Disabling pfBlockerNG restores normal behavior, and re‑enabling it forces both aliases and rules to synchronize.

      Impact:
      This behavior prevents new or modified firewall rules from being applied in real time and leaves the system in an inconsistent state unless pfBlockerNG is manually toggled or the firewall is rebooted, which is disruptive.

      This suggests that when pfBlockerNG is enabled, it interferes with or overrides the normal filter reload process, and that alias and rule updates only fully apply when pfBlockerNG performs its own reload cycle.

      tinfoilmattT J 2 Replies Last reply Reply Quote 0
      • tinfoilmattT Offline
        tinfoilmatt LAYER 8 @jacob.simon
        last edited by

        Alias changes remain pending

        Can you show this with a sequence of screenshots?

        1 Reply Last reply Reply Quote 0
        • J Offline
          jacob.simon @jacob.simon
          last edited by

          Hello,
          We identified the root cause. The firewall is failing to reload the ruleset due to a PF memory allocation error triggered by pfBlockerNG.
          Under Status → Filter Reload, we consistently see:

          pfctl: Syntax error in config file: pf rules not loaded
          /tmp/rules.debug:97: cannot define table pfB_Europe_v6: Cannot allocate memory
          

          When this occurs, PF refuses to load the new ruleset, which explains why:

          • GUI rule changes do not appear in pfctl -sr
          • Alias updates do not apply
          • New rules do not function

          Disabling the failing pfBlockerNG IPv6 table (pfB_Europe_v6) allows the ruleset to load correctly and immediately restores expected behavior. Rebooting or toggling pfBlockerNG also temporarily resolves the issue by freeing memory.

          This confirms the issue is caused by PF table memory exhaustion during rule reload when pfBlockerNG IPv6 GeoIP tables are enabled.

          Thanks

          tinfoilmattT johnpozJ 2 Replies Last reply Reply Quote 1
          • tinfoilmattT Offline
            tinfoilmatt LAYER 8 @jacob.simon
            last edited by

            Is it merely an allocation issue, or is it in fact exhaustion due to it being a low memory system?

            J 1 Reply Last reply Reply Quote 0
            • johnpozJ Online
              johnpoz LAYER 8 Global Moderator @jacob.simon
              last edited by johnpoz

              @jacob.simon said in GUI alias and rule changes are not applied to the running PF ruleset ( pfctl -sr / pfctl -t unchanged), causing new firewall rules to not work, likely due to pfBlockerNG overriding tables.:

              cannot define table pfB_Europe_v6: Cannot allocate memory

              To be honest the pfblocker and allocate memory has been a thing for a long time.. You should update how many entries can be used for tables if you are going to use huge tables like all the IPv6 networks in the EU ;)

              tables.jpg

              I don't have any such problems - but then again not using a table for all the IPv6 networks in the EU ;)

              An intelligent man is sometimes forced to be drunk to spend time with his fools
              If you get confused: Listen to the Music Play
              Please don't Chat/PM me for help, unless mod related
              SG-4860 26.03 | Lab VMs 2.8.1, 26.03

              tinfoilmattT 1 Reply Last reply Reply Quote 0
              • tinfoilmattT Offline
                tinfoilmatt LAYER 8 @johnpoz
                last edited by tinfoilmatt

                For additional reference—on a 32 GB system with an obnoxious DNSBL database (not that this is relevant beyond overall RAM utilization) and all teh geo IP, it never gets anywhere near the configured 15,000,000 maximum table entries size.

                1 Reply Last reply Reply Quote 0
                • J Offline
                  jacob.simon @tinfoilmatt
                  last edited by jacob.simon

                  @tinfoilmatt The system is a Netgate 8200, upon receiving this error it's only used 10% of its' 16 GB RAM. Also at this juncture it doesn't have other things configured, in fact the setup was completely vanilla (exited the setup wizard) and just added the GeoIP

                  tinfoilmattT SteveITSS 2 Replies Last reply Reply Quote 0
                  • tinfoilmattT Offline
                    tinfoilmatt LAYER 8 @jacob.simon
                    last edited by

                    Easy enough 'fix'. Simply adjust the setting highlighted by @johnpoz accordingly.

                    1 Reply Last reply Reply Quote 0
                    • M Offline
                      marcosm Netgate
                      last edited by

                      Note that the option should be set to at least twice the expected number of entries across all aliases. See:
                      https://docs.netgate.com/pfsense/en/latest/config/advanced-firewall-nat.html#firewall-maximum-table-entries

                      1 Reply Last reply Reply Quote 1
                      • SteveITSS Offline
                        SteveITS Rebel Alliance @jacob.simon
                        last edited by

                        @jacob.simon Just to add on, the issue isn't memory usage overall, it's "I ran out of slots to store things." (table entries)

                        Also since you mentioned geo IP, if you "block the world" that creates much larger aliases than "allow my country."

                        Long ago I'd read, if using pfBlocker, start table entries at 2 million and increase as necessary. YMMV

                        To upgrade, select your branch in System/Update/Update Settings. When upgrading, allow 10-15 minutes to reboot, or more depending on packages, CPU, and/or disk speed.
                        Only install packages for your version of pfSense.
                        Upvote 👍 helpful posts!

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