UFW Ctrl-C 和 iptables:链已存在

UFW Ctrl-C 和 iptables:链已存在

我做了一件蠢事,所以请忍耐一下。

在运行 ufw 命令添加规则时,我按了 Ctrl-C,这导致每次尝试使用 UFW 时都会产生以下错误:

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

我进行了搜索并且没有找到任何关于如何清理它的信息,但是我确实在以下位置找到了这个错误报告: ctr+c 中断后出现 ufw 错误

虽然我确实看到它已被确认,但在修复之前我能做些什么来清理它吗?每次我尝试添加规则时都会出现该错误。

在此先感谢所提供的任何帮助。

编辑:顺便说一句,我已经尝试保存 user.rules 文件、卸载 UFW、重新安装 UFW 并将 user.rules 文件移回。我以为它可能会清理 iptables。没有成功。

答案1

这对我有用这里

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

我希望有一天它能够对某人有所帮助。

答案2

这是我清理它的方法,如果启用了 ufw,请禁用它。然后从 iptables 和 ip6tables 中删除所有 ufw 规则。

#! /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

相关内容