openVPN-Skript zum autom. Login erstellen

porn()pole

Commodore
Registriert
Mai 2002
Beiträge
5.064
Tach zusammen,

habe hier einen seit Wochen ungenutzten VPN-Zugang (securevpn) rumliegen, weil ich schlicht zu faul bin, jedes Mal das Procedere zur Aktivierung durchzugehen.

Zwischenzeitlich hatte ich mir ein kleines bash-Skript geschrieben, wo ich dann "nur noch" den Login und Token eingeben musste. (Skript habe ich leider bei der letzten Neuinstallation nicht gesichert).

Kann mir mal einer von euch sagen, ob man diese Schritte hier

Code:
openvpn --config "/etc/openvpn/SERVERNAME.ovpn"
Enter your "Login Token" and connect to the server.

irgendwie komplett automatisieren kann? Am besten noch mit einer kleinen nummerierten Liste der verfügbaren *.ovpn-Serverdateien, wo man nur noch auswählt, mit welchem Server man sich verbinden will?
 
Hallo,

also den eigentlichen Login solltest du mit der Option (in deiner conf/ovpn-Datei)
Code:
auth-user-pass login.txt
und einer entsprechenden login.txt mit folgendem Inhalt hinbekommen:
Code:
<username>
<passwort>
 
Okay, das mit der Login-Datei hat schon mal geklappt, danke!

Jetzt wirds schwieriger:

Code:
%users  ALL = NOPASSWD: /usr/local/bin/openvpn_n1.sh

Dies habe ich in der sudoers eingetragen, zudem das Skript an sich zum Autostart hinzugefügt. Leider fehlt mir immer noch die Berechtigung, das Skript ohne sudo zu starten. Warum?
 
wenn du den networkmanager verwendest kannst du die verbindung automatisch aufbauen lassen, alternativ legst du einfach eine openvpn.conf in /etc/openvpn ab und startest und stoppst den openvpn dienst mit service openvpn stop / start
 
Unter Linux werden die .ovpn-Dateien einfach nur in .conf-Dateien umbenannt, da automatisch alle .conf-Dateien im /etc/openvpn-Ordner beim start benutzt werden.
 
Leut, bitte ein WENIG auführlicher:

die *.ovpn habe ich nun in *.conf umbenannt und in /etc/openvpn abgelegt.

Im Networkmanager kann ich die VPN-Verbindung aber immer noch nicht auswählen. Und auch per openvpn start geht nix (error in CMDline 1: error opening configuration file start) ...

Oben stehende Frage, warum ich das Skript in /usr/local/bin nach Modifikation der sudoers nicht abfeuern kann, wurde auch nicht beantwortet.

Könnte sich also bitte jemand die 2min. nehmen und etwas ausführlicher auf die Problemstellung (autom. Verbindungsaufbau über openVPN bei Systemstart) und deren Lösung eingehen?
 
Also zum Script:

Das Script startest du weiterhin mit sudo. Es sollte aber kein Passwort mehr verlangt werden. Bitte auch darauf achten, dass die Berechtigungen ein Ausführen erlauben. Es sollte aber nicht Nutzer-Beschreibbar sein, sonst könnte dir ein böses Programm da ein rm -rf / reinschreiben und per sudo mit vollen Rechten ausführen. Also owner auf root:root, rechte auf 755.

Du solltest aber erstmal entscheiden, wie das ganze gestartet werden soll, nicht alle Varianten vermischen:

1)
Manuell per Script:
(wie oben beschrieben)

2)
Automatisch bei Systemstart:
ovpn-Datei in /etc/openvpn/
und dann mit folgenden Kommandos steuern
Code:
sudo service openvpn start
sudo service openvpn stop
sudo service openvpn restart
Auf diese Weise werden alle VPN-Konfigurationen gestartet / bendet, die im Ordner liegen. Möchte man einzelne Konfigurationen deaktivieren, z.B. einfach ein .disabled an den Dateinamen anhängen.

Das automatische Starten beim Booten kann hier auch deaktiviert werden. Dazu entsprechend für deine Distri und Distri-Version googeln. Sollte mit einem Kommando zu machen sein, hat sich aber in den letzten Jahren etwas geändert.

Um die einzelnen Konfigurationen mal zu testen, falls sie nicht laufen (als root, z.b. per "sudo -i"):

Code:
cd /etc/openvpn
openvpn --verb 5 --config CONFIG.conf


3)
Mit dem Networkmanager manuelles Starten per GUI:
Dazu müssen unter Umständen Pakete nachinstalliert werden. Dann gibt es eine Funktion, um eine ovpn-Datei einzulesen und die Konfigurationsoptionen für den Networkmanager zu verwenden. Die anderen Dateien / Schritte sollten dann eigentlich nicht mehr nötig sein. Ich habe diese Variante aber selbst nie wirklich verwendet, kann dazu also nicht ganz viel sagen.
 
zu 2):

hat schon mal für die eine *.conf funktioniert. Aber wie verhält es sich, wenn in der /etc/openvpn mehrere confs drin sind? Wie wähle ich bzw. das System die richtige bzw. die gewollte?
 
Es werden in dem Fall eben alle benutzt. Man könnte aber natürlich wieder ein script schreiben, dass nur eine der Dateien passend benennt und dann den openvpn dienst startet.

Ich würde es in dem Fall so machen, dass ich alle Dateien einmal als disabled da liegen lassen würde, also z.B.:

config1.conf.disabled
config2.conf.disabled
config3.conf.disabled
...



Dann für jede Variante ein Script:
Code:
#!/bin/bash

cp /etc/openvpn/config1.conf.disabled /etc/openvpn/config_active.conf
service openvpn restart

Aufruf z.B.: /usr/local/bin/script_config1.sh


oder per Parameter:
Code:
#!/bin/bash

cp /etc/openvpn/config$1.conf.disabled /etc/openvpn/config_active.conf
service openvpn restart

Aufruf z.B.: /usr/local/bin/script.sh 1


Und die scripte/das script dann wieder mit sudo aufrufen (NOPASSWD kann wieder in der sudoers festgelegt werden). Und dazu wiederum kann man sich dann noch ein Desktop-Icon erstellen, wenn man das möchte.
 
Zuletzt bearbeitet: (änderungen am script)
hallo,

gibts da keine /etc/default/openvpn ?
Normalerweise gibt's da einen Parameter "AUTOSTART" und wenn der gesetzt ist (dokumentation im file) und als init-System systemd verwendet ist läuft das out-of-the-box beim startup.

viele grüße
gt
 
Zurück
Oben