150 votes

meilleur moyen d'effacer toutes les règles iptables

J'ai actuellement cet extrait :

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

Y a-t-il une possibilité qu'une règle imperméable reste en vie après l'exécution de cette procédure ?

L'idée est d'avoir une configuration iptables complètement propre, qui peut être facilement remplacée par un nouveau jeu de règles (sans tenir compte des paramètres de routes/ifconfig).

195voto

gfrizzle Points 4518

Pour répondre à votre question de manière succincte, non : il n'y aurait pas de règles "restantes" après le nettoyage de chaque table. Cependant, dans un souci d'exhaustivité, vous pouvez définir la politique pour le système intégré de gestion des tables. INPUT y FORWARD chaînes à 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

Effacer les règles de 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 ça devrait le faire. iptables -nvL devrait produire ceci (ou muy similaire) sortie :

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

44voto

jan Points 11

Ceci réinitialisera totalement votre système iptables à un état très basique :

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

Toutes les politiques seront réinitialisées à ACCEPT et toutes les tables en cours d'utilisation seront vidées. Toutes les chaînes autres que les chaînes intégrées n'existeront plus.

4voto

Zibri Points 281

Sauvegarde la configuration dans iptables_backup.conf et nettoie 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

3voto

Carlos Barbosa Points 1374

Chaque fois que j'ai besoin que le pare-feu soit désactivé, c'est quelque chose comme ça :

  • iptables-save > iptables.bak
  • service iptables stop (je suis sous fedora)

3voto

Mugoma J. Okomba Points 173

On peut le faire en 1 ou 2 commandes :

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

結果

$ 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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X