[IPTables] Rendre ses règles persistantes sous GNU/Debian avec iptable-persistent

Si vous souhaitez rendre votre règles de firewalling persistante les développeurs de iptables on prévus deux commandes : iptables-save et iptables-restore.

Ces commandes permettent de créer une copie de la configuration actuelle et de chargé une de ces copies.

Il se trouve que nos amis de chez Debian on prévu un petit script permettant d’automatiser le chargement des règles iptables au démarrage : iptables-persistent. Nous allons donc dans un premier temps installer ce paquet. Nous verrons ensuite comment sauvegarder notre configuration actuelle.

Installation de iptables-persistent

L’installation est très très très simple … voyez plutôt !

# aptitude install iptables-persistent 

Et le tour est joué !

Ce paquet vous a créé plusieurs fichiers dont

  • /etc/init.d/iptables-persistent : Le script qui sera exécuté au démarrage par le RC et chargera vos règles.
  • /etc/iptables/rules : Le fichier qui sera lu par le script précédent pour charger vos règles.

Sauvegarder nos règles

Comme je le disais plus haut, il existe la commande iptables-save qui nous permet d’exporter la configuration actuelle. Petit exemple

# iptables-save

<em id="__mceDel"># Generated by iptables-save v1.4.8 on Thu Apr 18 20:48:47 2013
*raw
:PREROUTING ACCEPT [9797384:2383152683]
:OUTPUT ACCEPT [7848850:7602037790]
COMMIT
# Completed on Thu Apr 18 20:48:47 2013
# Generated by iptables-save v1.4.8 on Thu Apr 18 20:48:47 2013
*nat
:PREROUTING ACCEPT [535202:35374631]
:INPUT ACCEPT [535202:35374631]
:OUTPUT ACCEPT [107902:12861811]
:POSTROUTING ACCEPT [107902:12861811]
COMMIT
# Completed on Thu Apr 18 20:48:47 2013
# Generated by iptables-save v1.4.8 on Thu Apr 18 20:48:47 2013
*mangle
:PREROUTING ACCEPT [9797384:2383152683]
:INPUT ACCEPT [9797384:2383152683]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [7848852:7602038246]
:POSTROUTING ACCEPT [7848852:7602038246]
COMMIT
# Completed on Thu Apr 18 20:48:47 2013
# Generated by iptables-save v1.4.8 on Thu Apr 18 20:48:47 2013
*filter
:INPUT ACCEPT [721005:567300541]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [7247423:5928062896]
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
COMMIT
# Completed on Thu Apr 18 20:48:47 2013

La seul chose que nous avons à faire est de rediriger la sortie de cette commande non plus dans le terminal mais dans le fichier rules utilisé par iptables-persistent.

 # iptables-save > /etc/iptables/rules

Et voila ! C’est tout 😉

Si vous avez apprécié cet article, pensé à laissé un commentaire ou vous abonner au flux RSS feed.

4 thoughts on “[IPTables] Rendre ses règles persistantes sous GNU/Debian avec iptable-persistent

  1. salut
    je passais en coup de vent pour me remettre dans le bain de iptables et te remercie pour ton article qui se trouve rapidement.
    j’ecris ce commentaire pour te dire que ton plugin qui gere le syntax highlighting ne doit pas avoir le bon ordre dans les filtres de sortie car on se retrouve avec les smileys qui sont interprétés par le filtre qui remplace les simleys par des icones donc a la place de 🙂 on a pour info

  2. Pingback : GuiGui's show » Configuration rapide d’iptables pour les réseaux insecures

  3. Trop cool ton tuto.
    On sait tous que quand tu configures iptables et que tu fais un reboot, toute la configuration que tu as fait sera perdue lors du prochain démarrage.
    Donc la chose à faire est de bien configurer son iptables en root.
    Exemple:
    sudo su
    iptables -A INTPUT -p tcp –dport 80 -j ACCEPT
    (pour autoriser le trafic entrant des pages http)
    iptables -A INPUT -p tcp –dport 22 -j ACCPET
    (pour autoriser le ssh en trafic entrant aussi)

    Une fois tout ça terminé on a juste à faire:
    iptables-save > /etc/iptables/rules.v4 (si vous êtes en ipv4)
    ou
    iptables-save > /etc/iptables/rules.v6 (si vous êtes en ipv6)
    Cette commande va permettre à iptables de récupérer sa configuration lors de son démarrage. Plus besoin de script bash pour le faire!!!!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *