OpenVPN ne démarre pas au redémarrage du serveur

Forum sur la sécurité des réseaux, la configuration des firewalls, la mise en place de protections contre les attaques, de DMZ, de systèmes anti-intrusion ...

Modérateur: modos Ixus

OpenVPN ne démarre pas au redémarrage du serveur

Messagepar lulu62 » 27 Oct 2006 04:33

Bonjour, je suis un newb sur linux :oops: et j'ai besoin de votre aide concernant OpenVPN :

Voilà, j'ai installé OpenVPN (à l'aide de Yast) sur mon serveur dédié qui tourne sous linux SuSE 9.3, le VPN fonctionne très bien cependant à chaque fois que je redémarre le serveur, OpenVPN ne se lance pas, pourtant dans la doc d'OpenVPN on peut lire ceci :
If you install OpenVPN via an RPM package on Linux, the installer will set up an initscript. When executed, the initscript will scan for .conf configuration files in /etc/openvpn, and if found, will start up a separate OpenVPN daemon for each file.

J'ai bien créé le dossier /etc/openvpn et j'y ai placé mon fichier .conf.

Quand je lance OpenVPN en tappant
Code: Tout sélectionner
openvpn server.conf
tout en étant dans le dossier /etc/openvpn le logiciel se lance correctement et le VPN est créé.

Et quand je démarre OpenVPN en tappant
Code: Tout sélectionner
./openvpn start
en étant dans le dossier /etc/init.d cela fonctionne bien égalemant.

Il existe aussi un répertoire :
/usr/share/doc/packages/openvpn/suse avec à l'intérieur un seul fichier nommé "openvpn.init"

Dans ce fichier il est écrit au début :
# To install :
# copy this file to /etc/rc.d/init.d/openvpn
# use the runlevel editor in Yast to add it to runlevel 3 and/or 5
# shell> mkdir /etc/openvpn
# make .conf or .sh files in /etc/openvpn (see below)

et un peu plus loin :
# Author's Notes:
#
# I have created an /etc/init.d init script and enhanced openvpn.spec to
# automatically register the init script. Once the RPM is installed you
# can start and stop OpenVPN with "service openvpn start" and "service
# openvpn stop".

Cependant je n'ai pas de répertoire /etc/rc.d/init.d/openvpn mais j'ai bien deux répertoires /etc/rc.d et /etc/init.d et dans chacun un fichier "openvpn".

Dois-je remplacer un des fichiers "openvpn" se trouvant dans init.d ou rc.d par "openvpn.init" se trouvant dans
/usr/share/doc/packages/openvpn/suse ?
lulu62
Quartier Maître
Quartier Maître
 
Messages: 21
Inscrit le: 19 Oct 2006 09:47
Localisation: Thaïlande

Messagepar Franck78 » 27 Oct 2006 10:44

Salut,

Sous la suse, les script de lancement des services se trouvent dans "/etc/init.d"

A toi d'y placer le script adéquat; si ton rpm est 'fabriqué par suse', le bon fichier est au bon endroit.

Ensuite, en ligne de commande, "#chkconfig" permet de manager tous ces scripts. (google t'expliquera tout).
L'équivalnet existe aussi dans Yast
"systeme/editeur de niveau d'execution"
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar arapaho » 27 Oct 2006 10:49

Non.

Mais un peu de documentation pour commencer: renseigne-toi sur les runlevels, sur la façon de démarrer d'une distribution.

Le fait que qu'un fichier exécutable soit placé dans un init.d ne lui permet pas pour autant d'être géré au démarrage.
Dans ton cas, les liens symboliques ne sont vraisemblablement pas fait depuis les répertoires rcX.d vers ton script dans init.d, où X est un runlevel.

Même si chaque distribution utilise des pratiques différentes pour gérer les les initialisation SystemV, Suse ressemble à RedHat [c'est ce dont je me souviens, c'est tellement loin ...]

Donc RTFM un petit peu [avec F pour Fine]
No One Will Ever Need More Than 640K Ram - Bill Gates, 1981
Avatar de l’utilisateur
arapaho
Amiral
Amiral
 
Messages: 1119
Inscrit le: 18 Avr 2002 00:00
Localisation: Genève

Messagepar micjack » 27 Oct 2006 11:08

Salut,
Franck78 a écrit:"#chkconfig"

Ou aussi

ln -s /etc/init.d/openvpn /etc/rc.d/rc3.d/Snnopenvpn

rc3.d est un niveau de chargement suffisant. Le S avant nn est pour Start dont nn est le N° d'ordre de démarrage, alors regarde avant/aprés quel script tu veux qu'il démarre (De preference apres les cartes réseau et avant iptable)

Perso sans vouloir utiliser chkconfig, c'est comme cela que je fais, mais j'ai une une RH9...

Mais effectivement, un peu de lecture sur le demarrage serait la bien vennue (C'est trés instructif) :wink:
micjack
Amiral
Amiral
 
Messages: 3113
Inscrit le: 06 Juin 2003 00:00
Localisation: Varois

Messagepar arapaho » 27 Oct 2006 11:48

micjack a écrit:Salut,
ln -s /etc/init.d/openvpn /etc/rc.d/rc3.d/Snnopenvpn
rc3.d est un niveau de chargement suffisant.


Hmm oui mais là c'est juste le lien de démarrage en runlevel 3. Il faut également faire un lien pour l'arrêt. Il faut faire ça proprement, et pas attendre que le kernel tue les processus.

Concernant le placement dans le runlevel 3, je ne suis pas d'accord sur sa justification ;). La réflexion sur le fait que c'est un niveau suffisant n'est pas mauvaise, mais elle n'est pas logique.
Si la Suse démarre en runlevel 3 par défaut ça peut être bon. Le runlevel par défaut au démarrage est important.
No One Will Ever Need More Than 640K Ram - Bill Gates, 1981
Avatar de l’utilisateur
arapaho
Amiral
Amiral
 
Messages: 1119
Inscrit le: 18 Avr 2002 00:00
Localisation: Genève

Messagepar Franck78 » 27 Oct 2006 12:00

C'est bien pour ça qu'il vaut mieux montrer à Lulu les utilitaires de relativement haut niveau, qui n'oublient rien et se basent quand même sur le contenu du script; ceci avant les méthodes de gourou qu'il est loin d'être (newb) ;-)
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar micjack » 27 Oct 2006 12:18

arapaho a écrit:Hmm oui mais là c'est juste le lien de démarrage en runlevel 3. Il faut également faire un lien pour l'arrêt. Il faut faire ça proprement, et pas attendre que le kernel tue les processus.

En fait, c'est just un exemple, le runlevel 3 convient sur Redhat, surtout pour ceux qui restent en console (comme moi), mais aprés c'est sûr, qu'il y'a 5 et 6 voir même en 2. Mais bon pour l'arret, c'est bien pour ca aussi que je disais qu'il lui manque de la lecture, il trouverait par la même occasion les bon Kxx à metre ou il faut (évite en plus les kernel panic )

La manip du lien symbolique est déja une piste pour sa demarche, aprés, effectivement il lui faut connaitre le bon run level (déja jeter un zeuil sur tout les rcx.d pour se donner une idée, et comme je disais, c'est instructif) :wink:

Et pour Franck, je suis d'accord pour utiliser les outils... Mais cela s'apprend en deux secondes de créer un lien, et de plus, on met son script avec le N° d'ordre que l'on veut (suivant le cas, c'est nécessaire)

Mais bon, on va pas polémiquer sur quelle méthode est la meilleur, moi je suis plutot main dans le camboui et quand vraiment cela semble difficile pour un membre, je ne lui demande pas d'attaquer en console, je donne les methodes les plus simples (outils) et dans le cas présent, ca me parait simple :wink:
micjack
Amiral
Amiral
 
Messages: 3113
Inscrit le: 06 Juin 2003 00:00
Localisation: Varois

Messagepar arapaho » 27 Oct 2006 12:38

micjack a écrit:Mais bon, on va pas polémiquer sur quelle méthode est la meilleur, moi je suis plutot main dans le camboui et quand vraiment cela semble difficile pour un membre, je ne lui demande pas d'attaquer en console, je donne les methodes les plus simples (outils) et dans le cas présent, ca me parait simple :wink:

Non clairement, on va pas polémiquer et en plus ça ne sert à rien. Et puis je polémique jamais ça me fatigue :P
Sinon, mettre les mains dans le camboui d'accord, mais dans ce cas, pourquoi par exemple s'emm.erder avec un daemon XML-RPC plutôt que de le faire avec un über netcat ? ;)

C'était "histoire de" hein ...
No One Will Ever Need More Than 640K Ram - Bill Gates, 1981
Avatar de l’utilisateur
arapaho
Amiral
Amiral
 
Messages: 1119
Inscrit le: 18 Avr 2002 00:00
Localisation: Genève

Messagepar micjack » 27 Oct 2006 15:18

Il me semble que je me soit mal expliqué.. Quand je parle de metre les mains dans le camboui, c'est lorsque c'est nécéssaire, et il me semble, c'est ce qu'on lui demande de faire dans le fichier "init" qu'il nous montre... :?

Je ne suis pas certain que le chkconfig existe sur une Suse, de plus que le script doit comporter des directives pour etre traité, genre # chkconfig: xxxx 12 xx pour par exemple etre en S12 , et ainsi de savoir quoi metre comme runlevel aprés la commande.

Donc Lulu, y a t'il # chkconfig: au debut de ton script en dessous de #!/bin/bash ?

Je rencontre souvant des scripts sans directives, et donc le chkconfig ne fonctionne pas, alors on le fait à la main et ca prend , bon allé 1 minutes..
micjack
Amiral
Amiral
 
Messages: 3113
Inscrit le: 06 Juin 2003 00:00
Localisation: Varois

Messagepar arapaho » 27 Oct 2006 15:48

Je suis une véritable tête de lard ... et je tiens tête jusqu'au poteau !
Je reprend un morceau du message initiateur du fil de discussion, en mettant en gras ce qui me semble important:
# To install :
# copy this file to /etc/rc.d/init.d/openvpn
# use the runlevel editor in Yast to add it to runlevel 3 and/or 5
# shell> mkdir /etc/openvpn
# make .conf or .sh files in /etc/openvpn (see below)



Et histoire de répondre correctement à lulu62, dans un premier temps ne remplace pas le fichier dans init.d et tente de l'ajouter aux runlevels indiqués.
No One Will Ever Need More Than 640K Ram - Bill Gates, 1981
Avatar de l’utilisateur
arapaho
Amiral
Amiral
 
Messages: 1119
Inscrit le: 18 Avr 2002 00:00
Localisation: Genève

Messagepar micjack » 27 Oct 2006 16:45

arapaho a écrit: Je suis une véritable tête de lard ... et je tiens tête jusqu'au poteau ! Je reprend un morceau du message initiateur du fil de discussion, en mettant en gras ce qui me semble important:

# use the runlevel editor in Yast to add it to runlevel 3 and/or 5

Tu ne l'a pas vu des le départ ? Malgré que Franck parle de Yast comme suggestion, il ne l'a visiblement pas vu non plus cette phrase... :roll:

Je ne connais pas Yast ! si non je lui aurrait déja donné la réponse, ainsi que celle des liens init.d ---> rcx.d en console, sisi...

Ne connaissant pas Yast, c'est bien pour cela que je donnais la méthode à la main, ainsi que de répondre sur l'utilisation de chkconfig, en locurence à Franck.. Mais depuis, la discution parle de tout et de rien, et tout ca pour en venir à dire que "l'évidence" de la reponse est dans le premier post, et que maintenant, il faut qu'il fasse comme c'est écrit sur la ligne...

Désolé de te tapé sur les nerfs, que tu fais bien resentir... En fait la discution a pris une drole de direction, trés basée sur le "oui, mais non" ... Je pense ne plus avoir besoin d'ajouter quelque chose dans ce fil...

Ce qui est certain (au cas ou) c'est que la méthode à la main fonctionnera (tout compte fait, pas mal le runlevel 3, ok il propose aussi le 5)

En esperant que Lulu nous donne une suite.
micjack
Amiral
Amiral
 
Messages: 3113
Inscrit le: 06 Juin 2003 00:00
Localisation: Varois

Messagepar lulu62 » 01 Nov 2006 11:01

Tout d'abord merci d'avoir participé activement à mon sujet.
Je n'ai pas plus répondre plus tôt car j'ai eu un weekend chargé et j'ai eu d'autres prioritées dans mon travail en début de semaine. Je devrais recommencer à travailler sur le VPN dans peu de temps en même temps j'effectuerai des recherches sur ce dont vous avez parlé (rcx.d, init.d, runlevel, liens symboliques,...) et je vous tiendrai au courant.
Merci,
@+
lulu62
Quartier Maître
Quartier Maître
 
Messages: 21
Inscrit le: 19 Oct 2006 09:47
Localisation: Thaïlande


Retour vers Sécurité et réseaux

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 0 invité(s)

cron