Script per bloccare le connessioni da uno Stato

Un rapido script per bloccare le connessioni da uno specifico stato via iptables, giusto per evitarsi un po’ di acari! 😀

Ad esempio per bloccare le connessioni dalla Cina (CN):

./antiacari.sh cn


#!/bin/bash
IPTABLES=/usr/sbin/iptables
COUNTRY=$1
echo "Praparing chain"
$IPTABLES -F ANTISPAM${COUNTRY} 2> /dev/null
$IPTABLES -D INPUT -j ANTISPAM${COUNTRY}
$IPTABLES -X ANTISPAM${COUNTRY} 2> /dev/null
$IPTABLES -N ANTISPAM${COUNTRY}
$IPTABLES -I INPUT 1 -j ANTISPAM${COUNTRY}
echo "Downloading zone"
curl http://www.ipdeny.com/ipblocks/data/countries/${COUNTRY}.zone 2> /dev/null | while read IP
do
$IPTABLES -A ANTISPAM${COUNTRY} -s $IP -j DROP
done

Per andare a vedere quanti pacchetti sono stati bloccati potete usare questo comando:

iptables -L ANTISPAMcn -vn | tail -n +3 | awk 'END { print s } { s += $1 }' -

34011