#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.
Just added the CIDR files for the countries I wanted to block: China, Great Britain, and Sweden. Took 20 minutes or so. The size of the files seems unworkable. Didn't see an immediate performance degradation, but it's tens of thousands of lines. Can be the best approach. Maybe Cloudflare free account? Assuming there is such and it will work? Think I read it would, just wanted an on-the-server approach.