Déplacer la règle iptables (sans enlever et append)

Existe-t-il un moyen de déplacer une règle dans les iptables et de changer de position? Je suis conscient que je peux utiliser -I pour insert une règle dans une position spécifique, mais j'aime aussi garder les counturs.

Non, vous ne pouvez pas déplacer une règle. Cependant, vous pouvez définir le countur pour toute règle que vous ajoutez / insérez / remplacez (en utilisant le paramètre -c ou --set-counters ). Vous pouvez donc vérifier le count actuel, supprimer la règle et la réinsert avec l'ancienne valeur de comptage.

Vous pouvez également suivre

  1. Ecrire la sortie de iptables-save dans un file: iptables-save > /tmp/iptables.txt
  2. Editez ce file avec un éditeur de text, déplacez la ligne que vous voulez.
  3. Rechargez le file: iptables-restore < /tmp/iptables.txt

Pour voir ce que vous avez et ce que vous voulez changer, vous devez d'abord faire un examen.

1) Vérifiez les counturs et écrivez-les quelque part afin que vous puissiez les entrer plus tard.

 iptables-save -c 

2) Vérifiez la ligne que vous souhaitez replace / repositionner en utilisant

 iptables -L -v -n --line-n 

3) Ecrire la règle dans la string désignée et append les counturs expliqués à l'étape. Par exemple.

 iptables -R INPUT 5 -i virbr0 -p udp -m udp -c 3441 472271 --dport 53 -j ACCEPT -m comment --comment "Some comment" 

Signification de -c

-c [packets:bytes]

La règle iptables ci-dessus sera input à la ligne 5.

Remarque. Sauvegardez les règles iptables en utilisant iptables-save -c /somepath/iptrules-$(date +%F) qui préservera les counturs.