Comment enregistrer les règles des iptables? [dupliquer]

82

Je crée les règles pour iptables. Mais lorsque je redémarre l'ordinateur, les règles ne fonctionnent pas! Comment sauvegarder les règles sur Ubuntu?

Le problème était résolu!

faire:

Après l’écriture des commandes iptables, faites:

 1. sudo su
 2. iptables-save > /etc/iptables.rules
 3. In /etc/network/if-pre-up.d/iptables,put:

 #!/bin/sh
 iptables-restore < /etc/iptables.rules
 exit 0

 4. After, in /etc/network/if-post-down.d/iptables,put:
 #!/bin/sh
 iptables-save -c > /etc/iptables.rules
 if [ -f /etc/iptables.rules ]; then
 iptables-restore < /etc/iptables.rules
 fi
 exit 0
 5. After, give permission to the scripts:
 sudo chmod +x /etc/network/if-post-down.d/iptables
 sudo chmod +x /etc/network/if-pre-up.d/iptables

Plus d'informations: lien Bonne chance!

    
posée Gustavo 06.04.2012 - 08:08
la source

2 réponses

122

Le moyen le plus simple est d'utiliser iptables-persistent .

Installer iptables-persistent :

sudo apt-get install iptables-persistent

Après son installation, vous pouvez enregistrer / recharger les règles iptables à tout moment:

sudo /etc/init.d/iptables-persistent save 
sudo /etc/init.d/iptables-persistent reload

Ubuntu 16.04 Server

L'installation décrite ci-dessus fonctionne sans problème, mais les deux commandes d'enregistrement et de rechargement ci-dessus ne semblent pas fonctionner avec un serveur 16.04. Les commandes suivantes fonctionnent avec cette version:

sudo netfilter-persistent save
sudo netfilter-persistent reload
    
réponse donnée user213088 09.11.2013 - 15:53
la source
37

La méthode générique de sauvegarde des règles iptables consiste à utiliser la commande iptables-save, qui écrit sur stdout.

iptables-save > /etc/network/iptables.rules

La sortie créée par iptables-save peut alors être lue sur stdin par iptables-restore. Si sur un serveur, sans NetworkManager, une approche courante consiste alors à utiliser une commande de pré-démarrage dans / etc / network / interfaces.

iface eth0 inet static
        ....
        pre-up iptables-restore < /etc/network/iptables.rules

Si vous utilisez NetworkManager, il devrait être possible d'exécuter la même commande à partir d'un script créé sous /etc/NetworkManager/dispatcher.d/. Dans la Documentation de la communauté - iptables howto , consultez Configuration au démarrage pour NetworkManager pour plus d'informations.

Notez que les commandes iptables, iptables-save et iptables-restore sont uniquement IPv4. Pour le trafic IPv6, les commandes équivalentes sont ip6tables, ip6tables-save et ip6tables-restore.

    
réponse donnée andol 06.04.2012 - 08:27
la source

Lire d'autres questions sur les étiquettes