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

    pfblocker - speed up search

    Scheduled Pinned Locked Moved pfBlockerNG
    14 Posts 5 Posters 897 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.
    • M
      michmoor LAYER 8 Rebel Alliance
      last edited by

      One of the reasons im moving away from using pfbocker for DNS sinkholing is because searching for problematic domains for end users can be slow. PFblocker runs on SQL lite if i understand correctly. Arethere some optimizatiosn i can perform to speed up searches?

      For context i am running a SG-6100 on an SSD.

      Firewall: NetGate,Palo Alto-VM,Juniper SRX
      Routing: Juniper, Arista, Cisco
      Switching: Juniper, Arista, Cisco
      Wireless: Unifi, Aruba IAP
      JNCIP,CCNP Enterprise

      J S GertjanG 3 Replies Last reply Reply Quote 0
      • JonathanLeeJ
        JonathanLee
        last edited by

        You could swap to squid 🦑

        Make sure to upvote

        1 Reply Last reply Reply Quote 0
        • J
          jrey @michmoor
          last edited by

          @michmoor said in pfblocker - speed up search:

          is because searching for problematic domains for end users can be slow

          might need some more information -

          how many users?
          what mode are you running (unbound or unbound python) ?
          are you TLD wildcard blocking ? HSTS mode? blocking mode? etc settings?
          how big are your DSNBL lists?
          (I have 5 individual "lists" with just over 168,000 items)
          define "can be slow" -
          is it not always slow and just can be from time to time?
          what is slow? 1 sec, 5 sec, 10 sec
          are you sure the "searching" is the bottleneck?

          this seems like a normal typical response time from a wireless device on the network behind a 2100 with about 50 active devices at any given time, sometimes fewer, sometimes more

          ;; ANSWER SECTION:
          tiktok.com.		120	IN	A	0.0.0.0
          
          ;; Query time: 24 msec
          ;; SERVER: 192.168.0.1#53(192.168.0.1)
          ;; WHEN: Thu Sep 19 06:16:58 EDT 2024
          ;; MSG SIZE  rcvd: 55
          

          I can't say that this is "slow" or "fast" I can say it works and no one complains.

          1 Reply Last reply Reply Quote 0
          • S
            slu @michmoor
            last edited by

            @michmoor
            is it maybe a website which contains (as part of it) a blocked dns name?

            pfSense Gold subscription

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

              @michmoor said in pfblocker - speed up search:

              using pfbocker for DNS sinkholing is because searching for problematic domains for end users can be slow

              With 'searching' you mean :
              It takes multiple tens of seconds for this page to show up :

              5c0c0953-a226-4e40-b746-ef5f83dd7e9f-image.png

              Sqlite3 : these are the files created and maintained by pfBlockerng :

              38382284-9565-41cb-a997-732b4183bc8e-image.png

              You could even 'dump' them on the command line : there isn't much info stored into them. More like running totals etc.

              Or do you man something else ?


              I've managed to accelerate the Alerts page :

              cba90f5e-52e8-48dc-aa77-851bc08f51ba-image.png

              I emptied out the log files error.log just up until extras.log, and now Alerst shows up within a second.

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

              M 2 Replies Last reply Reply Quote 0
              • M
                michmoor LAYER 8 Rebel Alliance @Gertjan
                last edited by michmoor

                @Gertjan said in pfblocker - speed up search:

                With 'searching' you mean :

                Yes. Thats exactly what i mean. I apologize if i wasn't clearer in my original post.

                Searching under the Reporting tab just seems slow to me. I have about 40 clients right now using pfsense for DNS. If there is an issue of a potentially blocked site, i have to search for the IP and see all the sites it got blocked by. This is a time consuming process of finding the site , whitelist the site , reload , try to access the site again and hope it works.
                I cant do anything about the Reload piece but the searching just adds what feels to me, more time than i think is needed to find all block sites for a client hence i was asking if there was anything i could do to speed up the search.

                edit:

                Even searching the log files within the GUI takes such a long time to the point my browser tab crashes. In this example i am trying to find all instances of '192.168.141.18'. After a few seconds this page would crash.

                b9192b6e-dd0a-42f8-858e-73a43832273f-image.png

                97ca00d6-7032-470f-a485-3929fa91287f-image.png

                Firewall: NetGate,Palo Alto-VM,Juniper SRX
                Routing: Juniper, Arista, Cisco
                Switching: Juniper, Arista, Cisco
                Wireless: Unifi, Aruba IAP
                JNCIP,CCNP Enterprise

                1 Reply Last reply Reply Quote 0
                • M
                  michmoor LAYER 8 Rebel Alliance @Gertjan
                  last edited by

                  @Gertjan said in pfblocker - speed up search:

                  I emptied out the log files error.log just up until extras.log, and now Alerst shows up within a second.

                  what do you mean you emptied out? How? Sorry I'm not following

                  Firewall: NetGate,Palo Alto-VM,Juniper SRX
                  Routing: Juniper, Arista, Cisco
                  Switching: Juniper, Arista, Cisco
                  Wireless: Unifi, Aruba IAP
                  JNCIP,CCNP Enterprise

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

                    @michmoor said in pfblocker - speed up search:

                    what do you mean you emptied out?

                    You see this :

                    0966a698-410e-4156-8a3c-fa4cb6678b46-image.png

                    Go have a look here :

                    /var/unbound/var/log/pfblockerng/

                    and you'll find the dnsbl.log file.

                    Since it has DNS info from last 21 July, it must be huge.

                    You have a choice :

                    1. You want nice charts with lots of detailed info - and a pfSense (pfblockerng) that makes your system scrawl, or
                    2. Want a fast GUI (pfblockerng).

                    If you pick option 2, go for this one :

                    db8200c7-b529-41ca-9444-7f0740adaf11-image.png

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

                    J 2 Replies Last reply Reply Quote 0
                    • J
                      jrey @Gertjan
                      last edited by jrey

                      @Gertjan said in pfblocker - speed up search:

                      Since it has DNS info from last 21 July, it must be huge.

                      @michmoor
                      it only has 4307 lines in -- the default retention is to trim the file to 20,000 lines when cron runs the various jobs.

                      if that is a current screen capture with only ~4000 lines, and the retention levels are the default, but records date back to Jul 21 -- something else is going on.

                      the Page unresponsive, message -- look more like you are seeing that trying to navigate to the pfblocker logs page ? or more likely searching for the ip 192.168.141.18 using a browser search (that is what appears to be under the message and 1/3207 (found)) - something else is going on - the screen capture does not tell the whole story.

                      regardless of how many lines are "in the file" the alerts (and most of the reports) have limits as to how many lines they process and display -- (look in the Alerts Settings at the top of Alerts report for example) -- something else is going on.

                      I don't think you stated which version of pfsense or pfb you are running only that you are on a 6100.

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

                        @jrey

                        a 4100 with the big SSD (the max version), 24.03, pfBlockerNG-devel - 3.2.0_10.

                        @jrey said in pfblocker - speed up search:

                        it only has 4307 lines in

                        and that dnsbl.log file contains info from last 21/07/2024 or 2 months of logs ? imho, that's not a lot.

                        Right now, mine :

                        [24.03-RELEASE][root@pfSense.bhf.tld]/root: wc -l /var/unbound/var/log/pfblockerng/dnsbl.log
                           20610 /var/unbound/var/log/pfblockerng/dnsbl.log
                        

                        and searching for '127.0.0.1' is still pretty fast ( like one second or so ) :

                        ff314885-3ddd-41b7-82e4-c62b95e3997f-image.png

                        This was not the case yesterday. The same search took 30+ seconds ....
                        I start to doubt now why 'fast' today and slow yesterday.

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

                        J 1 Reply Last reply Reply Quote 0
                        • J
                          jrey @Gertjan
                          last edited by

                          @Gertjan said in pfblocker - speed up search:

                          Since it has DNS info from last 21 July, it must be huge.

                          @Gertjan said in pfblocker - speed up search:

                          and that dnsbl.log file contains info from last 21/07/2024 or 2 months of logs ? imho, that's not a lot.

                          seems like you've had a change of heart 😉

                          The screen capture the OP showed is what appears to be a browser search (since the under lying screen is the log page and the results are the raw file data) - this is not any of the "reports" - so a timeout here suggests "something else is going on and we don't have all the information )

                          doesn't matter what you or I are running really, the OP said

                          @michmoor said in pfblocker - speed up search:

                          For context i am running a SG-6100 on an SSD.

                          @Gertjan said in pfblocker - speed up search:

                          It takes multiple tens of seconds for this page to show up :

                          no is doesn't, and I'm on a 2100 (disclaimer: not that it matters, I don't use these reports at all - because everything is available to me in realtime over on a Graylog server) The doesn't however mean I can't go in a run a report on gate "multiple tens of seconds" - no multiple tens observed here

                          Never the less - the OP has "something else going on" and we need more information.

                          we might want to start with why the file is
                          a) so small
                          b) data in it so old
                          c) how is the response time to the selected DNS -- does the OP redirect DNS traffic (rules) - many of the reports do additional DNS running in realtime. what are the settings here? etc

                          Screen Shot 2024-09-20 at 7.50.01 AM.png

                          trying to report on something that is potentially no longer in a current "file" "list" could potentially have a significant impact on "some" of the reports that are attempting to "look things up". (not related to DNS, but also yes related to DNS)

                          @Gertjan The sample screen you provided:
                          Screen Shot 2024-09-20 at 7.53.45 AM.png

                          "Not listed" says that on July 26 (per the raw data, this block was in ET_Block_v4 but now at report time it is "not listed" --- these things take time to "look up"

                          an overlapping entry, might look like this: (that is the IP is (or could be blocked by either) - had to "look that up" because on one of those entries is in the raw data.

                          Screen Shot 2024-09-20 at 7.59.46 AM.png

                          • a not listed could also be that then (jul 26 in your sample) it was, but now if that is a "current" report, nothing would block it. - still had to "look it up"

                          The reports are limited to how much they "look at" when running.

                          Just my opinion but OP has "something else going on."

                          I'd be really curios to know - if the OP's file is even growing (line count)-
                          how are you blocking ? where are you actually logging ? are you logging?

                          1 Reply Last reply Reply Quote 0
                          • J
                            jrey @Gertjan
                            last edited by

                            @Gertjan said in pfblocker - speed up search:

                            This was not the case yesterday. The same search took 30+ seconds ....
                            I start to doubt now why 'fast' today and slow yesterday.

                            Easy - you deleted data.

                            But this is not the correct thing to do. 20000 records is not the issue.

                            You would be far better to adjust your search parameters to reasonable values.

                            consider the "Alerts Settings" section I posted above. This limits how many records are returned for each section of the report.

                            You have 6 setting with 3 reports. (The items on the menu just above without the word Stats so

                            unified - unified
                            Alerts - IP Deny (block), DNSBL, IP Permit and IP Match
                            DNS Reply

                            These relate direct to the 6 files. you have to process potenitally 4 times as many results to view the report. Likely not needed. depending on what you are "searching" for -- if you are looking for a given IP on the alerts tab (returning 500 results (or 200) or whatever you have in the setting takes more time.

                            Consider this: which of the 4 files do you want to search. say it is block (so IP Deny) - why would you care about searching DNSBL, IP Permit and IP Match. (you most likely don't) so why would you. Settings like this would return the most recent 50 records of the searched item.
                            Screen Shot 2024-09-20 at 5.28.58 PM.png

                            if this is set at 200 you want 200 results (max), 500 you want 500 results and so on.

                            Now on a larger file with a specific search items - large result counts mean more records to process up to your maximum. Depending on what you are searching for in 20000 records you might actually satisfy the request for 500 records but it had to process all records in the file to do that.

                            with a lower return count, it won't take nearly as long. because it will stop when it hits max. Try 50 (don't see what you want in 50 go a little bigger, don't see 50 go a little smaller)

                            Now when you delete the data, of course it is faster, there is less data to search, but what do you think it will find ? less answers -- so a large return value makes no sense here either

                            you are better to "tune" the report for each specific case you are looking for.
                            So for example, say you think it is DNSBL (per that OPs original post) that is what I think it is, so don't delete the data. set IP Deny to 0, DNSBL to 50, IP Permit to 0 and IP Match to 0.

                            So the defaults are 200 and it takes a long time to load the report even without search. Lower the default of each to 25 there is a save button to the right of each of the three ) Save Alerts. those values are now your defaults. the report should load without a search parameter considerably faster by default,

                            Now set your return record limits according to the table you want to search

                            0, 50, 0, 0
                            50, 0, 0, 0

                            If you think you'll find your answer in the most recent 25 records that match, pick that.
                            you will find that if you don't have enough data to satisfy the record count, with will only return up to what it finds or has.

                            Same applies to Unified and DNS Reply reports -- limit the number of results for a search that you need to see and your results will take far less time to process. Plus with the added bonus of still having data to search.

                            If you are set for 500 records and you delete the data of course it will return faster, but are you returning 500 records (especially if you search) the answer is not likely. but as the file gets bigger, it starts to get slower and slower.

                            All of the reports have extra overhead do more than just this as I've mentioned above

                            Only ask for what you need for Diagnostic, only take what you need for speed.

                            If you want more long term reporting for analysis - this is not the place for it. These reports are trouble shooting in the moment tools.

                            M 1 Reply Last reply Reply Quote 1
                            • M
                              michmoor LAYER 8 Rebel Alliance @jrey
                              last edited by michmoor

                              @jrey said in pfblocker - speed up search:

                              I cant speak for @Gertjan but this actually solves my issue or at least gives me a better way of optimizing my ability to search in pfblocker. I appreciate this @jrey

                              edit: I had to reread @jrey post a few times to make sure i understand it and i do. The report section alert settings i have overlooked completely since...forever. Tuning this to match what i am looking for in my report is clear. If I'm searching for DNS Blocks I'm better off tuning the Unified/IP logs to Zero and DNSBL to 500 (or whatever value) to ensure i get the findings i want.

                              Firewall: NetGate,Palo Alto-VM,Juniper SRX
                              Routing: Juniper, Arista, Cisco
                              Switching: Juniper, Arista, Cisco
                              Wireless: Unifi, Aruba IAP
                              JNCIP,CCNP Enterprise

                              J 1 Reply Last reply Reply Quote 0
                              • J
                                jrey @michmoor
                                last edited by jrey

                                @michmoor said in pfblocker - speed up search:

                                I cant speak for @Gertjan but

                                just looking at the various screen captures provided the return expectation of @Gertjan is at least 500 results. That means on whatever search you are doing please return the most recent 500 that match. For alerts in particular if all (4) sections of the report have the same return value limit and you are searching you are telling each section to return 500 results. Could generate a lot of reading and then looking up related "stuff" to do that on top.

                                Screen Shot 2024-09-20 at 6.15.34 PM.png

                                if you are looking for DNSBL set that field to 50 to start, set the other 3 to 0
                                Screen Shot 2024-09-20 at 6.43.57 PM.png

                                for the alerts report Unified setting and DNS Reply setting will have no impact
                                this is how the 6 return value settings line up to the 3 reports.

                                Screen Shot 2024-09-20 at 6.46.14 PM.png

                                Sorry the IP Permit and IP Match both go to Alerts, made the green lines too wide and the overlapped. Honest there are 4 green lines there... 😊

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