UFW Ctrl-C e iptables: la cadena ya existe

8

Hice una tontería, así que tengan paciencia conmigo.

Mientras ejecutaba un comando ufw para agregar una regla, hice un Ctrl-C, esto condujo al problema del siguiente error que se genera cada vez que intento usar UFW:

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

He realizado una búsqueda y no puedo encontrar nada sobre cómo limpiarlo, pero encontré este informe de error en: ufw errores después de ctr + c interupt

Si bien veo que se ha confirmado, ¿hay algo que pueda hacer para limpiar esto hasta que se solucione? Cada vez que intento agregar una regla me sale ese error.

Gracias de antemano por cualquier ayuda brindada.

Editar: Por cierto, ya intenté guardar el archivo user.rules, desinstalar UFW, reinstalar UFW y volver a mover el archivo user.rules. Pensé que podría limpiar iptables. Sin éxito.

ZombiJerky
fuente

Respuestas:

17

Esto funcionó para mí desde aquí

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

Espero que sea útil para alguien, algún día.

Mahsa2
fuente
1
Tenía errores de ip6, así que ejecuté lo siguiente sudo ufw disable sudo iptables -F sudo iptables -X sudo ip6tables -F sudo ip6tables -X sudo ufw enable
sagesolutions
¡Gracias! Acabo de encontrarme con este problema
ksaylor11
4

Esto es lo que hice para limpiarlo, si ufw está habilitado, deshabilítelo. Luego, elimine todas las reglas de ufw de iptables y 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
fuente
66
Encontré este mismo problema cuando tuve un script que agregaba / quitaba reglas demasiado rápido. Simplifiqué un poco su comando iptables sudo iptables --list | awk '/^Chain ufw-/ {print $2}' | xargs. Por cierto, xargsel comando predeterminado es /bin/echo. Realmente no me importaban las otras reglas en mis iptables, así que simplemente lo borré sudo ufw disable; sudo iptables -F; sudo iptables -X; sudo ip6tables -F; sudo ip6tables -X; sudo ufw enable. También hay otro enfoque más sensible descrito aquí: blog.cloud66.com/ufw-shenanigans
Seis