Jak zresetować system Ubuntu 12.04 do ustawień domyślnych bez blokowania się?

28

Czy ktokolwiek mógłby uprzejmie dostarczyć polecenia, aby całkowicie zresetować iptables (zaporę ogniową) dla Ubuntu 12.04 do domyślnego ustawienia „fabrycznego”? Z tego, co rozumiem, zrobienie tego źle spowodowałoby, że ktoś zostałby zablokowany poza linuksem?

Honey Badger
źródło

Odpowiedzi:

37

Ustaw domyślne zasady w iptables na AKCEPTUJ:

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

Następnie opróżnij zasady:

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

Uwaga: nie wpłynie to na alternatywne tabele, tabele NAT, tabele routingu PRE / POST itp.

Wing Tang Wong
źródło
1
Dzięki @Wing Tang Wong. Czy powyższe całkowicie przywróci zaporę do domyślnego stanu Ubuntu? Co jeśli przypadkowo zmieniłem inne tabele? Jak przywrócić wszystkie tabele do wartości domyślnych? Dzięki!
Honey Badger
Możesz skorzystać z iptables-save i iptables-restore. Zasadniczo zrzuć konfigurację iptables do pliku. Upewnij się, że trzy podstawowe są domyślnymi AKCEPTACJAMI, a następnie usuń inne typy tabel z pliku zrzutu. Następnie zaimportuj go z powrotem do działającego systemu za pomocą iptables-restore. To powinno doprowadzić cię do czystego stanu. Zakłada się, że nie możesz lub nie chcesz ponownie uruchomić urządzenia.
Wing Tang Wong
1
Gotcha Pytanie: co się stanie, jeśli ponownie uruchomię urządzenie? Co się stanie? Dzięki!
Honey Badger,
Jeśli wyłączysz wszystkie iptable reguły, które uruchomią się przy ponownym uruchomieniu, domyślnymi regułami dla świeżo uruchomionego komputera będą domyślnie tylko trzy tabele w trybie AKCEPTUJ. Pozostałe tabele zniknęłyby. Zakładając, że reguły, z którymi miałeś do czynienia wcześniej, zostały wykonane ręcznie, a następnie ponowne uruchomienie wyczyści je. Jeśli jednak pojawią się w ten sposób, musisz znaleźć i wyłączyć / skomentować / usunąć reguły instalowane podczas uruchamiania.
Wing Tang Wong,
Podane rozwiązanie działałoby tylko wtedy, gdy nie zainstalowałeś trwałych iptables. Jeśli tak, powinieneś wykonać następującą sudo apt-get remove iptables-persistent
komendę
16

To wydaje się być w porządku .. 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
źródło
1
Człowieku, nie wiesz, jak wdzięczny jestem za wysłanie cię !!!! Po kilku godzinach bolesnego debugowania w końcu zmieniłem moje iptables na domyślne i mój problem został rozwiązany! Mój problem polegał na tym, że miałem serwer nodejs, który działał dobrze na localhost: 80, a także myip: 80, ale miałem też jeszcze jeden serwer nodejs, który działał na localhost: 4000, ale nie działał na myip: 4000 i byłem bardzo sfrustrowany, ponieważ stało się to po zainstalowaniu serwera pocztowego na moim raspberri pi i stało się to nagle. Znowu człowieku, masz piwo ode mnie! Dziękuję Ci!
Połącz
3

Odpowiedź Wing będzie na twoją pomoc, gdy coś pójdzie nie tak iptables. Jeśli chcesz zresetować wszystko, w tym alternatywnych tabel NAT, PRE/POST ROUTINGnależy użyć tego skryptu:

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

Źródło: Udostępnianie połączenia internetowego - Pomoc Ubuntu

Sahil Arora
źródło