我做了一件愚蠢的事情,所以忍耐一下。
在运行ufw命令添加规则时,我做了一个Ctrl-C,这导致每次尝试使用UFW时都会生成以下错误的问题:
ERROR: initcaps
[Errno 2] iptables: Chain already exists.
Run Code Online (Sandbox Code Playgroud)
我进行了搜索,但找不到有关如何清理它的任何信息,但我确实在以下位置找到了此错误报告: ctr+c interupt 后的 ufw 错误
虽然我确实看到它已得到确认,但在修复之前我可以做些什么来清理它?每次我尝试添加规则时,都会出现该错误。
在此先感谢您提供的任何帮助。
编辑:顺便说一句,我已经尝试保存 user.rules 文件,卸载 UFW,重新安装 UFW,并将 user.rules 文件移回。我认为它可能会清理 iptables。没有成功。
Mah*_*sa2 23
sudo ufw disable
sudo iptables -F
sudo iptables -X
sudo ip6tables -F
sudo ip6tables -X
sudo ufw enable
Run Code Online (Sandbox Code Playgroud)
我希望有一天它对某人有所帮助。
这就是我清理它的方法,如果启用了 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
Run Code Online (Sandbox Code Playgroud)