Ich arbeite an einem Debian-basierten System und lerne immer noch etwas über systemctl vs service , versuche aber, meine openvpn
Konfiguration als Anwendungsfall für die Bearbeitung dieses Systems zu verwenden .
In meinem aktuellen Setup bin ich wirklich verwirrt darüber, wie openvpn
der Start zu starten scheint und wie man sie verwaltet.
Beim Booten wurden folgende openvpn
Prozesse gestartet:
> 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
Ich weiß immer noch nicht, was diese steuert, um beim Booten zu starten.
Der erste Prozess ist der Server (den ich deaktivieren möchte), und der andere ist der Client, den ich behalten und weiterhin verwenden möchte.
Mein Verständnis ist, dass man verwenden kann, systemctl
um alle Dienste aufzulisten:
> systemctl list-unit-files --type=service | ag 'openvpn'
openvpn.service disabled
[email protected] disabled
Was sind die Unterschiede zwischen diesen beiden? Steuern diese beiden Dienste die oben genannten Prozesse? Wenn sie deaktiviert sind, warum starten sie immer noch beim Booten?
Wenn ich versuche service
, den Status von zu erhalten openvpn
, erhalte ich:
> 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
Was mich dazu veranlasst zu fragen:
Wenn es in systemctl zwei Einträge für openvpn gibt, wie heißt der zweite bei Verwendung service openvpn_2nd? status
?
Nur für den Fall, es gibt ein /etc/init.d/openvpn
Skript.
Jeder Einblick in einige der oben genannten Fragen wäre sehr dankbar.
Antworten:
OpenVPN ist nicht der beste Startpunkt, wenn man systemd lernt, da OpenVPN kein einfacher Dienst ist.
OpenVPN ist ein Templatized Service unter systemd. Die Serviceeinheiten sind benannt , die alle aus einer einzigen abgeleiteten Service Unit - Datei benannt . Sie starten Ihre Instanz also mit
und es automatisch auf Bootstrap starten mit Offensichtlich stoppen und deaktivieren Sie es mit den analogen Befehlen.openvpn@config.service
[email protected]
/etc/openvpn/server.conf
Dies ist jedoch nicht das, was Ihren OpenVPN-Client ausführt. Um die Serviceeinheit dafür zu finden, kann man den Einheitennamen aus dem Kontrollgruppennamen durch Ausführen suchen
Die Nichtvorlage
openvpn.service
wird im Kommentar oben in der Serviceeinheitendatei erläutert. Es ist etwas anderes, das es wiederum komplexer macht, dies als erste Erfahrung eines Anfängers mit systemd zu lernen.Weiterführende Literatur
quelle