[résolu] Script d'initialisation d'iptables bugué

Script d'initialisation d'iptables bugué [résolu] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 10-12-2004 à 21:48:59    

L'application automatique de mes règles de firewall au démarrage de mon serveur Mdk ne fonctionne pas.
Voilà pourquoi : lorsque j'exécute /etc/init.d/iptables start pour appliquer les règles du pare-feu, la console m'affiche l'erreur :

/etc/init.d/iptables: line 183:  4129 Done                    grep -v "^[[:space:]]*#" $IPTABLES_CONFIG
      4130                       | grep -v '^[[:space:]]*$'
      4131 Segmentation fault      | /sbin/iptables-restore -c
                                                                [ECHEC ]


 
Manque de bol, la ligne 183 correspond à la fin ou presque du fichier ("esac" ). Je n'arrive pas à trouver l'erreur. Pouvez-vous m'aider ?
 
Voici un extrait du fichier /etc/init.d/iptables :
 

[...]
IPTABLES_CONFIG=/etc/sysconfig/iptables
[...]
start() {
        if [ -f $IPTABLES_CONFIG ]; then
            # We do _not_ need to flush/clear anything when using iptables-restore
            gprintf "Applying iptables firewall rules: \n"
            grep -v "^[[:space:]]*#" $IPTABLES_CONFIG | grep -v '^[[:space:]]*$' | /sbin/iptables-restore -c && \
                    success "Applying iptables firewall rules" || \
                    failure "Applying iptables firewall rules"
            echo
            touch /var/lock/subsys/iptables
        fi
}
[...]


Message édité par nagadoudi le 11-12-2004 à 21:19:08
Reply

Marsh Posté le 10-12-2004 à 21:48:59   

Reply

Marsh Posté le 11-12-2004 à 05:08:11    

Apparemment tes grep envoient a iptables-restore un truc qu'il n'aime pas puisqu'il segfault. Alors premièrement il y a un bug dans iptables-restore puisque quelles que soient les conditions il ne devrait pas segfaulter. Deuxièmement il y a probablement un truc louche dans ce que lui envoie.

Reply

Marsh Posté le 11-12-2004 à 21:18:49    

OK, ça marche maintenant.
J'ai pas cherché d'où venait l'erreur, j'ai simplement remplacé la fonction par celle-ci, toute simple :

start() {
  if [ -f $IPTABLES_CONFIG ]; then
    iptables-restore $IPTABLES_CONFIG
  fi
}

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed