Salut
J'ai écrit un script pour Netfilter que j'ai appelé parfeu (qui se trouve pour l'instant dans /home)
Ce script fonctionne trés bien, dés que je le lance en faisant: ./parfeu.
Mais impossible de le lancer au démarrage ( et c'est la première fois que je rencontre ce pb, car j'ai déjà lancé des scripts au démarrage):
Je procède de la manière suivante:
je créé un lien dans /etc/rc5.d vers mon fichier:
ln -s /home/parfeu /etc/rc5.d/S82parfeu
je redémarre, fait iptables -L -v: rien n'a été chargé !
autre essai: je mets directement le parfeu ( et pas un lien )dans rc5.d : idem, rien ne se charge après un redémarrage.
aure essai: je mets le parfeu dans /etc/init.d: idem, rien ne se passe...
Je lance des scripts au démarrage sans pb habituellement, mais là, impossible.
Que se passe-t-il ? ( Est-ce parceque le script utilise iptables...)
Merci
# bon je t'aide, mais tu me plussoie...
Posté par Raphaël G. (site web personnel) . Évalué à 1.
Typiquement, quand j'ai un tel script a faire j'utilise /etc/init.d/numlock comme script de base car il est bien fait...
L'explication : au démarage tout les script mis dans /etc/rcx.d avec un Sxx vont être lancé dans l'ordre du xx, mais ces scripts ne sont pas lancé comme ça, ils sont lancé avec un argument : start, stop, restart, etc...
donc tu a besoin de gérer cet argument.
Script de démarage bien fait :
#!/bin/sh
# Startup script for XXX
#
# description: Run XXX at init runlevel change
# chkconfig: 345 29 15
# ci dessus les runlevel dans lesquel il est lancé puis les position de
# départ et d'arrêt
# Source function library.
. /etc/rc.d/init.d/functions
# c'est pour faire zoli avec un OK ou error en couleur
SYSCONF_FILE=/var/lock/subsys/XXX
# See how we were called.
case "$1" in
start)
gprintf "Starting XXX: "
# ajoute tes commandes ici...
echo_success
echo
touch $SYSCONF_FILE
;;
stop)
gprintf "Disabling numlocks on ttys: "
# ajoute tes commandes ici...
echo_success
echo
rm -f $SYSCONF_FILE
;;
status)
if [ -f $SYSCONF_FILE ]
then
gprintf "XXX is enabled\n"
else
gprintf "XXX is disabled\n"
fi
;;
restart)
$0 stop
$0 start
;;
reload)
gprintf "Reloading XXX: "
$0 start
echo
;;
*)
gprintf "Usage: %s {start|stop|restart|reload|status}\n" "$0"
exit 1
esac
exit 0
Et vala tu a toute les cartes en main désormais...
ps : il y a shorewall qui te permet de paramètrer ton firewall et un outil dans le paquet drakwizard qui permet de le configurer en graphique...
[^] # Re: bon je t'aide, mais tu me plussoie...
Posté par yanlolot . Évalué à 1.
# pas dans le niveau 5
Posté par B. franck . Évalué à 2.
tu pourrais perdre les services donnés par ces règles ne serait-ce qu'en passant en niveau 2 ou 3
(pour par exemple redémarrer xdm ou pour recycler X)
En niveau 2 ou 3 c'est mieux (tm).
suivant le mode ou les interfaces réseau sont activées:
par défaut: 2 sous debian, 3 sous rh/mdk||mandriva
# Utiliser le iptables mdk.
Posté par snt . Évalué à 3.
#./parefeu
#service iptables save
Normalement cela créé un fichier /etc/sysconfig/iptables qui contient les regles à appliquer au démarrage. Voir /etc/init.d/iptables pour plus d'infos sur le fonctionnement du truc.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.