UFW Ctrl-C and iptables: Chain already exists

I did a dumb thing, so bear with me.

While running a ufw command to add a rule, I did a Ctrl-C, this led to the problem of the following error being generated every time I try to use UFW:

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

I have done a search and can't find anything on how to clean it up, but I did find this bug report at: ufw errors after ctr+c interupt

While I do see it has been confirmed, is there anything I can do to clean this up until it is fixed? Every time I try to add a rule I get that error.

Thanks in advance for any help provided.

Edit: BTW, I already tried saving the user.rules file, uninstalling UFW, reinstalling UFW, and moving the user.rules file back. I thought it might clean up iptables. No success.


This worked for me from here

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

I hope it is helpful to someone, one day.


This is what I did to clean it up, if ufw is enabled, disable it. Then remove all of the ufw rules from iptables and 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