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