Je travaille sur un système basé sur Debian et j'apprends toujours sur systemctl vs service , mais j'essaie d'utiliser ma openvpn
configuration comme cas d'utilisation pour travailler à travers cela.
Dans ma configuration actuelle, je suis vraiment confus quant à la façon dont openvpn
semble démarrer au démarrage et comment les gérer.
Au démarrage, ce sont les openvpn
processus qui ont été démarrés:
> ps aux | ag 'openvpn'
nobody 952 0.0 0.0 5800 1108 ? Ss 13:29 0:00 /usr/sbin/openvpn --daemon ovpn-server --status /run/openvpn/server.status 10 --cd /etc/openvpn --config /etc/openvpn/server.conf
root 1537 0.0 0.1 6088 2544 ? Ss 13:30 0:00 /usr/sbin/openvpn --daemon --auth-nocache --config /root/.vpn_conf/pia.ovpn
Je ne sais toujours pas ce qui les contrôle pour démarrer au démarrage.
Le premier proc est le serveur (que je souhaite désactiver), et l'autre est le client que je souhaite conserver et continuer à utiliser.
Ma compréhension est que l'on peut utiliser systemctl
pour répertorier tous les services:
> systemctl list-unit-files --type=service | ag 'openvpn'
openvpn.service disabled
[email protected] disabled
Quelles sont les différences entre ces deux? Ces deux services contrôlent-ils les processus ci-dessus? S'ils sont désactivés, pourquoi démarrent-ils toujours au démarrage?
Si j'essaie d'utiliser service
pour obtenir le statut de openvpn
, j'obtiens:
> service openvpn status
● openvpn.service - OpenVPN service
Loaded: loaded (/lib/systemd/system/openvpn.service; disabled)
Active: active (exited) since Sun 2017-02-19 13:29:51 PST; 18min ago
Process: 936 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 936 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/openvpn.service
Feb 19 13:29:51 systemd[1]: Started OpenVPN service
Ce qui m'incite à demander:
S'il y a deux entrées dans systemctl pour openvpn, quelle est la deuxième appelée lors de l'utilisation service openvpn_2nd? status
?
Au cas où, il y a un /etc/init.d/openvpn
script.
Tout aperçu de certaines des questions ci-dessus serait grandement apprécié.
Réponses:
OpenVPN n'est pas le meilleur endroit pour commencer si l'on apprend systemd, car OpenVPN n'est pas un service simple.
OpenVPN est un service modélisé sous systemd. Les unités de service sont nommées , toutes dérivées d'un seul fichier d'unité de service nommé . Vous démarrez donc votre instance avec
et le faire démarrer automatiquement sur bootstrap avec Évidemment, vous l'arrêtez et le désactivez avec les commandes analogues.openvpn@config.service
[email protected]
/etc/openvpn/server.conf
Ce n'est cependant pas ce qui exécute votre client OpenVPN. Pour localiser l'unité de service pour cela, on peut localiser le nom de l'unité à partir du nom du groupe de contrôle, en exécutant
Le non-modèle
openvpn.service
est expliqué dans le commentaire en haut de son fichier d'unité de service. C'est quelque chose d'autre qui, encore une fois, rend cela plus complexe à apprendre en tant que première expérience d'un novice de systemd.Lectures complémentaires
la source