Merci. 


Roger dit : 

<blockquote>
Je fais fonctionner sans souci un client OpenVPN sous Jessie. 
Manuellement ou automatiquement. 

Sous Stretch, qui utilise systemd, j'ai des problèmes (par méconnaissance de 
systemd). 
Je peux lancer le client OpenVPN en CLI 
$ sudo openvpn client.conf 
Et Ctrl-C pour interrompre. 


</blockquote>
Daniel dit : 
sudo systemctl start openvpn ou openvpn@client pour ne lancer que ce client 

Roger dit : 
seule la commande suivante fonctionne (voir plus bas): 
$ sudo systemctl start openvpn 



Roger dit : 

<blockquote>
En cherchant, j'ai réglé le problème de la façon suivante : 
$ cat /etc/default/openvpn 
... 
AUTOSTART="all" 
... 
Cette ligne est commentée par défaut. 

Puis, comme indiqué dans ce même fichier : 

$ sudo systemctl daemon-reload 
$ sudo systemctl restart openvpn 

Et là, ça fonctionne immédiatement (je n'ai pas essayé la sortie de veille et 
d'hibernation). 

Il reste cependant deux problèmes à régler : 
1/ je n'ai plus accès à internet via le lien où se trouve le serveur VPN (comme 
la machine Jessie dont l'IP est la même que toute machine qui s'y trouve). 
Je ne sais pas comment faire ? : oú dois-je chercher ? 


</blockquote>
Daniel dit : 
systemctl ne joue en rien sur le routage, le problème doit venir d'autre part 
sudo ifconfig pour afficher les interfaces et vérifier qu'elles soient 
conformes 
sudo ip r pour afficher les routes et vérifier qu'elles soient conformes 


Roger dit : 
ifconfig n'est plus dans Stretch. Alors j'utilise la commande ip 
Peux-tu préciser ce que tu entends par "conformes" ? 
Voilà ce que j'obtiens : 
$ ip r 
default via 212.27.38.253 dev tun0 
<mon-ip-fixe-masquée> via 192.168.0.1 dev wlp32s0 
169.254.0.0/16 dev tun0 scope link metric 1000 
192.168.0.0/24 dev wlp32s0 proto kernel scope link src 192.168.0.102 
192.168.0.0/24 dev wlp32s0 proto kernel scope link src 192.168.0.102 metric 600 
192.168.27.64/27 via 212.27.38.253 dev tun0 
212.27.38.253 dev tun0 proto kernel scope link src 192.168.27.68 

Ça vous parle ? 
Je cherche une solution pour cet autre problème de routage. 



Roger dit : 

<blockquote>
2/ ça crée un problème causé en fait par le serveur OpenVPN : la tentative de 
reconnexion "sauvage" du client alors que le serveur voit le client connecté 
déclenche une trentaine de transactions "Failed" pendant quelques minutes et 
puis ça finit par aboutir. Pendant ce temps là, pas de réseau du tout. 
Comment gérer proprement la connexion et la déconnexion du client OpenVPN avec 
systemd (si connecté, utiliser la cnx VPN ; sinon, se connecter) 


</blockquote>
Daniel dit : 
sudo systemctl stop openvpn@client 
sudo systemctl start openvpn@client 
ou sudo systemctl restart openvpn@client 

Roger dit : 
$ sudo systemctl start openvpn 
fonctionne 
mais il y a un problème avec : 
$ sudo systemctl start openvpn@client 
Job for openvpn@client.service failed because the control process exited with 
error code. 
See "systemctl status openvpn@client.service" and "journalctl -xe" for details. 


$ sudo systemctl status openvpn@client.service 
● openvpn@client.service - OpenVPN connection to client 
Loaded: loaded (/lib/systemd/system/openvpn@.service; enabled; vendor preset: 
enabled) 
Active: failed (Result: exit-code) since Sat 2018-09-08 21:06:04 CEST; 10min 
ago 
Docs: man:openvpn(8) 
https://community.openvpn.net/openvpn/wiki/Openvpn23ManPage 
https://community.openvpn.net/openvpn/wiki/HOWTO 
Process: 924 ExecStart=/usr/sbin/openvpn --daemon ovpn-client --status 
/run/openvpn/client.status 10 --cd /etc/openvpn --config 
/etc/openvpn/client.conf --writepid /run/openvpn/client.pid (code=exited, 
status=1/FAILURE) 

Sep 08 21:06:04 debian systemd[1]: Starting OpenVPN connection to client... 
Sep 08 21:06:04 debian ovpn-client[924]: Options error: In [CMD-LINE]:1: Error 
opening configuration file: /etc/openvpn/client.conf 
Sep 08 21:06:04 debian ovpn-client[924]: Use --help for more information. 
Sep 08 21:06:04 debian systemd[1]: openvpn@client.service: Control process 
exited, code=exited status=1 
Sep 08 21:06:04 debian systemd[1]: Failed to start OpenVPN connection to 
client. 
Sep 08 21:06:04 debian systemd[1]: openvpn@client.service: Unit entered failed 
state. 
Sep 08 21:06:04 debian systemd[1]: openvpn@client.service: Failed with result 
'exit-code'. 


CONSTAT INTERESSANT : 
systemd cherche à utiliser /etc/openvpn/client.conf (avec le nom client.conf) 
qui n'existe pas puisque j'ai le fichier de configuration suivant : 
/etc/openvpn/ client /config_openvpn_routed_debian.conf 

Je peux bricoler en copiant mon fichier de configuration client ici avec ce nom 
client.conf (j'ai fait le test : et la commande $ sudo systemctl status 
openvpn@client.service fonctionne ) 
Mais quelles sont les règles à respecter pour utiliser systemd avec OpenVPN ? 


$ sudo journalctl -xe 
Sep 08 21:06:04 debian sudo[921]: truc : TTY=pts/6 ; PWD=/etc/openvpn/client ; 
USER=root ; COMMAND=/bin/systemctl start openvpn@client 
Sep 08 21:06:04 debian sudo[921]: pam_unix(sudo:session): session opened for 
user root by (uid=0) 
Sep 08 21:06:04 debian systemd[1]: Starting OpenVPN connection to client... 
-- Subject: Unit openvpn@client.service has begun start-up 
-- Defined-By: systemd 
-- Support: https://www.debian.org/support 
-- 
-- Unit openvpn@client.service has begun starting up. 
Sep 08 21:06:04 debian ovpn-client[924]: Options error: In [CMD-LINE]:1: Error 
opening configuration file: /etc/openvpn/client.conf 
Sep 08 21:06:04 debian ovpn-client[924]: Use --help for more information. 
Sep 08 21:06:04 debian systemd[1]: openvpn@client.service: Control process 
exited, code=exited status=1 
Sep 08 21:06:04 debian systemd[1]: Failed to start OpenVPN connection to 
client. 
-- Subject: Unit openvpn@client.service has failed 
-- Defined-By: systemd 
-- Support: https://www.debian.org/support 
-- 
-- Unit openvpn@client.service has failed. 
-- 
-- The result is failed. 
Sep 08 21:06:04 debian systemd[1]: openvpn@client.service: Unit entered failed 
state. 
Sep 08 21:06:04 debian systemd[1]: openvpn@client.service: Failed with result 
'exit-code'. 
Sep 08 21:06:04 debian sudo[921]: pam_unix(sudo:session): session closed for 
user root 
Sep 08 21:06:10 debian sudo[931]: truc : TTY=pts/6 ; PWD=/etc/openvpn/client ; 
USER=root ; COMMAND=/bin/journalctl -xe 
Sep 08 21:06:10 debian sudo[931]: pam_unix(sudo:session): session opened for 
user root by (uid=0) 


Pouvez-vous me recommander un document de référence sur systemd que je me mette 
au niveau ? 
Et, s'il existe, un document sur OpenVPN avec systemd ? 


Enfin, je note que la commande 
$ sudo systemctl stop openvpn 
"libère" le réseau (je peux accéder à internet) mais ne déconnecte pas 
"proprement" le client du serveur, car le serveur conserve la connexion du 
client encore quelques mn. Du coup, un 
$ sudo systemctl start openvpn 
va créer le problème décrit ci-dessus (plusieurs tentatives de connexion 
"Failed" pendant quelques mn avant que ça aboutisse : concrètement, on voit sur 
le serveur la machine authentifiée et la même machine "en attente 
d'authentification") 

Je rappelle qu'avec Jessie le lancement d'OpenVPN client ça marche 
impeccablement . 

Par ailleurs, pour être complet, on peut se demander s'il est normal que le 
serveur OpenVPN (celui d'une FreeBox Revolution) conserve de la sorte des 
clients dans l'état connecté alors qu'une commande de déconnexion a été 
exécutée (le client se croit déconnecté ; le serveur n'a pas le même état). 
Je cherche, mais j'aimerais bien avoir votre avis sur ce point. 

Cerise sur le gâteau : je viens de me rendre compte que la commande suivante 
fonctionne aussi (avec le même comportement vis-à-vis du serveur ) : 
$ sudo service openvpn start 
Je me demande quel sens ça a de mettre en place systemd pour OpenVPN et de 
laisser service (utilisé avec Jessie) pour OpenVPN. 
A un moment, il faut rationnaliser et s'en tenir à un mécanisme robuste ! 


Merci 



Répondre à