UFW Strg-C und iptables: Kette existiert bereits

8

Ich habe etwas Dummes getan, also nimm es mit.

Beim Ausführen eines ufw-Befehls zum Hinzufügen einer Regel habe ich Strg-C ausgeführt. Dies führte dazu, dass bei jedem Versuch, UFW zu verwenden, der folgende Fehler generiert wurde:

ERROR: initcaps
[Errno 2] iptables: Chain already exists.

Ich habe eine Suche durchgeführt und kann nichts zum Aufräumen finden, aber ich habe diesen Fehlerbericht unter folgender Adresse gefunden : ufw Fehler nach Unterbrechung von Strg + C.

Obwohl ich sehe, dass es bestätigt wurde, kann ich irgendetwas tun, um dies zu bereinigen, bis es behoben ist? Jedes Mal, wenn ich versuche, eine Regel hinzuzufügen, wird dieser Fehler angezeigt.

Vielen Dank im Voraus für jede Hilfe.

Bearbeiten: Übrigens habe ich bereits versucht, die Datei user.rules zu speichern, UFW zu deinstallieren, UFW neu zu installieren und die Datei user.rules zurück zu verschieben. Ich dachte, es könnte iptables aufräumen. Kein Erfolg.

ZombieJerky
quelle

Antworten:

17

Das hat bei mir von hier aus funktioniert

sudo ufw disable
sudo iptables -F
sudo iptables -X
sudo ip6tables -F
sudo ip6tables -X
sudo ufw enable

Ich hoffe, es ist eines Tages für jemanden hilfreich.

Mahsa2
quelle
1
Ich hatte IP6-Fehler, also lief ich die folgenden sudo ufw disable sudo iptables -F sudo iptables -X sudo ip6tables -F sudo ip6tables -X sudo ufw enable
sagesolutions
Vielen Dank!
Ich bin
4

Dies ist, was ich getan habe, um es zu bereinigen. Wenn ufw aktiviert ist, deaktivieren Sie es. Entfernen Sie dann alle UFW-Regeln aus iptables und ip6tables.

#! /usr/bin/env bash
set -e
set -o pipefail

iptables --flush
rules=($(iptables --list | grep Chain | grep -Eo "ufw-[a-z-]+" | xargs echo))
for i in "${rules[@]}"
do
  iptables --delete-chain $i
done

ip6tables --flush
rules6=($(ip6tables --list | grep Chain | grep -Eo "ufw6-[a-z-]+" | xargs echo))
for i in "${rules6[@]}"
do
  ip6tables --delete-chain $i
done
Btobolaski
quelle
6
Ich bin auf dasselbe Problem gestoßen, als ein Skript zu schnell Regeln hinzufügte / entfernte. Ich habe Ihren iptables-Befehl ein wenig vereinfacht sudo iptables --list | awk '/^Chain ufw-/ {print $2}' | xargs. Übrigens ist der xargsStandardbefehl /bin/echo. Ich habe mich nicht wirklich um die anderen Regeln auf meinen Iptables gekümmert, also habe ich sie einfach klar gewischt sudo ufw disable; sudo iptables -F; sudo iptables -X; sudo ip6tables -F; sudo ip6tables -X; sudo ufw enable. Es gibt auch einen anderen sensibleren Ansatz, der hier beschrieben wird: blog.cloud66.com/ufw-shenanigans
Sechs