Iptable avec linux debian

Fermé
Jackes - Modifié par Jackes le 10/09/2010 à 11:08
 jac - 14 sept. 2010 à 14:25
Bonjour, j'aimerais iptable un block de environ 100 packet d'ip sur ma machine (baser sous debian) et j'aimerais savoir si il existe une commande iptable ou l'on peut mettre tout les ip d'un coup de façon a éviter de mettre devant chaque ip la commande

(C'est pour faire un firewall fonctionnant avec iptable dans /firewall)


Exemple commande pour ip table ip fin de la commande

J'aimerais début de la commande ip (plusieur) fin de la commande

Merci d'avance




A voir également:

18 réponses

Leahkim Messages postés 3081 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 2 mars 2014 279
10 sept. 2010 à 11:36
Bonjour,

Je te suggère de faire une liste dans un fichier, et de boucler sur cette liste avec un script, qui executera les commandes iptables à ta place.

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
Modifié par lami20j le 10/09/2010 à 11:44
Salut,

En root quelque chose de genre

for ip in $(cat fichier_avec_les_ip_un_par_ligne);do iptables -A INPUT -i INTERFACE -s $ip -j DROP;done


GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
106485010510997108
Leahkim Messages postés 3081 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 2 mars 2014 279
10 sept. 2010 à 11:50
exactement, j'ai eu la flemme de l'écrire :)
Ceci n'est que pour le cas ou il veut bannir cette liste d'IP
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
10 sept. 2010 à 12:02
Re,

Ceci n'est que pour le cas ou il veut bannir cette liste d'IP
Oui effectivement
0
Donc je doi crée une commande qui s'exécute dans /firewall et qui va chercher les ip banni dans un fichier ??


Mais comment construire cette commande ?


car dans

for ip in $(cat fichier_avec_les_ip_un_par_ligne);do iptables -A INPUT -i INTERFACE -s $ip -j DROP;done

for ip in $(cat fichier_avec_les_ip_un_par_ligne) <--- la je doi mettre le chemin vers le txt avec les ip ?
Leahkim Messages postés 3081 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 2 mars 2014 279
10 sept. 2010 à 12:20
c'est ça :)

j'ai envie de dire OSEF de ou il s'execute, l'essentiel c'est la permission root d'écriture dans iptables

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
for ip in $(cd /bin/ip.txt);do iptables -A INPUT -i INTERFACE -s $ip -j DROP;done


Donc cela pourrais marcher avec 1 ip par ligne ?

Et bien evidament chmod 777 a ip.txt

?
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
10 sept. 2010 à 12:37
Re,

Et bien evidament chmod 777 a ip.txt
Pas besoin chmod 0600 suffit


N'oublie pas qu'il faut remplacer INTERFACE avec la tienne.
Le fichier mets le dans /etc pas dans /bin

Remplacer par mon INTERFACE c'est a dire ??

je debute avec iptable donc je ne vois pas trop
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
10 sept. 2010 à 12:47
Re,

Affiche le résultat de
 /sbin/ifconfig
0
Sa affiche


lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:3574 errors:0 dropped:0 overruns:0 frame:0
TX packets:3574 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:286218 (279.5 KiB) TX bytes:286218 (279.5 KiB)

venet0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:127.0.0.1 P-t-P:127.0.0.1 Bcast:0.0.0.0 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
RX packets:54557820 errors:0 dropped:0 overruns:0 frame:0
TX packets:112479764 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:6626234619 (6.1 GiB) TX bytes:15096512268 (14.0 GiB)

venet0:0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:ip de mon dedier P-t-P:ip de mon dedier Bcast:0.0.0.0 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1


Jai masquer lip de mon dedier
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
10 sept. 2010 à 15:21
Re,

C'est venet0
0
Leahkim Messages postés 3081 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 2 mars 2014 279
10 sept. 2010 à 15:25
jamais vu ce type de nom d'interface
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
10 sept. 2010 à 15:30
Re,

Ca doit être les interfaces virtuelles de https://fr.wikipedia.org/wiki/OpenVZ
0
Leahkim Messages postés 3081 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 2 mars 2014 279
10 sept. 2010 à 15:30
bien vu
0
Il me dit


: command not found: ip
: command not found: ip

/etc/ip.txt: Ligne ip: command not found


jai remplacer les ip par ip pour vou monter les erreur et a chaque foi il me dit ce qu'il y a a commande not found a chaque ip
Leahkim Messages postés 3081 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 2 mars 2014 279
10 sept. 2010 à 15:34
essaie:
for $ip in $(cat fichier_avec_les_ip_un_par_ligne);do iptables -A INPUT -i INTERFACE -s $ip -j DROP;done
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
Modifié par lami20j le 10/09/2010 à 15:35
Re,

/etc/ip.txt n'est pas une commande mais un fichier qui contient les IP que tu veux les bloqués.

La commande est normalement (à faire ne root)

for ip in $(cat /etc/ip.txt);do iptables -A INPUT -i venet0 -s $ip -j DROP;done 


--
GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
106485010510997108
Il arrive pas a executer la commande il met des erreur
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
10 sept. 2010 à 15:40
Re,

Ca sera plus simple d'afficher ici la commande que tu tapes ainsi que les résultats (bref, ce que tu vois à l'écran).
Je vais regarder ce soir à la maison si entre temps tu n'auras pas de réponse
0
Sa m'affiche ce que jai mi jai juste mi ip a la place des ip pour ne pas que tout le monde les voye.
J'attend ta reponce alors merci d'avance :)
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
10 sept. 2010 à 18:29
Re,

C'est moi qui attends ta réponse
Je ne t'ai demande pas de m'afficher les IP.
Tu peux mettre à la place xxx.xxx.xxx.xxx, mais j'ai besoin de voir ce que tu fais si non je ne peux pas t'aider]

On peut faire plus simple juste pour un IP pour voir, donc tape

iptables -A INPUT -i venet0 -s xxx.xxx.xxx.xxx -j DROP


N'oublie pas de remplacer les xxx avec ton ip, et ensuite pour affichage de les remettre.
Ensuite affiche aussi le résultat de
egrep -c '([0-9]{1,3}\.){3}[0-9]{1,3}' /etc/ip.txt
 wc -l < /etc/ip.txt
0
oui mais vue que jai plus de 100 ip jaimerais un truck pour aller plus vite.
egrep -c '([0-9]{1,3}\.){3}[0-9]{1,3}' /etc/ip.txt
wc -l < /etc/ip.txt


a laire de marcher merci
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
10 sept. 2010 à 19:09
Re,

Affiche le résultat.

Tape aussi une commande pour un seul ip comme je t'ai demandé dans mon message précédent
0
Sa affiche riens cela ne reagi pas
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
10 sept. 2010 à 20:02
Re,

On ne se comprends pas.
Si tu n'affiche pas les commandes que tu tapes, je m'arrête là.
Je ne suis pas devant ton écran, donc si tu veux que je t'aide alors aide moi.

Donc tape et affiche ça

egrep -c '([0-9]{1,3}\.){3}[0-9]{1,3}' /etc/ip.txt
wc -l < /etc/ip.txt 


Voici comment tu dois m'afficher (j'ai créer un fichier bidon avec 3 ip)

lami20j@debian-acer:~$ egrep -c '([0-9]{1,3}\.){3}[0-9]{1,3}' /etc/ip.txt
3
lami20j@debian-acer:~$ wc -l < /etc/ip.txt
3
lami20j@debian-acer:~$ 


Vas-y, à toi maintenant.
0
vps:~# egrep -c '([0-9]{1,3}\.){3}[0-9]{1,3}' /etc/ip.txt
127
vps:~# wc -l < /etc/ip.txt
154

C'est donc que sa marche ?
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
11 sept. 2010 à 11:34
Salut,

Ben, il y a un problème avec ton fichier puisque le résultat aurai du être le même.
La 1ère commande compte seulement les lignes qui contient au moins un ip
La 2ème commande comptes toutes les lignes de ton fichier.

Donc soit il y a des lignes vides dans ton fichier soit il y a autre choses.

Bref ton fichier doit avoir cette forme

xxx.xxx.xxx.xxx
yyy.yyy.yyy.yyy
zzz.zzz.zzz.zzz


Donc un ip par ligne.
Allez on va vérifié ton fichier. Par sécurité les ip seront remplacer avec des X, donc tu peux afficher le résultat ici

Chez moi sur le fichier test que j'ai crée

lami20j@debian-acer:~$ perl -pe 's/(\d{1,3})/"X" x length($1)/ge' /etc/ip.txt
XX.X.X.X
XXX.XXX.X.X
XXX.XX.XXX.XX


Donc tu dois taper la commande qui est en gras.

A toi.
0
Merci sa marche niquel