OpenVPN-Client beim Booten automatisch starten


34

Ich versuche, OpenVPN beim Booten automatisch zu starten. Heute muss ich manuell eingeben

sudo openvpn --client --config $HOME/openvpn/anonine.ovpn --ca $HOME/openvpn/anonine.ca.crt 

gefolgt von Benutzername und Passwort. Gibt es eine gute Möglichkeit, diese automatische beim Booten zu machen?

Antworten:


42

Bearbeiten /etc/default/openvpn. Drücken Sie einfach Ctrl+ Alt+ Tauf Ihrer Tastatur, um das Terminal zu öffnen. Führen Sie beim Öffnen die folgenden Befehle aus:

sudo gedit /etc/default/openvpn

Kommentiere die AUTOSTART="all"Zeile aus. Speichern und schließen. Starten Sie Ihr System neu.

Bild


(i) Wie kann man auf diese Weise ein bestimmtes VPN starten? (ii) Wer stellt die Authentifizierung für eine auf diese Weise initiierte Verbindung bereit (kann er Verbindungen initiieren, ohne dass die Kombination aus Benutzername und Passwort im Klartext gespeichert ist)? (iii) Wenn möglich, sind CLI-Methoden vorzuziehen (ermöglicht die Implementierung auf einem Headless-Server). Ich kann Ersatz nanofür gedit, aber ich kann nicht nm-Applet zum Speichern von Anmeldeinformationen im Schlüsselbund verwenden.
Jonathan Y.

@ JonathanY. Werfen Sie einen Blick auf die verfügbaren Ressourcen Here und Here . Möglicherweise möchten Sie auch eine neue Frage stellen.
Mitch

6
Herzlichen Dank. Soweit ich die Antwort auf (i) sagen kann (was durchaus im Rahmen dieser Frage liegt), ist dies, dass AUTOSTART="all"versucht wird, jede .confDatei zu starten /etc/openvpn(ich hätte jedoch gerne eine Bestätigung). Die Beantwortung von (ii) ist auch für diese Frage angemessen: Sie können eine VPN-Verbindung nur dann automatisch herstellen, wenn die Geheimnisse ohne Benutzereingabe verfügbar sind (der Schlüsselbund ist aus offensichtlichen Gründen dem Klartext vorzuziehen). Ich gebe zu, dass (iii) ausserschulisch ist und eine neue Frage verdient. Keiner von ihnen wird in diesen Links beantwortet, die ich jedoch sehen kann.
Jonathan Y.

Wie der Kommentar im Bild besagt, ist die Standardeinstellung für AUTOSTART "all". Dieser Edit wird daher meiner Meinung nach nicht benötigt.
Yves B

1
@ YvesB Standard ist "all" nur, wenn AUTOSTART unkommentiert und leer ist
GuSuku

9

Wenn Sie auf systemd (16.04) sind und AUTOSTART = "all" konfiguriert haben und es immer noch nicht startet, beachten Sie Folgendes:

> # If you're running systemd, changing this variable will
> # require running "systemctl daemon-reload" followed by
> # a restart of the openvpn service (if you removed entries
> # you may have to stop those manually)

Mach einfach ein

systemctl daemon-reload

und starten Sie den Dienst neu

 sudo service openvpn restart

Perfekt, vielen Dank.
Pylover

8

Sie können setzen auth-user-pass filenamein Ihrem anonine.ovpnwo filenameist die Datei mit Benutzername / Passwort auf 2 Linien.

Stellen Sie sicher, dass diese filenameordnungsgemäß gesichert sind, da sie einen einfachen Benutzernamen / ein Passwort enthalten.

Dies ist aus openvpn --help:

Client options (when connecting to a multi-client server):

--auth-user-pass [up] : Authenticate with server using username/password.
                  up is a file containing username/password on 2 lines,
                  or omit to prompt from console.

Sie können Ihr Zertifikat auch folgendermaßen hinzufügen anonine.ovpn:

<ca>
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
</ca>

3

Wenn für die Verbindung kein Benutzername / Kennwort erforderlich ist, benennen Sie die .ovpn-Dateien mit der Erweiterung .conf um.

OpenVPN sollte beim Booten eine Verbindung herstellen, auch ohne Autostart = all.

Wenn ein Benutzername / Passwort erforderlich ist,

Bearbeiten Sie die .conf-Datei

editiere auth-user-pass user-password-filename

Erstellen Sie eine Datei mit:

username
password

Wenn Sie eine Verbindung mit Network Manager herstellen möchten, stellen Sie zunächst Folgendes sicher:

sudo apt-get install network-manager-openvpn

Stellen Sie sicher, dass Ihr Ubuntu mindestens 14.04 ist. Dies funktioniert am 12.04 nicht.

Wenn Sie nicht über Ihre ca.crt, client.crt usw. verfügen, extrahieren Sie sie aus der .conf-Datei.

Erstellen Sie mit Network Manager eine neue VPN-Verbindung oder importieren Sie Ihre Konferenz.

Fügen Sie die Zertifikate und den ta.key hinzu.

Bei Routen wird die Verbindung nur für Ressourcen im Netzwerk verwendet.

Bearbeiten Sie Ihre Internetverbindung mit dem Netzwerkmanager. Wählen Sie Verbindung mit VPN und dann Ihre VPN-Verbindung.


0

Obwohl es für das OP möglicherweise nicht von Interesse ist, war ich frustriert, dass dieser Dienst erst nach dem Anmelden gestartet wurde - entweder grafisch oder mit einer der Tastenkombinationen Strg + Alt + F # TTY. Irgendwann wurde mir klar, dass mein Computer nur dann eine Verbindung zum WLAN herstellen würde, wenn ich mich anmeldete. Die anderen Antworten hier mit den üblichen Ratschlägen zum Ausführen zu kombinieren sudo update-rc.d openvpn defaultsund die erste Antwort auf diese andere Frage funktionierte für mich. Vielleicht hilft das einem anderen Googler.


0

Für mich die

auth-user-pass filename

funktioniert nicht

verwenden

askpass /etc/openvpn/filename

Und nur das Passwort in der obersten Zeile haben

Es hat funktioniert und jetzt startet openvpn beim Booten

Befehle, um zu überprüfen, ob openvpn funktioniert:

systemctl status openvpn@"your vpn user name"

wget -qO- http://ipecho.net/plain ; echo

um Ihre IP zu überprüfen (es muss sich von der externen IP Ihres Routers unterscheiden)

sudo service openvpn stop

sudo service openvpn start

um deine Konfiguration zu überprüfen, ohne ständig neu zu starten.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.