UFW Ctrl-C和iptables:链已存在


8

我做了一件愚蠢的事,所以请忍受我。

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

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

我已经进行了搜索,但找不到任何有关如何清除它的信息,但确实在以下位置找到了此错误报告: ctr + c中断后出现ufw错误

虽然我确实已确认它,但在固定之前,有什么办法可以清理吗?每次尝试添加规则时,都会出现该错误。

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

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

Answers:


17

这从这里为我工作

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

希望有一天,对某人有帮助。


1
我遇到了ip6错误,因此我运行了以下命令 sudo ufw disable sudo iptables -F sudo iptables -X sudo ip6tables -F sudo ip6tables -X sudo ufw enable
sagesolutions

谢谢!刚遇到这个问题
ksaylor11

4

这是我做的清理工作,如果启用了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

6
当我的脚本添加/删除规则的速度太快时,我遇到了同样的问题。我用简化了您的iptables命令sudo iptables --list | awk '/^Chain ufw-/ {print $2}' | xargs。BTW的xargs默认命令是/bin/echo。我并不是很在意iptables上的其他规则,所以我只用清除了它sudo ufw disable; sudo iptables -F; sudo iptables -X; sudo ip6tables -F; sudo ip6tables -X; sudo ufw enable。这里还概述了另一种更敏感的方法:blog.cloud66.com/ufw-shenanigans
六点
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.