#Country ban with UFW#
Grab your different country ip addresses and save as Linux IPTables
http://www.ip2location.com/free/visitor-blocker
##Add country## Run the following command
while read line; do sudo ufw deny from $line; done < all.txt
Where the filename is the country.
##Remove country## To remove or revert these rules, keep that list of IPs! Then run a command like so to remove the rules:
while read line; do sudo ufw delete deny from $line; done < all.txt
##Suggestion## What I did was exported each individual country as their own country.txt file. But then realized that I wanted to run this thing one time, so I ran the following command:
cat *.txt >> all.txt
Then you can run your rule against all of the files.
On the other side, I can do whitelisting with this if I have a service just for one country. I guess I could do this (let's say service is web):
while read line; do ufw allow from $line to any port 80 proto tcp; done < country.txt
or if You have an app for that
while read line; do ufw allow from $line to any app 'Apache Full'; done < country.txt