Wie starte ich openvpn (client) auf Ubuntu Cli automatisch?

16

Ich benutze Ubuntu 12.04 64bit. Ich habe eine *.ovpnDatei, die funktioniert, wenn ich tippe:

sudo openvpn client.ovpn

Jetzt möchte ich starten, openvpnwenn ich den Computer starte.

Wie kann ich das machen?

Waspinator
quelle

Antworten:

22
  1. Laden Sie die OpenVPNConfigFile.ovpn. Beachten Sie, dass Sie die Datei beliebig umbenennen können.

  2. Verschieben Sie die OVPN-Datei nach /etc/openvpn

  3. cd /etc/openvpn Ordner und geben Sie sudo nano yourserver.txt

    your_server_user_name
    your_server_passowrd
    

    Speichern und schließen

  4. sudo nano OpenVPNConfigFile.ovpn

    Finde auth-user-passund füge yourserver.txtdaneben hinzu, damit es wird

    auth-user-pass yourserver.txt
    

    Auf diese Weise können Sie die Eingabe Ihrer Anmeldeinformationen jedes Mal überspringen, wenn Sie openvpn connection starten

  5. Umbenennen OpenVPNConfigFile.ovpninOpenVPNConfigFile.conf

    sudo mv OpenVPNConfigFile.ovpn OpenVPNConfigFile.conf
    
  6. sudo nano /etc/default/openvpn

    Kommentar entfernen AUTOSTART="all"

  7. sudo service openvpn start

    Sie sollten eine Meldung sehen, die besagt, dass Sie verbunden sind. Die Verbindung wird jedes Mal hergestellt, wenn Sie Ihren Computer starten.

Robert Polson
quelle
5
Wenn Sie systemd ausführen, müssen Sie ausführen, systemctl daemon-reloadbevor Sie den Dienst neu starten
Mario Campa
6

Das openvpnPaket enthält ein Init-Skript /etc/init.d/openvpn. Dieses Skript richtet automatisch die Verbindung für jede .conf(die Erweiterung berücksichtigende) Datei in ein /etc/openvpn.

Dies wurde anhand von Informationen hier gefunden: https://openvpn.net/index.php/open-source/documentation/howto.html#startup

Wenn Sie OpenVPN über ein RPM- oder DEB-Paket unter Linux installieren, richtet das Installationsprogramm ein Initscript ein. Bei der Ausführung sucht das Initscript nach .conf-Konfigurationsdateien in / etc / openvpn und startet, falls vorhanden, für jede Datei einen eigenen OpenVPN-Daemon.

Vašek Purchart
quelle
2

Es wäre schön, einen Un-Hacker zu haben, aber das muss erst einmal sein.

1) Erstelle die Datei myopenvpn in /etc/init.d/

nano /etc/init.d/myopenvpn

2) In myopenvpn einfügen und speichern:

# OpenVPN autostart on boot script

start on runlevel [2345]
stop on runlevel [!2345]

respawn

exec /usr/sbin/openvpn --status /var/run/openvpn.client.status 10 --cd /etc/openvpn --config /etc/openvpn/client.conf --syslog openvpn

QUELLE: http://www.hackerway.ch/2012/12/11/how-to-auto-start-openvpn-client-in-debian-6-and-ubuntu-12-04/#comment-79

Waspinator
quelle
2

Ich blieb ein bisschen hängen und schrieb schließlich alle Anweisungen für die manuelle Einrichtung mit systemd auf.

Dies funktionierte für mich mit Ubuntu 16.10 und openvpn 2.3.11

Einrichten Ihres VPN für die Ausführung von Bash

Diese Beispiele verwenden expressvpn, aber die meisten funktionieren auf die gleiche Weise

Laden Sie die VPN-Konfigurationsdatei Ihres VPN-Providers herunter, z . B. my_express_vpn_amsterdam_2 . ovpn

Verschieben Sie das in /etc/openvpn/und benennen Sie es um, um in .conf zu enden

sudo mv ~/Downloads/my_express_vpn_amsterdam_2.ovpn /etc/openvpn/amsterdam-2.conf

Ihr VPN-Anbieter stellt Ihnen einen Benutzernamen und ein Kennwort für die Verbindung über openvpn zur Verfügung. Speichern Sie den Benutzernamen und dann jedes Passwort in einer eigenen Zeile

sudo vim /etc/openvpn/express-vpn-crednetials.txt
# add these lines
YOUR_VPN_USERNAME
YOUR_VPN_PASSWORD
# save the file

Suchen Sie nun /etc/openvpn/amsterdam-2.conf nach einer Zeile mit der Aufschrift auth-user-passund ersetzen Sie sie durch den Pfad zu Ihrer Anmeldedatei

auth-user-pass /etc/openvpn/express-vpn-crednetials.txt

Teste deine Konfiguration! Starten Sie so openvpn

sudo openvpn --config /etc/openvpn/amsterdam-2.conf

openvpn sollte eine Verbindung herstellen, ohne nach Benutzername oder Passwort zu fragen

Entfernen Sie die vorhandene (defekte) Dienstkonfiguration für openvpn

sudo rm /etc/systemd/system/multi-user.target.wants/openvpn.service

Richten Sie openvpn so ein, dass es als Systemdienst ausgeführt wird

Die mit openvpn gelieferte Konfiguration war fehlerhaft, daher habe ich sie entfernt und eine neue basierend auf dieser Antwort erstellt

Erstellen Sie einen Systemdienst für OpenVPN

sudo vim /usr/lib/systemd/system/openvpn@service

Füge diese Konfiguration hinzu:

[Unit]
Description=OpenVPN Robust And Highly Flexible Tunneling Application On %I
After=syslog.target network.target

[Service]
PrivateTmp=true
Type=forking
PIDFile=/var/run/openvpn/%i.pid
ExecStart=/usr/sbin/openvpn --daemon --writepid /var/run/openvpn/%i.pid --cd /etc/openvpn/ --config %i.conf

[Install]
WantedBy=multi-user.target

Das %iwird als Platzhalter verwendet, damit dieser Dienst für mehrere VPN-Konfigurationen verwendet werden kann. Richten Sie es für die amsterdam-2.confzuvor erstellte Datei ein

sudo systemctl start [email protected]

Der systemd-Dienst sollte nun auf dem amsterdam-VPN ausgeführt werden. Überprüfen Sie den Status wie folgt

sudo systemctl status [email protected]

es sollten mehrere Initialization Sequence Completedausgabezeilen auftauchen und dein vpn sollte laufen.

Hoffe das hilft! Verwandte Lesung:

/unix/206058/how-to-start-2fa-using-openvpn-with-systemd/206490#206490

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

/unix/148990/using-openvpn-with-systemd/149003#149003?newreg=53ca53879fcc489f94304f91bbc82ab3

roo2
quelle