GNU/Linux >> Znalost Linux >  >> Linux

nejlepší způsob, jak vymazat všechna pravidla iptables

Řešení 1:

Abych na vaši otázku odpověděl stručně, ne:po spláchnutí každého stolu by nezůstala žádná „zbytková“ pravidla. V zájmu důkladnosti však možná budete chtít nastavit zásady pro vestavěný INPUT a FORWARD řetězí na ACCEPT , také:

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t nat -F
iptables -t mangle -F
iptables -F
iptables -X

Vymazat pravidla ip6tables:

ip6tables -P INPUT ACCEPT
ip6tables -P FORWARD ACCEPT
ip6tables -P OUTPUT ACCEPT
ip6tables -t nat -F
ip6tables -t mangle -F
ip6tables -F
ip6tables -X

...a to by mělo stačit. iptables -nvL by to mělo způsobit (nebo velmi podobný) výstup:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Řešení 2:

Toto správně zcela resetuje váš systém iptables do velmi základního stavu:

iptables-save | awk '/^[*]/ { print $1 } 
                     /^:[A-Z]+ [^-]/ { print $1 " ACCEPT" ; }
                     /COMMIT/ { print $0; }' | iptables-restore

Všechny zásady budou resetovány na ACCEPT a také vyprázdnění každé aktuálně používané tabulky. Všechny řetězce jiné než vestavěné již nebudou existovat.

Řešení 3:

Kdykoli potřebuji vypnout firewall, je něco takového:

  • iptables-save > iptables.bak
  • service iptables stop (jsem na fedoře)

Řešení 4:

Stačí vyložit iptables ' moduly z jádra:

modprobe -r iptable_raw iptable_mangle iptable_security iptable_nat iptable_filter

UPD Bohužel až příliš dobré, aby to byla pravda. Pokud je v tabulce pravidlo nebo uživatelsky definovaný řetězec, odpovídající počet odkazů na modul je 1 a modprobe -r selže. Můžete odstranit pravidla a uživatelem definované řetězce, jako je tento:

echo $'*raw\nCOMMIT\n*mangle\nCOMMIT\n*security\nCOMMIT\n*nat\nCOMMIT\n*filter\nCOMMIT' | iptables-restore

nebo:

iptables-save | awk '/^[*]/ { print $1 "\nCOMMIT" }' | iptables-restore

Také můžete chtít uvolnit moduly tímto způsobem (žádné pevně zakódované názvy modulů):

lsmod | egrep ^iptable_ | awk '{print $1}' | xargs -rd\\n modprobe -r

Na druhou stranu, po tomto iptables-save produkuje pěkný prázdný výstup :)

Řešení 5:

Zálohuje konfiguraci do iptables_backup.conf a vyčistí všechna pravidla.

iptables-save | tee iptables_backup.conf | grep -v '\-A' | iptables-restore

Chcete-li obnovit předchozí konfiguraci:

iptables-restore < iptables_backup.conf

Linux
  1. IPTables Flush:Smazat / odebrat všechna pravidla na RedHat a CentOS Linux

  2. Jaký je nejlepší způsob, jak vyslat signál všem členům procesní skupiny?

  3. nejlepší způsob, jak ladit pravidla přepisu nginx v konfiguračním souboru?

  1. Jak vyprázdnit pravidla iptables

  2. Nejlepší způsob, jak připojit vzdálenou složku?

  3. Doporučené postupy pro konfiguraci pravidel brány firewall

  1. Jak vyprázdnit pravidla iptables

  2. Jak přidat vlastní pravidla iptables v CSF Firewallu

  3. Úvod do iptables