Question Quelle est la différence entre iptables -X et iptables -F?


Dans de nombreux exemples, je vois les 2 commandes consécutives suivantes:

iptables -F
iptables -X

À partir de la page de manuel, je ne peux pas comprendre la différence entre rincer et supprimer. Y a-t-il une différence entre ces deux?


5
2018-01-03 18:58


origine




Réponses:


Pour toutes les chaînes, vous pouvez -F:

+---------------+       +---------------+
|               |       |               |
| Chain MyChain |       | Chain MyChain |
|     Rule 1    |  -F   |      is       |
|     Rule 2    |       |     empty     |
|     Rule 3    |  ==>  |               |
|               |       |               |
+---------------+       +---------------+

Pour chaînes définies par l'utilisateur uniquement (chaîne créée avec iptables -N MyChain) vous pouvez -X si elle est vide:

+---------------+
|               |
| Chain MyChain |         Chain MyChain
|      is       |  -X      does not exist
|     empty     |
|               |  ==>
|               |
+---------------+

Tous les deux

iptables -F
iptables -X

sont utilisés car on ne peut supprimer une chaîne définie par l'utilisateur que lorsqu'elle est vide. Les chaînes intégrées ne peuvent pas être supprimées, mais peuvent être vidées.


7
2018-01-04 12:05





iptables -F efface les règles d'une chaîne.

http://explainshell.com/explain?cmd=iptables+-F

-F, --flush [chaîne]          Rincer la chaîne sélectionnée (toutes les chaînes du tableau si aucune n’est donnée). Ceci est équivalent à          supprimer toutes les règles une à une.

iptables -X supprime une chaîne.

http://explainshell.com/explain?cmd=iptables+-X

-X, --delete-chain [chaîne]          Supprimez la chaîne facultative définie par l'utilisateur spécifiée. Il ne doit y avoir aucune référence à la chaîne. Si          vous devez supprimer ou remplacer les règles de renvoi avant de pouvoir supprimer la chaîne. le          chaîne doit être vide, c'est-à-dire ne pas contenir de règles. Si aucun argument n'est donné, il tentera de          Supprimez toutes les chaînes non intégrées de la table.


4
2018-01-03 19:21



Oui, j'ai lu la page de manuel. Ce que je veux savoir, c'est s'il y a une différence. Parce que le résultat final semble être exactement le même. - Stéphane
La différence est identique à la suppression de tous les fichiers d'un répertoire, ou du répertoire lui-même. - ptman
Une règle n'est pas la même chose qu'une chaîne. Edit: ptman a mieux expliqué :) - Cha0s
Oui. iptables -X supprime les chaînes définies par l'utilisateur - Cha0s