UFW Ctrl-C e iptables: la catena esiste già


8

Ho fatto una cosa stupida, quindi abbi pazienza.

Mentre eseguivo un comando ufw per aggiungere una regola, ho fatto un Ctrl-C, questo ha portato al problema del seguente errore generato ogni volta che provo ad usare UFW:

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

Ho fatto una ricerca e non riesco a trovare nulla su come ripulirlo, ma ho trovato questo bug report su: errori ufw dopo l'interruzione ctr + c

Mentre vedo che è stato confermato, c'è qualcosa che posso fare per ripulirlo fino a quando non viene risolto? Ogni volta che provo ad aggiungere una regola ottengo quell'errore.

Vi ringrazio anticipatamente per l'aiuto.

Modifica: A proposito, ho già provato a salvare il file user.rules, disinstallare UFW, reinstallare UFW e spostare nuovamente il file user.rules. Ho pensato che potesse ripulire iptables. Nessun successo.

Risposte:


17

Questo ha funzionato per me da qui

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

Spero che sia utile a qualcuno, un giorno.


1
Ho avuto errori ip6, quindi ho eseguito le seguenti operazioni sudo ufw disable sudo iptables -F sudo iptables -X sudo ip6tables -F sudo ip6tables -X sudo ufw enable
sagesolutions,

Grazie! Ho appena
riscontrato

4

Questo è quello che ho fatto per ripulirlo, se ufw è abilitato, disabilitarlo. Quindi rimuovere tutte le regole ufw da iptables e 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

6
Ho riscontrato questo stesso problema quando avevo uno script che aggiungeva / rimuoveva le regole troppo velocemente. Ho semplificato un po 'il tuo comando iptables con sudo iptables --list | awk '/^Chain ufw-/ {print $2}' | xargs. Il xargscomando predefinito BTW è /bin/echo. Non mi importava molto delle altre regole sul mio iptables, quindi l'ho semplicemente cancellato sudo ufw disable; sudo iptables -F; sudo iptables -X; sudo ip6tables -F; sudo ip6tables -X; sudo ufw enable. C'è anche un altro approccio più delicato delineato qui: blog.cloud66.com/ufw-shenanigans
Sei
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.