Forum Linux.debian/ubuntu Comment sauvegarder mes règles ip6tables

Posté par  .
Étiquettes :
0
30
jan.
2008
Bonjour,

Alors voilà, en fait vu que free propose ipv6 je l'ai activé (fallait quand même que je la voie cette tortue :) ). Et donc faut quand même que je fasse des règles iptables histoire de pas me balader à poil sur le net en ipv6.
Donc je fait quelques règles et op je lance ip6tables-save et apparemment ça se passe bien.
Et puis quelques jours après ayant un doute sur une des règles je les liste et là surprise: plus du tout de règles et les policy en ACCEPT. Du coup je me dit que j'avais du oublier de lancer ip6tables-save donc je recommence la manip' et après redémarrage les règles ont disparues.
Et du coup je me demande ce que j'ai oublié.
A et aussi je suis sous Debian Sid.

Merci de m'aider.
  • # iptables-save

    Posté par  . Évalué à 2.

    iptables-save et iptables-restore sont tes amis.

    iptables définit des chaînes qui sont directement exploitées en mémoire par le module du noyau. Si tu redémarres, c'est normal qu'elles soient vides. Tu les mets toutes dans un seul fichier et tu les repasses en une fois au démarrage.

    Quelle distribution utilises-tu ? Si c'est une Fedora, par exemple, le fichier en question existe déjà : /etc/sysconfig/iptables

    Il y a même plein d'options sympas dans /etc/sysconfig/iptables-config
    • [^] # Re: iptables-save

      Posté par  . Évalué à 3.

      A et aussi je suis sous Debian Sid.


      Ok, j'avais mal lu.

      A noter que iptables-save te renvoie le contenu des chaînes sur la sortie standard. A charge à toi de la rediriger vers un fichier.
      • [^] # Re: iptables-save

        Posté par  . Évalué à 3.

        a ok je pensais que ça les sauvegardait pour les prochains reboot.

        Donc en fait si j'ai bien compris faut que je mette la sortie de ip6tables dans un fichier et que dans un script au démarrage (dans /etc/network/if-pre-up.d/ par exemple) je fasse un ip6tables-restore de ce fichier.
        • [^] # Re: iptables-save

          Posté par  . Évalué à 3.

          Exactement.

          Et si tu le fais en administrateur consciencieux, tu vérifies en plus que ta distrib' n'exploite pas déjà un fichier dédié pour cela, ce qui t'éviteras d'avoir à écrire un script exprès et garantira la compatibilité avec les reste des outils qu'elle propose ...
        • [^] # Re: iptables-save

          Posté par  . Évalué à 2.

          Le mieux, c'est encore de mettre en tête du fichier généré par ip6tables-save la ligne :
          #!/sbin/ip6tables-restore

          Il suffit ensuite de placer le script dans /etc/network/if-up.d et de le rendre executable.
          • [^] # Re: iptables-save

            Posté par  . Évalué à 2.

            Non, parce que #! appelle le programme en lui passant le nom du fichier de script en argument. iptables-restore et iptables-save, eux, interprètent ce qui leur arrive sur l'entrée standard.
            • [^] # Re: iptables-save

              Posté par  . Évalué à 2.

              Je viens de tester et apparemment même si ce n'est pas marqué dans le man, ip6tables-restore peut prendre le fichier en argument donc ça marche.
              Du coup je vais faire comme ça, un seul fichier c'est plus pratique je trouve.

              En tout cas, merci à tous pour votre aide.
              • [^] # Re: iptables-save

                Posté par  . Évalué à 2.

                Je te le déconseille, parce que c'est prendre une mauvaise habitude dès le départ. En plus, si ta distrib' exploite effectivement un tel fichier, elle risque de l'écraser et ton script ne sera plus compatible. Mais c'est toi voit, cependant.

                Et de rien.
                • [^] # Re: iptables-save

                  Posté par  . Évalué à 3.

                  Non en fait je parlais de faire un script avec '#!/sbin/ip6tables-restore' en entête et en dessous la sortie de ip6tables-save, et de le mettre dans /etc/network/if-pre-up.d/.

                  Donc c'est pas un fichier qui vient de la distrib' donc je pense pas qu'elle l'écrase puisque visiblement /etc/network/if-pre-up.d/ est fait pour qu'on y rajoute des scripts.
            • [^] # Re: iptables-save

              Posté par  . Évalué à 2.

              Il faudrait se renseigner un peu avent de dénigrer.... #! passe stdin au programme appelé. Preuve :
              % cat > test_shebang
              #!/bin/sh
              cat > test_shebang.out
              
              % chmod +x test_shebang
              % echo "Gnia gnia gnia" | ./test_shebang
              % cat test_shebang.out
              Gnia gnia gnia
              % 
              
              • [^] # Re: iptables-save

                Posté par  . Évalué à 2.

                Il faudrait se renseigner un peu avent de dénigrer.... #! passe stdin au programme appelé.


                Relis-toi ! Tu viens de montrer qu'un scrit shell reçoit l'entrée standard, pas son propre contenu ...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.