116 votes

Comment sauvegarder les règles d'iptables ?

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 de l'écrire les commandes iptables, faire :

 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 : https://help.ubuntu.com/community/IptablesHowTo#Saving_iptables Bonne chance !

175voto

user213088 Points 1751

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 sauvegarder/recharger les règles iptables à tout moment :

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

Serveur Ubuntu 16.04

L'installation telle que décrite ci-dessus fonctionne sans problème, mais les deux commandes de sauvegarde 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

53voto

sanmiguel Points 1235

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 commune est alors d'utiliser une commande pre-up 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 depuis un script créé sous /etc/NetworkManager/dispatcher.d/. Dans le fichier Documentation communautaire - iptables howto voir 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.

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