Élimination dynamique de la politique iptables par adresse IP

Je voudrais supprimer des règles NAT POSTROUTING Mode automatique basé sur l'adresse IP source ou de destination.

Je connais l'adresse IP de la source et de la destination, mais je n'ai pas à savoir quels politiciens existent déjà.

Par exemple, je peux l'avoir:

-A POSTROUTING -s 10.10.10.10/32 -p tcp -m tcp --dport 80 -j SNAT --to-source 1.2.3.4
-A POSTROUTING -s 10.10.10.10/32 -p tcp -m tcp --dport 443 -j SNAT --to-source 1.2.3.4
-A POSTROUTING -s 10.10.10.10/32 -j ACCEPT

Ou je peux juste l'obtenir:

-A POSTROUTING -s 10.10.10.10/32 -j SNAT --to-source 1.2.3.4

Je veux annuler le but de cette adresse NAT De l'ancien ordinateur et nommez-le à un nouvel ordinateur. Tout cela est automatisé, donc je ne peux pas le trouver manuellement.

Comment mieux éliminer la vieille politique uniquement pour cette adresse IP? Puis-je utiliser l'équipe list + grep? Je suis habituellement accroché dans le monde Windows, Par conséquent, je ne sais pas la meilleure façon de le faire face.
Invité:

Hannah

Confirmation de:

Vous pouvez comparer la règle DELETE, indiquant-la avec précision et en utilisant

-D

(

--delete

) au lieu de

-A

. Par exemple:

iptables -t nat -D POSTROUTING -s 10.10.10.10/32 -p tcp -m tcp --dport 80 -j SNAT --to-source 1.2.3.4

Pour écrire un script en comparant une certaine adresse IP et en perdant des règles dues au statut de la course, essayons quelque chose comme ça. Cela supprimera toute règle dans le tableau. nat, Contenant cette adresse IP:

IFS=$'\n'
for rule in `iptables-save -t nat | grep -w $IP_ADDRESS | sed -e 's/-A/-D/'`; do
echo $rule | xargs iptables -t nat
done

Quelques notes sur ce sujet: nous utilisons

grep -w

Pour vous assurer que les adresses IP coïncident exactement et, par exemple, cette adresse se termine sur

25

ne correspond pas

250

. Transformation de

-A

à

-D

Fini

sed

dans la boucle. Et nous utilisons

xargs

Divulguer chaque règle dans les paramètres.

Babette

Confirmation de:


iptables -t nat -L POSTROUTING -n --line-numbers | grep -w 1.2.3.4 | awk '{print $1}'

Ce sera grep IP, Que vous voulez et capturez le numéro de ligne de la règle du pare-feu. Puis utiliser

iptables -t nat -D POSTROUTING 1

Pour supprimer la règle 1 ou tout autre numéro.

Pour répondre aux questions, connectez-vous ou registre