Was ist der Unterschied zwischen iptables -X und iptables -F?


7

In vielen Beispielen sehe ich die folgenden 2 aufeinander folgenden Befehle:

iptables -F
iptables -X

Auf der Manpage kann ich den Unterschied zwischen Löschen und Löschen nicht herausfinden. Gibt es einen Unterschied zwischen diesen beiden?

Antworten:


9

Für alle Ketten können Sie -F:

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

Nur für benutzerdefinierte Ketten (mit iptables -N MyChain erstellte Kette) können Sie -X verwenden, wenn sie leer ist:

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

Beide

iptables -F
iptables -X

werden verwendet, weil man eine benutzerdefinierte Kette nur löschen kann, wenn sie leer ist. Eingebaute Ketten können nicht gelöscht, sondern gespült werden.


5

iptables -F spült die Regeln einer Kette.

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

-F, --flush [chain] Spült die ausgewählte Kette (alle Ketten in der Tabelle, falls keine angegeben ist). Dies entspricht dem Löschen aller Regeln nacheinander.

iptables -X löscht eine Kette.

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

-X, --delete-chain [chain] Löscht die angegebene optionale benutzerdefinierte Kette. Es dürfen keine Verweise auf die Kette vorhanden sein. Wenn dies der Fall ist, müssen Sie die verweisenden Regeln löschen oder ersetzen, bevor die Kette gelöscht werden kann. Die Kette muss leer sein, dh keine Regeln enthalten. Wenn kein Argument angegeben wird, wird versucht, jede nicht integrierte Kette in der Tabelle zu löschen.


1
Ja, ich habe die Manpage gelesen. Ich möchte wissen, ob es einen Unterschied gibt. Denn das Endergebnis scheint genau das gleiche zu sein.
Stéphane

Der Unterschied entspricht dem Löschen aller Dateien in einem Verzeichnis oder des Verzeichnisses selbst.
Ptman

Eine Regel ist nicht dasselbe wie eine Kette. Edit: ptman erklärte es besser :)
Cha0s

Ja. iptables -X löscht benutzerdefinierte Ketten
Cha0s
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.