Country Block
-
Could we include in GUI an option to increase this value and advise users that its unsupported?
EDIT:
wc -l in level files downloaded in cidr from fetch:
245749 level1
85703 level2
18753 level3
350205 total -
kk. We could give the users the option. It would just be inserting that text every time that file gets recreated. I've already done most of the work in IP-Blocklist and Countryblock.
/usr/local/pkg/pf/pf-blocker.sh
#!/bin/sh export t=`grep -n 'User Aliases' /tmp/rules.debug |grep -o '[0-9]\{1,2\}'` t=$(($t+'1')) #Insert table-entry limit /usr/bin/sed -i -e '/900000/d' /tmp/rules.debug while read line do a=$(($a+1)); #echo $a; if [ "$a" = "$t" ]; then echo "" >> /tmp/rules.debug.tmp echo "set limit table-entries 900000" >> /tmp/rules.debug fi echo $line >> /tmp/rules.debug done < "/tmp/rules.debug"
This code isn't tested but it's on the right track. We will have to have it check if the user has enabled this feature. I do this is IP-Blocklist and countryblock. Basically if the user enables it the package will create a file. If it's disabled the the file will be deleted. The script above will check if the file exists```
if [ -e FILE ] ....code here -
ok, I think its good enough to prevent errors until some 'core developer' could help us.
I'll try to put it in php way for most code compatibility.
The last thing to finish pfBlocker is cron package integration.
-
Cron for the updates?
-
use cron package instead of editing /etc/cront for lists updates…
-
Great work so far on the pfblocker package. I currently have a problem with it. I had countryblock installed and working previously. I removed that package and then installed the pfblocker package. The widget says that it is blocking networks but it comes up with a fail to load list message in the syslog.
Oct 29 01:38:43 php: : The command '/sbin/pfctl -o basic -f /tmp/rules.debug' returned exit code '1', the output was 'no IP address found for 1139.82.0.0/16 /tmp/rules.debug:16: file "/var/db/aliastables/pfBlockerInbound.txt" contains bad data no IP address found for 1139.82.0.0/16 /tmp/rules.debug:18: file "/var/db/aliastables/pfBlockerOutbound.txt" contains bad data pfctl: Syntax error in config file: pf rules not loaded'
Oct 29 01:38:43 php: : New alert found: There were error(s) loading the rules: no IP address found for 1139.82.0.0/16 /tmp/rules.debug:16: file "/var/db/aliastables/pfBlockerInbound.txt" contains bad data no IP address found for 1139.82.0.0/16 /tmp/rules.debug:18: file "/var/db/aliastables/pfBlockerOutbound.txt" contains bad data pfctl: Syntax error in config file: pf rules not loaded The line in question reads [16]: table <pfblockerinbound>persist file "/var/db/aliastables/pfBlockerInbound.txt"
Oct 29 01:38:43 php: : There were error(s) loading the rules: no IP address found for 1139.82.0.0/16 /tmp/rules.debug:16: file "/var/db/aliastables/pfBlockerInbound.txt" contains bad data no IP address found for 1139.82.0.0/16 /tmp/rules.debug:18: file "/var/db/aliastables/pfBlockerOutbound.txt" contains bad data pfctl: Syntax error in config file: pf rules not loaded - The line in question reads [16]: table <pfblockerinbound>persist file "/var/db/aliastables/pfBlockerInbound.txt"This is what happens when i only try to block countries and set none on the list block. I can try inbound or outbound and still get same error. I have tried reinstalling it. Do you know what it might be?</pfblockerinbound></pfblockerinbound>
-
Post here the countries you selected.
I will check the script.
-
I tired various countries, I get the same result when I select whitelist. I get the same result with all the countries. I have selected one from top spammers and one from south america. I also noticed that when i select one country from a tab then i can not unselect it. I can only select other ones. Using Chrome.
Oct 29 02:07:23 php: : The command '/sbin/pfctl -o basic -f /tmp/rules.debug' returned exit code '1', the output was 'no IP address found for 192.168.81.0/2411.0.1.0/24 /tmp/rules.debug:16: file "/var/db/aliastables/pfBlockerWL.txt" contains bad data pfctl: Syntax error in config file: pf rules not loaded'
Oct 29 02:07:23 php: : New alert found: There were error(s) loading the rules: no IP address found for 192.168.81.0/2411.0.1.0/24 /tmp/rules.debug:16: file "/var/db/aliastables/pfBlockerWL.txt" contains bad data pfctl: Syntax error in config file: pf rules not loaded The line in question reads [16]: table <pfblockerwl>persist file "/var/db/aliastables/pfBlockerWL.txt"
Oct 29 02:07:23 php: : There were error(s) loading the rules: no IP address found for 192.168.81.0/2411.0.1.0/24 /tmp/rules.debug:16: file "/var/db/aliastables/pfBlockerWL.txt" contains bad data pfctl: Syntax error in config file: pf rules not loaded - The line in question reads [16]: table <pfblockerwl>persist file "/var/db/aliastables/pfBlockerWL.txt"The rules and alias appear to be created ok.</pfblockerwl></pfblockerwl>
-
I found the error.
It's fixed now.
-
tommyboy,
Instead of editing /tmp/rules.debug, i will 'patch' filter.inc file with table-entries when clients choose to increase table.
I will also write some code to alert user when table gets larger then default limit.
-
That sounds like a good solution. We can use sed to insert the line to 'patch' and remove the line to 'unpatch'
-
I don't believe this:
Look what i found in filter.inc after coding everything…
set limit table-entries {$config['system']['maximumtableentries']}
it was all time in front of our noses :D
I'll fix the code and relase a new version..
-
PfBlocker 0.1.3 is out.
Main improvement:
Check network list size before applying rules. If lists are bigger then table size, pfBlocker sends a warning to user and suggest new value for table size.
-
tommyboy,
I've started a new topip for pfBlocker, if you don't mind.
http://forum.pfsense.org/index.php/topic,42543.0.html
-
Pfblocker???
-
Pfblocker???
yes, countryblock evolution started after this post from cmb
http://forum.pfsense.org/index.php/topic,25732.msg218002.html#msg218002
take a look.
-
Pfblocker???
pfblocker will combine IP-Blocklist and Countryblock into a single package. It is going to be officially more stable than any release of Countryblock and IP-Blocklist thanks to all the hard work of marcelloc!
I don't believe this:
Look what i found in filter.inc after coding everything…
set limit table-entries {$config['system']['maximumtableentries']}
it was all time in front of our noses :D
I'll fix the code and relase a new version..
That is awesome! I didn't even see that. Glad you caught it.
-
Who came up with the idea for this??? ;)
-
The first goal was to Fix countryblock. Everything after this was 'forum brainstorm'.
-
Tommyboy, don't know if you are still reading this. I have pfSense 2.0 release with the Country Block package. I didn't 'upgrade' to pfBlocker yet.
Today I did an upgrade from pfSense 2.0 Release to 2.0.1 Release. During reboot, all packages are reinstalled. But, it loops in removing/installing Country Block:Cleaning up... Beginning package installation for Country Block... Downloading package configuration file... done. Saving updated package information... done. Downloading Country Block and its dependencies... Loading package configuration... done. Configuring package components... Additional files... done. Loading package instructions... Custom commands... Executing custom_php_install_command()...done. Executing custom_php_resync_config_command()...done. Custom commands... Executing custom_php_install_command()...done. Executing custom_php_resync_config_command()...done. Backing up libraries... Removing package... Removing Country Block components... Tabs items... done. Menu items... done. Loading package instructions... Deinstall commands... done. Removing package instructions...done. Auxiliary files... done. Package XML... done. Configuration... done. Cleaning up... Beginning package installation for Country Block... Downloading package configuration file... done. Saving updated package information... done. Downloading Country Block and its dependencies... Loading package configuration... done. Configuring package components... Additional files... done. Loading package instructions... Custom commands... Executing custom_php_install_command()...done. Executing custom_php_resync_config_command()...done. Custom commands... Executing custom_php_install_command()...done. Executing custom_php_resync_config_command()...done. Menu items... Backing up libraries... Removing package... Removing Country Block components... Tabs items... done. Menu items... done. Loading package instructions... Deinstall commands... done. Removing package instructions...done. Auxiliary files... done. Package XML... done. Configuration... done. Cleaning up... Beginning package installation for Country Block... Downloading package configuration file... done. Saving updated package information... done. ...etc...
I can't remove the package through the webinterface, because it says "package are being reinstalled in the background". I don't know what to do. The console just loops and loops…
Do you have an other way of removing the package. I don't want to do a complete new install...