Ctrl-C UFW dan iptables: Chain sudah ada

8

Saya melakukan hal bodoh, jadi bersabarlah.

Saat menjalankan perintah ufw untuk menambahkan aturan, saya melakukan Ctrl-C, ini menyebabkan masalah kesalahan berikut dihasilkan setiap kali saya mencoba menggunakan UFW:

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

Saya telah melakukan pencarian dan tidak dapat menemukan apa pun tentang cara membersihkannya, tapi saya menemukan laporan bug ini di: ufw kesalahan setelah ctr + c interupt

Sementara saya melihatnya telah dikonfirmasi, apakah ada yang bisa saya lakukan untuk membersihkannya sampai diperbaiki? Setiap kali saya mencoba menambahkan aturan, saya mendapatkan kesalahan itu.

Terima kasih sebelumnya atas bantuan yang diberikan.

Sunting: BTW, saya sudah mencoba menyimpan file user.rules, menghapus instalasi UFW, menginstal ulang UFW, dan memindahkan kembali file user.rules. Saya pikir itu mungkin membersihkan iptables. Tidak berhasil

ZombieJerky
sumber

Jawaban:

17

Ini bekerja untuk saya dari sini

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

Saya harap ini membantu seseorang, suatu hari.

Mahsa2
sumber
1
Saya memiliki kesalahan ip6, jadi saya menjalankan yang berikut sudo ufw disable sudo iptables -F sudo iptables -X sudo ip6tables -F sudo ip6tables -X sudo ufw enable
sagesolutions
Terima kasih! Baru saja mengalami masalah ini
ksaylor11
4

Ini yang saya lakukan untuk membersihkannya, jika ufw diaktifkan, nonaktifkan. Kemudian hapus semua aturan ufw dari iptables dan 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
btobolaski
sumber
6
Saya mengalami masalah yang sama ketika saya memiliki skrip menambahkan / menghapus aturan terlalu cepat. Saya sedikit menyederhanakan perintah iptables Anda sudo iptables --list | awk '/^Chain ufw-/ {print $2}' | xargs. xargsPerintah standar BTW adalah /bin/echo. Saya tidak terlalu peduli dengan aturan lain pada iptables saya, jadi saya hanya menghapusnya dengan jelas sudo ufw disable; sudo iptables -F; sudo iptables -X; sudo ip6tables -F; sudo ip6tables -X; sudo ufw enable. Ada juga pendekatan lain yang lebih sensitif yang diuraikan di sini: blog.cloud66.com/ufw-shenanigans
Six