PfBlockerNG
-
Yes the recent changes in pfense 2.3 from Lighttpd to NGINX broke the DNSBL feature… I will be submitting a PR to fix this up soon....
Any news on this front I upgraded to 2.3 and I think this blew up. It came up without DNS working and I removed the DNSBL stuff to get a working config. Reading the forum now for status.
Cheers!
Hey Dan, if I recall, you are using a Nano or Ramdisk correct?
If that is the case, when you did your update, Unbound had the Adv. Options with the "server:include: /var/unbound/pfb_dnsbl.conf" line but since the /var folder is wiped out, Unbound crashes due to this missing file.
You can run a "Force Update" in pfBNG to get it working again.
For others with this issue (Nano/RamDisk). Best to disable the pfBNG package before an Update or a configuration Restore (IE: Make sure the backup configuration has pfBNG disabled)
-
I'm running the last 2.3 and getting a lot those errors:
Hi, Those errors don't point to the issue unfortunately… Could you take a look at the file /tmp/PHP_errors.log and see if it shows any other clues?
It looks like the pfBlockerNG Cron task is being called, but there is no specific error indicated? Also take a look at the pfblockerng.log file around the timestamps of these errors, and see if they report any additional clues…
-rw-r--r-- 1 root wheel 0 Apr 14 12:26 PHP_errors.log
===[ DNSBL Process ]================================================ Warning: Invalid argument supplied for foreach() in /usr/local/pkg/pfblockerng/pfblockerng.inc on line 3057 Call Stack: 0.0019 211244 1\. {main}() /usr/local/www/pfblockerng/pfblockerng.php:0 0.0902 6447240 2\. pfblockerng_sync_cron() /usr/local/www/pfblockerng/pfblockerng.php:94 0.0904 6450620 3\. sync_package_pfblockerng() /usr/local/www/pfblockerng/pfblockerng.php:387 Clearing all DNSBL Feeds... completed Validating database... completed Restarting Unbound ... completed DNSBL update [ 0 ]... completed ------------------------------------------
-
Part of coding apoint the error:
// Save alias statistics to file (Remove any feeds that are not referenced) $handle = @fopen("{$pfb['dnsbl_info']}", 'w'); fwrite($handle, "# Keeping this file open in a file editor will interrupt DNSBL!\n");
foreach ($dnsbl_info as $alias) {
if (in_array($alias[0], $alias_dnsbl_all)) { fputcsv($handle, $alias); } } @fclose($handle);
-
Warning: Invalid argument supplied for foreach() in /usr/local/pkg/pfblockerng/pfblockerng.inc on line 3057
Clearing all DNSBL Feeds… completed
Validating database... completed
Restarting Unbound ... completed
DNSBL update [ 0 ]… completedDoes DNSBL have any defined Feeds? Its showing as "0"? If you don't use DNSBL, then disable it, or add some Feeds…
However, to fix this issue, will need to add two lines of code as indicated in Red below. I didn't adjust the line spacing, to make it easier for you to add in these two lines... Will get this added to the next Pull Request...
// Save alias statistics to file (Remove any feeds that are not referenced)
$handle = @fopen("{$pfb['dnsbl_info']}", 'w');
fwrite($handle, "# Keeping this file open in a file editor will interrupt DNSBL!\n");
if (!empty($dnsbl_info)) {
foreach ($dnsbl_info as $alias) {
if (in_array($alias[0], $alias_dnsbl_all)) {
fputcsv($handle, $alias);
}
}
}
@fclose($handle); -
Fixed.
Thanks
-
What up, @BBcan177!
Long-time lurker, first-time poster. I think I've discovered a bug in your otherwise fantastic piece of software. I'm on the latest versions of everything and have DNSBL up and running smoothly. I have the North America list set to Alias Native for the United States only, and I have the pfb_NAmerica alias used in a WAN rule to allow access to an OpenVPN server running on pfSense from the public internet, but only from United States source IP's. I also have the option selected in pfBlockerNG to kill states during cron/force update. When I run a force update with the setup outlined above, after the block lists are updated, the log shows pfBlockerNG removing the states of what looks like all active connections to United States IP's with the culprit being [ pfB_NAmerica_v4-Inbound ]. This happens whether or not logging to the firewall log is enabled for the rule and whether or not the rule is set to disabled. Changing the list action to Alias Permit or Alias Match instead of Alias Native also doesn't change this behavior; states still get killed. Removing the alias from the rule or completely deleting the rule does end the update massacre.
If a list is set to Alias Native, shouldn't pfBlockerNG only kill the states for that list if the alias is used in an active (not disabled) blocking rule? Also, I wouldn't expect that a list set to Alias Permit or Alias Match would ever have its states killed. Am I missing something?
-
Hello,
For Outbound Interface I have 'LAN' selected and 'Deny Both' in the IPv4 lists. Is it possible exclude a source ip address from the LAN interface? I dont want to use 'Deny Outbound' for a particular ip address.
Thanks
-
Hello,
For Outbound Interface I have 'LAN' selected and 'Deny Both' in the IPv4 lists. Is it possible exclude a source ip address from the LAN interface? I dont want to use 'Deny Outbound' for a particular ip address.
Thanks
Try the Advanced Outbound Rule settings:
Create a pfSense Alias "ExcludedIP" and add any (lan) SRC IPs that you want to exclude… Check the "Invert" option. Also change the "Custom Protocol" setting to "TCP/UDP":
( The created Firewall Rule is shown in the Red box )NOTE - There is a bug with the existing package for "Outbound Protocol" settings. I have a fix for for this in the pfSense 2.3 version of pfBlockerNG in PR #107, that is waiting to be merged…
-
Thanks for the screenshot. But instead of source, i have a destination?
-
Yes that is also part of the fix in PR #107… Sometimes copy/paste is a bad thing... Its really "Custom Source"... Wait for the next version and it should work for you :)
-
Hey everyone,
My apologies, but I'm just not getting how to make the ipv4 lists work.
I have an i-blocklist subscription and I enter in the list and can see when I update that it's finding updates, but I don't see any alias created or any rules made outside of the country blocks. Should I see any firewall alias's or rules after entering an ipv4 list/s?
I've done my fair share of looking through this thread and I still can't figure it out. Any help would be greatly appreciated, even if its "no you're doing it wrong".
Thanks,
Tom
-
Hi Tom,
What does the text say just below the "Save" button :)
Goto the Update Tab and click "Force Update".
Also instead of blocking the world, best to permit the ones that you want. I've written about that in this thread and in Reddit.
-
I do the force update, but it doesn't seem to have an effect. Every time my tab (Chrome) will show the spinning icon, and eventually I will get an nginx timeout.
-
What does the pfblockerng.log show? Goto the Log Browser tab to view it for clues. Never seen this issue before.
What pfSense version? What kind of hardware? If your blocking the world, you might be blocking DNS servers (if using the resolver) and IBlock urls might be in other Countries.
-
Only log that will show is the pfblocker log, all other logs show failure to read.
I'm on 2.3 release and the hardware is a Dell Optiplex 960
https://www.dell.com/downloads/global/products/optix/en/desktop-optiplex-960-technical-guidebook-en.pdf.
-
Are there any more lines in the pfblockerng.log file? Can you scroll down to see the end of the log? Those entries are ~24hrs ago. Did you select the Interfaces in the General Tab?
-
Thats all there is in the log. Entries are recent, at least in my timezone :) Interfaces are configured per the screenshot below.
-
You clicked "Floating Rules". So any firewall rules will not show in the wan/lan tabs. Goto the floating tab to see the rules. If Cron is running. You will not be able to Force Update till cron completes. You should be able to hit "view" in the update Tab while Cron is running.
-
Here is what I have on the floating rules. Should there be additional rules for ipv4 lists?
-
Here is what I have on the floating rules. Should there be additional rules for ipv4 lists?
Hi samoth, I sent you a PM…