So starten Sie den OpenVPN-Client-Dienst unter Ubuntu 15.04

21

Ich kann OpenVPN starten und auf die Konfigurationsdatei zeigen, und alles funktioniert einwandfrei, wie zum Beispiel:

sudo openvpn /etc/openvpn/myvpn.conf

aber wenn ich versuche den service mit zu starten

sudo /etc/init.d/openvpn start

Alles was ich bekomme ist die Ausgabe in Syslog:

Jun 23 21:02:30 pc systemd[1]: Starting OpenVPN service...
Jun 23 21:02:30 pc systemd[1]: Started OpenVPN service.

Aber es lügt mich an, es läuft kein openvpn-Dienst:

gk@pc:/etc/openvpn$ ps -aux | grep openvpn
gk   15456  0.0  0.0  13688  2128 pts/0    S+   21:18   0:00 grep --color=auto openvpn

Es werden keine anderen openvpn-Prozesse ausgeführt. Wie kann ich den Dienst starten?

Ich stelle mit einiger Komik fest, dass es in /lib/systemd/system/openvpn.service Folgendes gibt:

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/true
ExecReload=/bin/true
WorkingDirectory=/etc/openvpn

Ich bin mir ziemlich sicher, dass / bin / true meine OpenVPN-Client-Anwendung NICHT ist. Funktioniert der openvpn-Client aus diesem Grund unter Ubuntu 15.04 nicht über die Befehlszeile?

user296916
quelle

Antworten:

37

Funktioniert der openvpn-Client aus diesem Grund unter Ubuntu 15.04 nicht über die Befehlszeile?

Nein. Der Grund dafür ist, dass Sie den Kommentar oben in dieser Unit-Datei nicht gelesen haben und ein System 5- rcSkript direkt aufrufen . Rufen Sie System 5- rcSkripte nicht direkt auf, insbesondere nicht auf einem System, auf dem System 5 rcnicht verwendet wird , wie beispielsweise Ubuntu Version 15.

Ein indirekter Aufruf über den serviceBefehl ist auch bei OpenVPN falsch.

OpenVPN ist ein Template-Dienst unter systemd. Die Dienste werden benannt . Sie sollten Ihre Instanz also mit startenopenvpn@config.service/etc/openvpn/myvpn.conf

systemctl start [email protected]

Weitere Lektüre

JdeBP
quelle
Ok, danke für deine Antwort. Ich wusste nicht, dass Ubuntu der Fedora-Methode folgt, um Dienste zu verwalten. Es scheint sehr wenig Dokumentation zum Starten / Beenden von Diensten am 15.04. So schwer ich google, kann ich überhaupt keine finden. Ist es irgendwie möglich, es mit so etwas wie "systemctl start openvpn" zu starten und den Konfigurationsnamen nicht weiterzugeben?
user296916
systemd newbie here ... Was ist die Unit-Datei, von der Sie sprechen? Ist es freedesktop.org/software/systemd/man/systemd.unit.html ?
Jerry Seutter
Es ist derjenige, dem der Fragesteller den vollständigen Pfadnamen in der Frage gibt. Es hat zu Beginn einen erklärenden Kommentar.
JdeBP,
4
Nur zu Ihrer Information, aber es gibt keine Kommentare in einer dieser Dateien auf Ubuntu 15, die darauf hindeuten, dass das, was ich tat, falsch war. Es ist wirklich sehr wenig im Weg der Dokumentation , um anzuzeigen , dass systemctl bis jetzt Gebrauch die richtige Methode ist, und in der Tat gibt es reichlich Dokumentation , die das /etc/init.d/xxxx schlagen vor , sollte nur systemctl hinter den Kulissen verwenden und es sollte sein transparent für die Benutzer, damit vorhandene Skripte nicht alle kaputt gehen.
user296916
2
Du hast einen Tippfehler: systemctl start [email protected]sollte sein systemctl start openvpn@myvpn.
Bryan Larsen