Ich habe eine Kette mit vielen Regeln wie:
> :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
wenn ich versuche diese Kette zu löschen mit:
iptables -X XXXX
habe aber fehler wie (probiert iptables -F XXXXX vorher):
iptables: Zu viele Links.
Gibt es eine einfache Möglichkeit, die Kette mit einem Befehl zu löschen?
linux
iptables
linux-networking
zeitgemäß
quelle
quelle
iptables-save | grep -v i_XXXXX_i | iptables-restore
Antworten:
Sie können keine Ketten löschen, wenn Regeln mit '-j CHAINTODELETE' auf sie verweisen. Finden Sie heraus, was auf Ihre Kette (das Glied) verweist, und entfernen Sie das. Auch spülen und dann töten.
quelle
Dies ist möglicherweise nicht thematisch, aber genau das habe ich getan, nachdem ich diesen Beitrag gefunden habe! In einigen Anwendungsfällen kann die Option iptables -D hilfreich sein. Da Sie damit Referenzregeln löschen können, die programmgesteuert mit -A hinzugefügt wurden (wenn Sie genau wissen, wie Sie sie hinzugefügt haben).
Z.B
kann mit rückgängig gemacht werden
quelle
Sie benötigen zwei Schritte, dies geschieht jedoch in einem Befehl.
Erstellen Sie eine Datei und platzieren Sie diese darin.
Speichern Sie die Datei unter dem Namen "Alle Regeln löschen". Führen Sie nun diesen Befehl aus:
Jetzt können Sie es jederzeit mit nur einem Befehl löschen.
quelle
Hier ist ein alternativer Plan. Es beinhaltet drei Befehle, nicht einen, aber mit etwas Glück sollte es funktionieren.
iptables
Speichern Sie Ihren Regelsatz in einer Datei:Entfernen Sie ALLE Verwendungen (und Verweise auf) der beleidigenden Kette:
Laden Sie dann den Regelsatz neu:
quelle
Etwas in diese Richtung führt dazu, dass alle in einer einzigen Zeile angezeigt werden, ohne dass die Iptables in irgendeiner Weise heruntergefahren werden.
quelle
In der Man-Datei von iptables gibt es eine Option
-S
Mit
iptables -S | grep <CHAINNAMEHERE>
. Zum Beispiel:Sie können dann sehen, welche Regeln das Löschen der Kette aus der Tabelle blockieren. Gehen Sie alle Regeln durch (mit Ausnahme von
iptables -N <CHAINNAMEHERE>
und löschen Sie die Regel mit der-D
OptionZum Beispiel
iptables -D FORWARD -i eth0 -j TRAFFICLOG
. Nachdem Sie jede Regel für Ihre Kette bündig mit der die Kette gelöscht haben-F
Optioniptables -F <CHAINNAMEHERE>
.Dann löschen Sie Ihre Kette mit der
-X
Option,iptables -X <CHAINNAMEHERE>
Iptables ist ein komplizierter Werkzeugsatz, daher ist ein ideales Tutorial erforderlich. Sie können es unter www.iptables.info ausprobieren
quelle
Dadurch werden Ketten ausgespuckt und gelöscht
quelle
Ich habe festgestellt, dass Sie die Regeln und die Kette entfernen können, indem Sie die Regeldatei in /etc/iptables/rules.v4 bearbeiten. Wenn Sie die unerwünschte Kette in dieser Datei löschen und dann iptables erneut laden, sollte die Kette bei der Ausführung von iptables -L nicht mehr angezeigt werden.
quelle