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

    PfBlockerNG v2.0 w/DNSBL

    Scheduled Pinned Locked Moved pfBlockerNG
    1.1k Posts 192 Posters 1.8m 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.
    • P
      Panja
      last edited by

      @doktornotor:

      Yes, so that works, apparently. That "Block access to firewall" ain't doing any good there, clearly.

      How would you do it any differently than?
      I want my WIFI_GUEST interface to have no access to the firewall.
      Guests are not to be allowed to do anything except browse the internet.

      [UPDATE]

      Is this any better than.  8)
      I have blocked the admin ports (http/https + ssh) to the firewall instead of all.

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

        @Panja:

        I want my WIFI_GUEST interface to have no access to the firewall.
        Guests are not to be allowed to do anything except browse the internet.

        Understandable. I thing the same way.
        I did the same thing as you, and added 'sensitive ports' …..
        See image.

        CPFW.png
        CPFW.png_thumb

        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
        • P
          Panja
          last edited by

          Thanks fellow Dutchman.  ;D
          I have created an alias with the admin ports now as well.
          See post above –> [UPDATE]

          1 Reply Last reply Reply Quote 0
          • D
            doktornotor Banned
            last edited by

            @Jamerson:

            Guys, any suggestions why the webserver is not starting ?
            pfBlockerNG DNSBL Web Server is not starting,

            Yes. Because a variable is undefined on install (see the first line in the code below), so it creates a broken /usr/local/etc/rc.d/dnsbl.sh with missing path to the lighttpd config file.

            Copy and paste this to Diagnostics - Command Prompt - PHP Execute, click the 'Execute' button and problem fixed.

            
            $pfb['dnsbl_conf'] = '/var/unbound/pfb_dnsbl_lighty.conf';
            $rc = array();
            $rc['file'] = 'dnsbl.sh';
            $rc['start'] = << <eof<br># Start DNSBL Lighttpd webserver
            	if [ -f '{$pfb['dnsbl_conf']}' ]; then
            		/usr/local/sbin/lighttpd_pfb -f '{$pfb['dnsbl_conf']}'
            	fi
            
            	# Terminate DNSBL HTTPS Daemon if found
            	pidnum="$(/bin/ps -wax | /usr/bin/grep '[p]fblockerng.inc dnsbl' | /usr/bin/awk '{print $1}')"
            	if [ ! -z "\${pidnum}" ]; then
            		/bin/kill -9 "\${pidnum}"
            		/bin/sleep 2
            	fi
            
            	# Start DNSBL HTTPS Daemon
            	/usr/local/bin/php -f /usr/local/pkg/pfblockerng/pfblockerng.inc dnsbl &
            
            EOF;
            
            $rc['stop'] = << <eof<br># Terminate DNSBL Lighttpd webserver, if found.
            	pidnum="$(/bin/pgrep lighttpd_pfb)"
            	if [ ! -z "\${pidnum}" ]; then
            		/usr/bin/killall lighttpd_pfb
            	fi
            
            	# Terminate DNSBL HTTPS Daemon, if found.
            	pidnum="$(/bin/ps -wax | /usr/bin/grep '[p]fblockerng.inc dnsbl' | /usr/bin/awk '{print $1}')"
            	if [ ! -z "\${pidnum}" ]; then
            		/bin/kill -9 "\${pidnum}"
            		/bin/sleep 2
            	fi
            
            EOF;
            
            write_rcfile($rc);
            
            mwexec("/usr/bin/sed -i -e 's/\r//g' /usr/local/etc/rc.d/dnsbl.sh");
            mwexec_bg("/usr/local/etc/rc.d/dnsbl.sh start");</eof<br></eof<br> 
            
            1 Reply Last reply Reply Quote 0
            • P
              Panja
              last edited by

              Is there a way, or will there be a way (in a future release) to add our own EasyList?
              As a Dutchman, I would like to add the Dutch EasyList, to block elements specially found on Dutch websites.

              Thanks

              1 Reply Last reply Reply Quote 0
              • J
                Jamerson
                last edited by

                @doktornotor:

                @Jamerson:

                Guys, any suggestions why the webserver is not starting ?
                pfBlockerNG DNSBL Web Server is not starting,

                Yes. Because a variable is undefined on install (see the first line in the code below), so it creates a broken /usr/local/etc/rc.d/dnsbl.sh with missing path to the lighttpd config file.

                Copy and paste this to Diagnostics - Command Prompt - PHP Execute, click the 'Execute' button and problem fixed.

                
                $pfb['dnsbl_conf'] = '/var/unbound/pfb_dnsbl_lighty.conf';
                $rc = array();
                $rc['file'] = 'dnsbl.sh';
                $rc['start'] = << <eof<br># Start DNSBL Lighttpd webserver
                	if [ -f '{$pfb['dnsbl_conf']}' ]; then
                		/usr/local/sbin/lighttpd_pfb -f '{$pfb['dnsbl_conf']}'
                	fi
                
                	# Terminate DNSBL HTTPS Daemon if found
                	pidnum="$(/bin/ps -wax | /usr/bin/grep '[p]fblockerng.inc dnsbl' | /usr/bin/awk '{print $1}')"
                	if [ ! -z "\${pidnum}" ]; then
                		/bin/kill -9 "\${pidnum}"
                		/bin/sleep 2
                	fi
                
                	# Start DNSBL HTTPS Daemon
                	/usr/local/bin/php -f /usr/local/pkg/pfblockerng/pfblockerng.inc dnsbl &
                
                EOF;
                
                $rc['stop'] = << <eof<br># Terminate DNSBL Lighttpd webserver, if found.
                	pidnum="$(/bin/pgrep lighttpd_pfb)"
                	if [ ! -z "\${pidnum}" ]; then
                		/usr/bin/killall lighttpd_pfb
                	fi
                
                	# Terminate DNSBL HTTPS Daemon, if found.
                	pidnum="$(/bin/ps -wax | /usr/bin/grep '[p]fblockerng.inc dnsbl' | /usr/bin/awk '{print $1}')"
                	if [ ! -z "\${pidnum}" ]; then
                		/bin/kill -9 "\${pidnum}"
                		/bin/sleep 2
                	fi
                
                EOF;
                
                write_rcfile($rc);
                
                mwexec("/usr/bin/sed -i -e 's/\r//g' /usr/local/etc/rc.d/dnsbl.sh");
                mwexec_bg("/usr/local/etc/rc.d/dnsbl.sh start");</eof<br></eof<br> 
                

                thank you mate,
                runned the php code but nothing happens .

                I get this error

                Diagnostics: Execute command help

                Note: this function is unsupported. Use it on your own risk!

                rebooted the firewall but the services still not starting

                1 Reply Last reply Reply Quote 0
                • D
                  doktornotor Banned
                  last edited by

                  And what exactly did you expect to happen? Check that the service is running. If not, post the output of

                  
                  /usr/local/etc/rc.d/dnsbl.sh start
                  
                  

                  here. And post the entire file here as attachment.

                  1 Reply Last reply Reply Quote 0
                  • J
                    Jamerson
                    last edited by

                    @doktornotor:

                    And what exactly did you expect to happen? Check that the service is running. If not, post the output of

                    
                    /usr/local/etc/rc.d/dnsbl.sh start
                    
                    

                    here. And post the entire file here as attachment.

                    thank you for your answer,
                    I was expecting the service would start after I run the command.
                    isn't that the aim ?
                    when I run the command the firewall doesn't respond at all !
                    i'v tired different command to check if it will responde and it does.

                    the command

                    [2.2.5-RELEASE][root@firewall]/root: /usr/local/etc/rc.d/dnsbl.sh start

                    [2.2.5-RELEASE][root@Pfsense]/root:
                    [2.2.5-RELEASE][root@Pfsense]/root:

                    is not responding at all.

                    1 Reply Last reply Reply Quote 0
                    • D
                      doktornotor Banned
                      last edited by

                      Uhm??? And what output exactly are you expecting? This is NORMAL! If there are no errors, there won't be any output. How exactly are you determining that your service is NOT running?

                      1 Reply Last reply Reply Quote 0
                      • J
                        Jamerson
                        last edited by

                        Than you for your answer,
                        attached picture is showing that the services is not running .
                        when i try to run the service manually it said it started but nothings happend

                        thank you

                        ![Screen Shot 2015-11-25 at 9.13.32 PM.png](/public/imported_attachments/1/Screen Shot 2015-11-25 at 9.13.32 PM.png)
                        ![Screen Shot 2015-11-25 at 9.13.32 PM.png_thumb](/public/imported_attachments/1/Screen Shot 2015-11-25 at 9.13.32 PM.png_thumb)

                        1 Reply Last reply Reply Quote 0
                        • S
                          schnubert
                          last edited by

                          Hi!

                          I am having a short question to the different aliases for the different lists as suggested here https://forum.pfsense.org/index.php?topic=102470.msg573159#msg573159.
                          So, apart from having the possibility to set a different update-interval is thtere another benefitout of it?

                          thanks in advance and many thanks to BBCan177  :)!

                          1 Reply Last reply Reply Quote 0
                          • D
                            doktornotor Banned
                            last edited by

                            V@schnubert:

                            So, apart from having the possibility to set a different update-interval is thtere another benefitout of it?

                            The Alexa whitelisting is also per-alias. (You normally do NOT want to whitelist most "popular" advertising sites…)

                            1 Reply Last reply Reply Quote 0
                            • S
                              schnubert
                              last edited by

                              Valid point…  ;)

                              I wasnt investing Alexa so far, it seems I should!

                              thanks!  :D

                              1 Reply Last reply Reply Quote 0
                              • G
                                Gerard64
                                last edited by

                                Today I updated PfblockerNG to version 2.0.1 and enabled and configured DNSBL like BBcan177 explained at https://forum.pfsense.org/index.php?topic=102470.msg572943#msg572943 after some fiddling around (I exchanged dnsforwarder with dnsresolver) it started. But now I have another problem I can't solve. I have a local domain at a local bind9 I override my local domain in dnsresolver like I did before with dnsforwarder but now I can't do reverse lookups anymore.

                                How can I make reverse lookups work again?

                                1 Reply Last reply Reply Quote 0
                                • BBcan177B
                                  BBcan177 Moderator
                                  last edited by

                                  @trinidadrancheria:

                                  I was thinking about using the new features of pfBlockerNG 2.0 to stop spam at the firewall since the current version of PostFix does not yet support DNSBL out of the box..

                                  IP lists and DNSBL feeds can protect a Mail server, but it won't replace DNS RBL functionality of Postfix/SpamAssassin etc…

                                  @AndrewZ:

                                  Re-installed and re-configured from scratch, nothing helps, the warning is still there.
                                  No error in the log.
                                  /var/db/pfblockerng/deny is empty (I have permit aliases only).

                                  @AndrewZ,
                                  De-duplication is only used for Deny rules. So just disable dedup to clear that warning message.

                                  @ha11oga11o:

                                  Dear BBcan177 i just want to express my huge gratitude to you incorporating DNSBL. Im using it for couple of days so far. It is insane how god is behave on my network. It is really insane how good it is. It simply work and it blocks so much garbage that is almost impossible to believe.

                                  THANK YOU!

                                  Thanks!

                                  @doktornotor:

                                  Yes. Because a variable is undefined on install (see the first line in the code below), so it creates a broken /usr/local/etc/rc.d/dnsbl.sh with missing path to the lighttpd config file.

                                  Thanks Dok… I will get that variable fixed asap.

                                  @schnubert:

                                  So, apart from having the possibility to set a different update-interval is there another benefit out of it?

                                  @schnubert,
                                  Most DNSBL lists are updated on a daily basis… hpHosts has a partial feed that updates more frequently. You can see the last updated timestamp for IP/DNSBL Lists/feeds at the end of the pfBlockerng.log after any Cron event.

                                  @Gé:

                                  I have a local domain at a local bind9 I override my local domain in dnsresolver like I did before with dnsforwarder but now I can't do reverse lookups anymore.

                                  Probably best to ask for help in the DNS forum section for this issue.

                                  @Jamerson:

                                  Than you for your answer, attached picture is showing that the services is not running .
                                  when i try to run the service manually it said it started but nothings happened

                                  @Jamerson,
                                  Please edit the following file  /usr/local/etc/rc.d/dnsbl.sh

                                  and add the line in red as shown below:

                                  186 update_static_output(" done.\nCreating DNSBL web server start-up script…");
                                        $pfb['dnsbl_conf'] = '/var/unbound/pfb_dnsbl_lighty.conf';
                                  187 $rc = array();

                                  Then run:

                                  /usr/local/etc/rc.d/dnsbl.sh start
                                  

                                  Also did you follow the checklist here:
                                  https://forum.pfsense.org/index.php?topic=102470.msg573776#msg573776

                                  "Experience is something you don't get until just after you need it."

                                  Website: http://pfBlockerNG.com
                                  Twitter: @BBcan177  #pfBlockerNG
                                  Reddit: https://www.reddit.com/r/pfBlockerNG/new/

                                  1 Reply Last reply Reply Quote 0
                                  • P
                                    Panja
                                    last edited by

                                    @Panja:

                                    Is there a way, or will there be a way (in a future release) to add our own EasyList?
                                    As a Dutchman, I would like to add the Dutch EasyList, to block elements specially found on Dutch websites.

                                    Thanks

                                    Can this be done?

                                    1 Reply Last reply Reply Quote 0
                                    • G
                                      Gerard64
                                      last edited by

                                      @BBcan177:

                                      @Gé:

                                      I have a local domain at a local bind9 I override my local domain in dnsresolver like I did before with dnsforwarder but now I can't do reverse lookups anymore.

                                      Probably best to ask for help in the DNS forum section for this issue.

                                      I could do that. This morning wen i woke up several wlan users complained they couldn't get on the internet. i can't see anything wrong in pfsense everything seems to work but i can't get to internet on wlan. To many trouble with DNSBL so i'm going to disable DNSBL and start using dns-forwarder again and pfblocker without dnsbl. I also had to stop using ram file system for /var and /tmp because here also trouble because /var was full all the time wen i use dnsbl. anyway to much problems.

                                      Edit: Wlan problems seem to be that pfsense local freeradius server can't be reached anymore.

                                      1 Reply Last reply Reply Quote 0
                                      • J
                                        Jamerson
                                        last edited by

                                        @Jamerson,
                                        Please edit the following file  /usr/local/etc/rc.d/dnsbl.sh

                                        and add the line in red as shown below:

                                        186 update_static_output(" done.\nCreating DNSBL web server start-up script…");
                                              $pfb['dnsbl_conf'] = '/var/unbound/pfb_dnsbl_lighty.conf';
                                        187 $rc = array();

                                        Then run:

                                        /usr/local/etc/rc.d/dnsbl.sh start
                                        

                                        Also did you follow the checklist here:
                                        https://forum.pfsense.org/index.php?topic=102470.msg573776#msg573776

                                        thank you so much for your answer,
                                        the check list is already enabled ,
                                        I've checked the as show but can't seem the find the location on the code to add the red line
                                        below is what it shows on the dnsbl.sh file

                                        #!/bin/sh

                                        This file was automatically generated

                                        by the pfSense service handler.

                                        rc_start() {

                                        Start DNSBL Lighttpd webserver

                                        if [ -f '/var/unbound/pfb_dnsbl_lighty.conf' ]; then
                                        /usr/local/sbin/lighttpd_pfb -f '/var/unbound/pfb_dnsbl_lighty.conf'
                                        fi

                                        Terminate DNSBL HTTPS Daemon if found

                                        pidnum="$(/bin/ps -wax | /usr/bin/grep '[p]fblockerng.inc dnsbl' | /usr/bin/awk '{print $1}')"
                                        if [ ! -z "${pidnum}" ]; then
                                        /bin/kill -9 "${pidnum}"
                                        /bin/sleep 2
                                        fi

                                        Start DNSBL HTTPS Daemon

                                        /usr/local/bin/php -f /usr/local/pkg/pfblockerng/pfblockerng.inc dnsbl &

                                        }

                                        rc_stop() {

                                        Terminate DNSBL Lighttpd webserver, if found.

                                        pidnum="$(/bin/pgrep lighttpd_pfb)"
                                        if [ ! -z "${pidnum}" ]; then
                                        /usr/bin/killall lighttpd_pfb
                                        fi

                                        Terminate DNSBL HTTPS Daemon, if found.

                                        pidnum="$(/bin/ps -wax | /usr/bin/grep '[p]fblockerng.inc dnsbl' | /usr/bin/awk '{print $1}')"
                                        if [ ! -z "${pidnum}" ]; then
                                        /bin/kill -9 "${pidnum}"
                                        /bin/sleep 2
                                        fi

                                        }

                                        case $1 in
                                        start)
                                        rc_start
                                        ;;
                                        stop)
                                        rc_stop
                                        ;;
                                        restart)
                                        rc_stop
                                        rc_start
                                        ;;
                                        esac

                                        1 Reply Last reply Reply Quote 0
                                        • I
                                          Ibor Daru
                                          last edited by

                                          @Panja:

                                          Is there a way, or will there be a way (in a future release) to add our own EasyList?
                                          As a Dutchman, I would like to add the Dutch EasyList, to block elements specially found on Dutch websites.

                                          Thanks

                                          Concur to that as well!

                                          1 Reply Last reply Reply Quote 0
                                          • BBcan177B
                                            BBcan177 Moderator
                                            last edited by

                                            @Ibor:

                                            @Panja:

                                            Is there a way, or will there be a way (in a future release) to add our own EasyList?
                                            As a Dutchman, I would like to add the Dutch EasyList, to block elements specially found on Dutch websites.

                                            Thanks

                                            Concur to that as well!

                                            @Panja @Ibor Daru,

                                            Yes this can be done. However, I am working on porting the package to 2.3 (Bootstrap) and trying to manage day-to-day life at the same time…  :)

                                            ADBlock works differently than DNSBL... ADBlock can filter domains as follows:

                                            www.cnn.com/banners/example.com

                                            AdBlock will filter any domain listed in the /banners folder, but DNSBL will need to know explicitly which Domains to block. ADBlock also has subdomains which if used in DNSBL will cause severe False Positives.

                                            So to use any of the other ADBlock EasyList feeds (Dutch, Chinese, German etc...) I have to know which categories are the actual ADvert domains. Not all of the ADBlock EasyList Feeds can be used...

                                            If you look at the DNSBL EasyList Tab, you can see which categories are being used for EasyList (w/o Elements) and EasyList Privacy.. You can compare this to the raw EasyList file and manually add the Dutch EasyList ADvert domains and add those to a Custom List for DNSBL. Just make sure that its formatted to one domain per line.

                                            It is something that I would like to do... Just need to find some time... But it will be added :)

                                            "Experience is something you don't get until just after you need it."

                                            Website: http://pfBlockerNG.com
                                            Twitter: @BBcan177  #pfBlockerNG
                                            Reddit: https://www.reddit.com/r/pfBlockerNG/new/

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