(open) VPN prüfen und wiederherstellen Synology DSM6.x und DSM7.x

Anleitungen für die Einrichtung des FIP-VPN
Post Reply
frankotronic
Posts: 9
Joined: Thu 4. May 2017, 19:36

(open) VPN prüfen und wiederherstellen Synology DSM6.x und DSM7.x

Post by frankotronic »

Hallo zusammen.

Meine Synology (DSM6.x) hängt an einem DS-Lite ipv6 Anschluss von Unitymedia. Sie baut ein VPN auf, damit ich sie von überall mit einer eigenen IP-Adresse erreichen kann. Es kommt vor, dass diese VPN Verbindung "stehen" bleibt. Die Diskstation zeigt zwar an, dass die VPN-Verbindung "Verbunden" ist, aber man kann sie nicht mehr über die eigene ipv4 Adresse erreichen.
Wie schon an anderer Stelle beschrieben, sind meine Kenntnisse eher dürftig, aber ich habe einen Weg gefunden, mir weiter zu helfen. Ich hoffe das es mir gelingt, alle notwendigen Schritte wieder zu geben.
Ich habe eine Datei vpntest.sh geschrieben. Hierfür habe ich Notpad++ verwendet. ACHTUNG In Notepad, unten in der Statusleiste von "Windows" auf "Unix" umschalten!

Code: Select all

#!/bin/bash
#Datei ggf. mit chmod +x notwendige Rechte erteilen
p=xxx.xxx.xxx.xxx									# IP zum anpingen, ich pinge meine eigene v4 IP von feste-iP an
a=0											# Merker auf 0 setzen
sudo ping -c 1 $p >/dev/null 2>/dev/null						# pingen
SUCCESS=$?
  	if [ $SUCCESS == "0" ]
  		then									# wenn ok, dann ...
			echo VERBINDUNG OK
		else									# sonst ...
			echo VERBINDUNG NICHT OK
			synovpnc kill_client						# erstmal ganz platt machen
			sleep 10							# dann warten und wieder aufbauen
			sudo sh -c "echo conf_id=o?????????? > /usr/syno/etc/synovpnclient/vpnc_connecting"
			sudo sh -c "echo conf_name=????? >> /usr/syno/etc/synovpnclient/vpnc_connecting"
			sudo sh -c "echo proto=openvpn >> /usr/syno/etc/synovpnclient/vpnc_connecting"
			sudo synovpnc connect --id=o??????????
			a=1								# merken, dass das VPN neu aufgebaut wurde
			sleep 20
	fi
if [ $a = 1 ]										# wenn es neu aufgebaut werden musste
	then
		sudo ping -c 1 $p >/dev/null 2>/dev/null				# nochmal pingen
		SUCCESS=$?
		case $SUCCESS in
			0)  echo VERBINDUNG OK
			;;
			1) echo WIEDERAUFBAU DES VPN FEHLGESCHLAGEN
			;;
		esac
fi
Diese Datei habe ich unter /volume1/homes/[Benutzername] in einem separaten Unterverzeichnis abgelegt.

Zum ausführen dieser Datei sind root Rechte notwendig. Um dem eigenen Nutzer diese Rechte ohne weitere Passworteingabe zu gewähren, muß man dieser als Superuser (SU) eintragen.
Dafür muß, z.B. mittels PuTTY eine Anpassung vorgenommen werden. Also auf der DS unter Systemsteuerung, Terminal den SSD-Dienst aktivieren, mit PuTTY eine Verbindung aufbauen und dieser Beschreibung folgen ...

https://www.youtube.com/watch?v=ZVJbbA2Yf0o&t=199s
(Vielen Dank an Manfred, schön, das es Youtube gibt, liked ihn, wenn es euch geholfen hat)

Da wir einmal in PuTTY sind, müssen wir noch die ?????? aus meinem Skript klären.

Hierfür in PuTTy ins Verzeichniss

Code: Select all

cd /usr/syno/etc/synovpnclient/
wechseln und dort

Code: Select all

sudo vi ./vpnc_last_connect
eingeben.

Dort findet ihr "conf_id" und "conf_name"
Das Verlassen geht nun über "Esc" und ":"
gefolgt von "q!" und Enter. PuTTy verlassen mit "exit"

... anschließend den SSH-Dienst wieder abschalten.

Nun kann man die Datei im Aufgabenplaner als "geplante Aufgabe ", " Benutzerdefiniertes Skript" ausführen. Unter "Aufgabenstellung" trägt man die angelegte Datei ein.

Code: Select all

bash /volume1/homes/[Benutzername]/[ggf. Unterverzeichnis]/[Dateiname.sh]
Je nachdem wie wichtig einem das VPN ist, oder wie dringend dieses wieder funktionieren muß, kann man sich im Zeitplan austoben. Mein Skript wird zwischen 06:00 und 23:00 alle 5 Minuten ausgeführt.

Ich hoffe, ich habe nichts vergessen.
Gruß
dirkstr
Posts: 3
Joined: Wed 14. Dec 2022, 08:21

Re: Auch für DSM 7.1 (open) VPN prüfen und wiederherstellen Synology DSM6.x

Post by dirkstr »

Vielen Dank für die Anleitung.

Das Problem ist bei Synology "einfach" und unschön: Es macht kein recheck von sich aus, ob der VPN-Tunnel besteht oder nicht. Zum. Beispiel bei mir, wenn der Router sich neustartet oder das Modem resettet werden muss, zeigt Synology den Tunnel als bestehend weiterhin an, aber er ist gebrochen.

Es gibt für den reconnect noch eine Webseite:
https://mickderksen.wordpress.com/2016/ ... -synology/

Hier lassen sich auch die benötigten Daten wie "conf_id" und "conf_name" anders erfassen bei bestehender VPN-Verbindung.

Um sich auf der Diskstation als Root anzumelden, hilft auch diese Seite weiter:
https://kb.synology.com/de-de/DSM/tutor ... SSH_Telnet

Ob das Script sauber läuft: Im Aufgabenplaner könnt ihr eine Benachrichtigung einstellen, wenn das Script ausgeführt wird oder alternativ nur bei Fehlern ihr per Mail benachrichtigt werdet. Voraussetzung ist, dass ihr im System eine funktionieren Benachrichtigung über Mail hinterlegt habt. Falls euer Mailserver über die feste IP läuft, bitte beachtet, dass dann die Mailbenachrichtung vom System Synology nicht über diesen Mailserver laufen sollte, sondern über einen externen wie z.B. einen Freemailer.

Mit Gruß.
dirkstr
Posts: 3
Joined: Wed 14. Dec 2022, 08:21

Re: (open) VPN prüfen und wiederherstellen Synology DSM6.x

Post by dirkstr »

Ich habe noch folgende Scripte gefunden:

https://gist.github.com/rkok/2f0adc724b ... 4a218a0de9

https://gist.github.com/meska/082e1ca9cb7717b2283e

Ich musste erst noch den Aufgabenplaner "genauer" verstehen - da ist eine crontab-Zeile schneller geschrieben; ich musste lernen wirklich diesen Zeitraum einzustellen bei Zeit:

Bildschirm­foto 2022-12-19 um 19.39.42.png
Bildschirm­foto 2022-12-19 um 19.39.42.png (123.88 KiB) Viewed 2427 times
Post Reply