La meilleure façon d'effacer toutes les règles iptables

Actuellement, j'ai ce fragment:

# flush all chains
iptables -F
iptables -t nat -F
iptables -t mangle -F
# delete all chains
iptables -X

Y a-t-il une chance qu'une sorte de règle imperméable resterait en vie après le départ?

L'idée est d'avoir une configuration entièrement propre. iptables, qui peut être facilement remplacé par un nouvel ensemble de règles (Sans parler des itinéraires / Paramètres ifconfig).
Invité:

Eugene

Confirmation de:

Si vous répondez brièvement à votre question, alors non: il n'y aura pas de règles «restantes» après le nettoyage de chaque table. Cependant, dans l'intérêt de la complétude, vous pouvez personnaliser les stratégies pour l'intégré.

INPUT

et

FORWARD

Chaînes K.

ACCEPT

, également:

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

Nettoyer les règles 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

... Et cela devrait fonctionner.

iptables -nvL

Doit le faire (ou

très

Similaire) sortir:

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

Hippolite

Confirmation de:

Il réinitialisera complètement votre système. iptables à une condition très simple:

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

Tous les politiciens seront jetés sur ACCEPT, Et toutes les tables actuellement utilisées sont effacées. Toutes les chaînes, à l'exception de l'embarquage, n'existeront plus.

Florian

Confirmation de:

Quand j'ai besoin d'éteindre le pare-feu, quelque chose comme ça se produit:


iptables-save > iptables.bak


service iptables stop

(Je suis dans un chapeau)

Felix

Confirmation de:

Configuration de la sauvegarde dans iptables_backup.conf Et nettoyer toutes les règles.

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

Pour restaurer la configuration précédente:

iptables-restore < iptables_backup.conf

Edouard

Confirmation de:

Vous pouvez simplement décharger

iptables

'Modules du noyau:

modprobe -r iptable_raw iptable_mangle iptable_security iptable_nat iptable_filter

UPD

Malheureusement, il est trop beau pour être vrai. Bien que la table ait une règle ou une chaîne définie par l'utilisateur, le compteur de référence du module correspondant est égal 1, et

modprobe -r

Retomber. Vous pouvez supprimer les règles et les chaînes définies par l'utilisateur comme suit:

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

ou:

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

De plus, vous voudrez peut-être décharger des modules de cette manière (Sans le nom des modules de codage dur):

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

D'autre part, après ça

iptables-save

produit un beau résultat vide :)

Blanche

Confirmation de:

Cela peut être fait par une ou deux commandes:

 $ sudo iptables-save > iptables.bak
$ sudo iptables -F

Résultat:

$ sudo iptables -nvL
Chain INPUT (policy ACCEPT 3138 packets, 5567K 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 3602 packets, 6547K bytes)
pkts bytes target prot opt in out source destination

Francois

Confirmation de:

J'ai récemment dû bloquer toutes les connexions. En conséquence, j'ai fait

iptables-policy INPUT DROP
iptables-policy OUTPUT DROP
iptables-policy FORWARD DROP

En ce qui concerne l'économie, je recommanderais ce qui suit

Ubuntu:

/etc/init.d/iptables save
/sbin/service iptables save

RedHat / CentOS:

/etc/init.d/iptables save
/sbin/iptables-save

En plus de sauvegarder toutes les règles actuelles ufw, Je l'ai utilisé dans le passé

cp /lib/ufw/{user.rules,user6.rules} /<backup location=""> 
cp /lib/ufw/{user.rules,user6.rules} ./

Je pense que cela peut être utile pour les références à l'avenir. Je pensais que je partagerais.
</backup>

Gilbert

Confirmation de:

Ça a fonctionné pour moi (sur le Ubuntu 18.04):

sudo bash -c "ufw -f reset && iptables -F && iptables -X && ufw allow 22 && ufw -f enable"

Il réinitialise (et désactive) ufw, puis réinitialise iptables, Nettoyer et enlever toutes les chaînes. Puis il se retourne à nouveau ufw, Mais pas plus tôt que le port ne sera autorisé 22 Pour l'accès à distance. Deux commandes nécessitant une confirmation de l'utilisateur sont "forcées", de sorte que l'entrée n'est pas requise. J'ai réussi à l'exécuter à travers une connexion active SSH.

(
https://tqdev.com/2020-install ... 18-04
)

Camille

Confirmation de:

C'est comme ça que je supprime toutes les règles DROP:

iptables -S |grep DROP| sed 's/-A/-D/' >rules  # -A becomes -D: delete
nano rules # check that everything is correct
cat rules | while read line; do iptables $line; done
iptables-save

Prêt!

Pour répondre aux questions, connectez-vous ou registre