Création Script pour Firewall


#1

Bonjour,

Je cherche à ajouter dans mes règles iptables la chose suivante :

Le fichier “list.txt” contient la liste des ip qui n’ont pas besoin de passer par le proxy.

Toutes les autres ip, le firewall doit faire de la redirection de paquet vers le proxy.

Voici l’ago que je voudrais faire :

pour x premiere ip du fichier list par pas de 1 faire si l'adresse ip de la machine n'est pas $x alors iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.x:8080 fin si fin pour

Est-ce réalisable ? (c’est surtout le fait de récupérer l’ip de la machine qui me gène)[/list]


#2

slt,

#!/bin/sh
whitelist="/whereis/file"
boucle="cat $whitelist | wc -l" # a tester...
allow=`for a in $whitelist;do echo $a;done`
for a in `seq $boucle`  
do
if [ $allow != $whitelist ] then
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT  --to-destination 192.168.1.x:8080
fi
done  

#3

slt,

#!/bin/sh
whitelist="./file"
blacklist=(192.168.1.10 192.168.1.11)
boucle=`cat $whitelist | wc -l` # a tester...
allow=`for a in $whitelist;do echo $a;done`
disable=`for b in $blacklist[@];do echo $b;done`
for a in `seq $boucle`
do
if [ $allow != $disable ]; then
echo "ont nat"
fi
done

#4

Alors, j’ai testé ça et ça m’a l’air pas mal…

[code]#!/bin/sh

IP1="192.168.1.2"
IP2=“192.168.1.3”

ecran=tty
exec < ./file
while read ligne
do
disable=${ligne%% *}
if [ $IP1 != $disable ]&&[ $IP2 != $disable ]
then
iptables -t nat -A PREROUTING -i eth1 -s $disable -p tcp --dport 80 -j DNAT --to-destination 192.168.1.x:8080
fi
done
exec < $ecran[/code]

Maintenant, je ne vais pas m’amuser à mettre toute la plage ip dans mon fichier “file”… Comment puis-je récupérer les ip qui rentre ?