50 votes

Supprimer une chaîne iptables avec toutes ses règles

J'ai une chaîne annexée avec de nombreuses règles comme :

> :i_XXXXX_i - [0:0]
> -A INPUT -s 282.202.203.83/32 -j i_XXXXX_i 
> -A INPUT -s 222.202.62.253/32 -j i_XXXXX_i 
> -A INPUT -s 222.202.60.62/32 -j i_XXXXX_i 
> -A INPUT -s 224.93.27.235/32 -j i_XXXXX_i 
> -A OUTPUT -d 282.202.203.83/32 -j i_XXXXX_i 
> -A OUTPUT -d 222.202.62.253/32 -j i_XXXXX_i 
> -A OUTPUT -d 222.202.60.62/32 -j i_XXXXX_i 
> -A OUTPUT -d 224.93.27.235/32 -j i_XXXXX_i

lorsque j'essaie de supprimer cette chaîne avec :

iptables -X XXXX

mais j'ai obtenu l'erreur suivante (j'ai déjà essayé iptables -F XXXXX) :

iptables : Trop de liens.

Existe-t-il un moyen simple de supprimer la chaîne par une seule commande ?

0voto

flickerfly Points 2433

Quelque chose de ce type permettra de les récupérer en une seule ligne sans que iptables ne soit endommagé de quelque manière que ce soit.

for chain in `iptables -L |grep i_XXXXX_i|awk '{ print $2 }'`; do iptables -X $chain; done

0voto

user1007727 Points 411

Cette opération permet d'extraire les chaînes et de les supprimer.

for i in $(iptables -S | awk '{print $2}' | uniq ); do iptables -F $i && iptables -Z $i && iptables -X $i  ; done

0voto

Jay Phillips Points 1

J'ai découvert que vous pouvez supprimer les règles et la chaîne en éditant le fichier de règles dans /etc/iptables/rules.v4. Si vous supprimez la chaîne indésirable dans ce fichier et que vous rechargez ensuite iptables, vous ne devriez plus voir la chaîne lorsque vous effectuez une commande iptables -L.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X