Ban pays iptables ip-range

Bonjour à tous

Hier soir je me suis intéressé à l’ip range de l’iptables pour exclure un pays mais le problème c’est que les range ip de certains pays sont très grands et je me demande s’il est possible de mettre une règle iptables qui va ensuite chercher toutes les adresses ip range dans un fichier.ips ?

countryipblocks.net/country- … t-formats/

Merci de vos futurs réponses

debian squeeze kde

salut

voila de quoi t’amuser

#!/bin/bash
### Block tout traffic de AFGHANISTAN (af), RUSSE (ru), and CHINA (cn). ###
ISO="af cn ru" 

### PATH ###
IPT=/sbin/iptables
WGET=/usr/bin/wget
EGREP=/bin/egrep

### Adapter ###
SPAMLIST="countrydrop"
ZONEROOT="/root/iptables"
DLROOT="http://www.ipdeny.com/ipblocks/data/countries"

# create a dir
[ ! -d $ZONEROOT ] && /bin/mkdir -p $ZONEROOT

# create a new iptables list
iptables -N $SPAMLIST

for c  in $ISO
do
	# local zone file
	tDB=$ZONEROOT/$c.zone

	# get fresh zone file
	$WGET -O $tDB $DLROOT/$c.zone

	# country specific log message
	SPAMDROPMSG="$c Country Drop"

	# get
	BADIPS=$(egrep -v "^#|^$" $tDB)
	for ipblock in $BADIPS
	do
	   iptables -A $SPAMLIST -s $ipblock -j LOG --log-prefix "$SPAMDROPMSG"
	   iptables -A $SPAMLIST -s $ipblock -j DROP
	done
done

# Drop 
iptables -I INPUT -j $SPAMLIST
iptables -I OUTPUT -j $SPAMLIST
iptables -I FORWARD -j $SPAMLIST

exit 0

a+

Bonjour

Intéressant le script.

Comment, je peux l’utiliser?

Salut,
Juste pour l’avoir dans mes favoris et ne pas l’oublier.

Ceci dit, pour un serveur public, ce n’est pas très intéressant de bloquer des clients…

[quote=“lol”]Salut,
Juste pour l’avoir dans mes favoris et ne pas l’oublier.

Ceci dit, pour un serveur public, ce n’est pas très intéressant de bloquer des clients…[/quote]

Mais si tu ne bloques pas les Républiques démocratiques et leurs anciens satellites tu as des malfaisants tous les jours ! Je remercie le modo qui m’avait suggéré d’utiliser .htaccess :041

Bonjour,
étant encore novice, je voudrais savoir comment le mettre en place, si il suffit de l’intégrer via ssh ou si certains éléments vont dans des fichiers spécifiques, merci d’avance !