Bagaimana cara mereset Ubuntu 12.04 iptables ke default tanpa mengunci diri sendiri?

28

Adakah yang bisa dengan ramah memberikan perintah untuk mereset sepenuhnya iptables (firewall) untuk Ubuntu 12.04 ke pengaturan "pabrik" default? Dari apa yang saya mengerti, melakukan kesalahan ini akan menyebabkan seseorang dikunci dari kotak linux?

Madu Badger
sumber

Jawaban:

37

Tetapkan kebijakan default pada iptables ke ACCEPT:

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

Kemudian siram aturan:

iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD

Catatan, ini tidak akan mempengaruhi tabel alternatif, tabel NAT, tabel routing PRE / POST, dll.

Wing Tang Wong
sumber
1
Terima kasih @ Wang Tang Wong. Apakah hal di atas akan mengembalikan firewall sepenuhnya ke status default Ubuntu? Bagaimana jika saya secara tidak sengaja mengubah tabel lainnya? Bagaimana cara mengembalikan semua tabel ke default? Terima kasih!
Honey Badger
Anda dapat menggunakan iptables-save dan iptables-restore. Pada dasarnya, buang konfigurasi iptables Anda ke file. Pastikan ketiga utama adalah ACCEPT default, dan kemudian hapus jenis tabel lainnya dari file dump. Kemudian, impor kembali ke sistem yang berjalan dengan iptables-restore. Itu seharusnya membuat Anda dalam keadaan bersih. Ini mengandaikan Anda tidak dapat atau tidak ingin me-reboot kotak.
Wing Tang Wong
1
Gotcha. Pertanyaan: bagaimana jika saya me-reboot kotak itu? Apa yang akan terjadi? Terima kasih!
Honey Badger
Jika Anda menonaktifkan semua aturan iptable yang akan memulai reboot, aturan default untuk kotak yang baru saja boot akan default ke hanya tiga tabel dalam mode ACCEPT. Meja lainnya akan hilang. Dengan asumsi aturan yang Anda hadapi sebelumnya dilakukan secara manual, maka reboot akan menghapusnya. Namun, jika mereka muncul seperti itu, maka Anda harus mencari dan menonaktifkan / mengomentari / menghapus aturan yang dipasang saat startup.
Wing Tang Wong
Solusi yang diberikan hanya akan berfungsi jika Anda tidak menginstal iptables yang persisten. Jika Anda melakukannya, Anda harus melakukan perintah berikut:sudo apt-get remove iptables-persistent
IsraGab
16

Hal ini tampaknya baik-baik saja .. http://insanelabs.com/linux/linux-reset-iptables-firewall-rules/

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
Aravinda
sumber
1
Sobat, kau tidak tahu betapa bersyukurnya aku untuk postingmu !!!! Setelah beberapa jam melakukan debug yang menyakitkan, akhirnya saya mengubah iptables saya menjadi default dan masalah saya sekarang telah diperbaiki! Masalah saya adalah bahwa saya memiliki server nodejs yang berfungsi dengan baik di localhost: 80 dan juga myip: 80 tetapi saya juga memiliki satu lagi server nodejs yang bekerja pada localhost: 4000 tetapi tidak bekerja pada myip: 4000 dan saya sangat frustrasi karena ini terjadi setelah menginstal server mail pada raspberri pi saya dan ini terjadi tiba-tiba. Sekali lagi, kamu punya bir dari saya! Terima kasih!
Gabungkan
3

Jawaban Wing akan membantu Anda ketika ada masalah iptables. Jika Anda ingin mengatur ulang semuanya, termasuk tabel alternatif, NAT, PRE/POST ROUTING, menggunakan script ini:

#!/bin/sh
#
# rc.flush-iptables - Resets iptables to default values.
#
# Copyright (C) 2001 Oskar Andreasson <bluefluxATkoffeinDOTnet>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program or from the site that you downloaded it
# from; if not, write to the Free Software Foundation, Inc., 59 Temple
# Place, Suite 330, Boston, MA 02111-1307 USA
#
# Configurations
#
IPTABLES="/sbin/iptables"
#
# reset the default policies in the filter table.
#
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -P OUTPUT ACCEPT
#
# reset the default policies in the nat table.
#
$IPTABLES -t nat -P PREROUTING ACCEPT
$IPTABLES -t nat -P POSTROUTING ACCEPT
$IPTABLES -t nat -P OUTPUT ACCEPT
#
# reset the default policies in the mangle table.
#
$IPTABLES -t mangle -P PREROUTING ACCEPT
$IPTABLES -t mangle -P POSTROUTING ACCEPT
$IPTABLES -t mangle -P INPUT ACCEPT
$IPTABLES -t mangle -P OUTPUT ACCEPT
$IPTABLES -t mangle -P FORWARD ACCEPT
#
# flush all the rules in the filter and nat tables.
#
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
#
# erase all chains that's not default in filter and nat table.
#
$IPTABLES -X
$IPTABLES -t nat -X
$IPTABLES -t mangle -X

Sumber: Berbagi Koneksi Internet - Bantuan Ubuntu

Sahil Arora
sumber