Bonjour

Je suis tombé sur ce script qui me semble assez intéressant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/bash
# Simple iptables IP/subnet block script
# -------------------------------------------------------------------------
# Copyright (c) 2004 nixCraft project <http://www.cyberciti.biz/fb/>
# This script is licensed under GNU GPL version 2.0 or above
# -------------------------------------------------------------------------
# This script is part of nixCraft shell script collection (NSSC)
# Visit http://bash.cyberciti.biz/ for more information.
# ----------------------------------------------------------------------
IPT=/sbin/iptables
SPAMLIST="spamlist"
SPAMDROPMSG="SPAM LIST DROP"
BADIPS=$(egrep -v -E "^#|^$" /root/iptables/blocked.ips)
 
# create a new iptables list
$IPT -N $SPAMLIST
 
for ipblock in $BADIPS
do
   $IPT -A $SPAMLIST -s $ipblock -j LOG --log-prefix "$SPAMDROPMSG"
   $IPT -A $SPAMLIST -s $ipblock -j DROP
done
 
$IPT -I INPUT -j $SPAMLIST
$IPT -I OUTPUT -j $SPAMLIST
$IPT -I FORWARD -j $SPAMLIST
J'essaie de comprendre. Voici où j'en suis :
1) On crée une liste de règles dans une chaîne
2) On exécute la liste de règle en disant si il faut l'affecter sur l'INPUT, l'OUTPUT ou le FORWARD.

Mes problèmes ::
1) $IPT -I OUTPUT -j $SPAMLIST : ceci me bloque la sortie (OUTPUT) quand la source (-s) fait partie des Ip à bloquer . J'aurais bien remplacer le -s par un -p ! Non ?
C'est comme si je faisais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
iptables -I INPUT -s 192.168.2.15 -j DROP
Je comprendrais mieux un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
# iptables -I OUTPUT -d 192.168.2.15 -j DROP
Mes tests vont dans mon sens.
2) Pour tester à fond ce script, j'ai du supprimer la liste. Avec le man, je suis arriver à trouver la méthode :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
# iptables -F spamlist
[root@localhost][/home/root]
# iptables -X spamlist
En espérant avoir un éclaircissement sur le point 1)

Bonne nuit !