Schnaeppchen
Posts: 1
Joined: Sat Sep 02, 2017 12:06 pm

VPN Verbindung per Cron wiederherstellen

Sat Sep 02, 2017 12:08 pm

Hallo,

ich habe einen Rasbperry PI.
Mit diesem verbinde ich mich manuell mit einem VPN Dienst.

Befehl ist hier:
cd /etc/openvpn/
sudo openvpn test.test.com.udp1194.ovpn
Emailadresse (Enter Auth Username:)
Passwort

Leider wird diese Verbindung irgendwann automatisch getrennt.

Nun meine Frage:

Kann ich dieses verbinden auch per Crontab z.b. täglich wieder verbinden lassen?
Vielleicht auch auf verschiedene Server?

franzhartwig
Posts: 12
Joined: Tue Jan 22, 2013 6:03 pm

Re: VPN Verbindung per Cron wiederherstellen

Sun Sep 03, 2017 10:51 am

Schau Dir mal die Optionen

Code: Select all

ping-restart n
und

Code: Select all

persist-tun
an. Die kannst Du in Deiner test.test.com.udp1194.ovpn ergänzen. Möglicherweise hilft das schon, den Tunnel offen zu halten. Bei mir läuft ein OpenVPN-Tunnel permanent zwischen zwei RasPis. Allerdings ist persist-tun auf Server und Client gesetzt und Du hast wahrscheinlich keinen Einfluss auf die Server-Konfiguration.

Du kannst natürlich die VPN-Verbindung per Cronjob neu triggern, indem Du z.B. eine Datei in /etc/cron.d ablegst und dort einträgst

Code: Select all

***** root /usr/sbin/openvpn test.test.com.udp1194.ovpn
wobei Du natürlich bei den 5 Sternen am Anfang anpassen musst, wann und wie häufig die Verbindung aufgebaut werden soll. Ich habe allerdings keine Ahnung was passiert, wenn die VPN-Verbindung noch steht, ob z.B. ein zweiter Tunnel aufgebaut wird. Dann ist es sinnvoll, den Tunnelstatus vorher abzufragen. Wenn der Tunnel aufgebaut ist, gibt es auf dem Pi ein Interface tun0. Also prüfst Du, ob das Interface vorhanden ist. Wenn nein, wird der Tunnel neu aufgebaut. Lege eine Datei z.B. mit dem Namen tunneltest.sh an und schreibe dort hinein:

Code: Select all

#!/bin/sh
/sbin/ifconfig tun0 > /dev/null
if [ $? != 0 ]
then
/usr/sbin/openvpn test.test.com.udp1194.ovpn
fi
Anschließend ausführbar machen:

Code: Select all

chmod +x tunneltest.sh
Nun schreibst Du in die Datei in /etc/cron.d hinein:

Code: Select all

***** root tunneltest.sh
Auch hier wieder die Sternchen anpassen und auch den Pfad zur tunneltest.sh richtig angeben.
Nachtrag: Ich habe das nicht wirklich getestet, bin aber zuversichtlich ...

Return to “Deutsch”