In diesem Artikel möchte ich auf ein ganz konkretes Problem / Bedürfnis eingehen wofür es leider im Netz kaum schlaue Lösungen gibt. Es geht darum, dass ich einige Synologys an externen Orten betreibe und diese gerne alle zentral verwalten und Daten sicher austauschen möchte. Dazu eignet sich bestehns die VPN Technologie. Synology bietet dafür einen VPN Server, dieser wird auf der Haupt-Synology bei mir Zuhause installiert. Anschliessend kann ich auf allen Aussenstellen, die mit der Zentrale verbunden werden sollen den internen VPN Client benutzen. Soweit alles mit Bordmitteln möglich und absolut kein Problem zum Einrichten.
Wenn nun die Verbindung unterbrochen wird (Neustart Synology, Netzwerkausfall) dann wird die VPN Verbindung nicht automatisch (beim Starten der Synology) hergestellt. Dies können wir mit einem kleinen Bash-Script bewerkstelligen. In diesem Beispiel für OpenVPN Verbindungen.
1 2 3 4 5 6 7 8 9 |
#!/bin/sh if echo `ifconfig tun0` | grep -q "00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00" then echo "VPN up" else echo 1 > /usr/syno/etc/synovpnclient/vpnc_connecting /usr/syno/bin/synovpnc reconnect --protocol=openvpn --name=NAMEVPNPROFIL fi exit 0 |
Update: Mittlerweile gibt es ein überarbeitetes Script für DSM 5 und 6. Dafür benötigt ihr nebst dem VPN Namen noch die Config Nummer oXXXXXXX.Diese lässt sich leider nur via SSH auslesen. Man baut zuerst die VPN Verbindung von Hand auf. Dann loggt man sich ein und gibt den Befehl ps|grep client_o ein. Anschliessend erhält man einen Auszug der laufenden Dienste und sieht die Config ID.
1 2 3 4 5 6 7 8 9 10 11 |
#!/bin/sh if echo `ifconfig tun0` | grep -q "00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00" then echo "VPN is running" else echo conf_id=oXXXXXXX > /usr/syno/etc/synovpnclient/vpnc_connecting echo conf_name=NAMEVPNPROFIL >> /usr/syno/etc/synovpnclient/vpnc_connecting echo proto=openvpn >> /usr/syno/etc/synovpnclient/vpnc_connecting /usr/syno/bin/synovpnc reconnect --protocol=openvpn --name=NAMEVPNPROFIL fi exit 0 |
Dabei muss nur der NAMEVPNPROFIL mit der Bezeichnung im Synology VPN Client geändert werden. In unserem Beispiel ist das HomeVPN
Das Script anschliessend in ein Verzeichnis der Synology laden und den Pfad im Aufgabenplaner eintragen und das Script jede Stunde ausführen.
Wird nun die Verbindung unterbrochen, wird spätestens nach einer Stunde die Verbindung wieder hergestellt. Somit hat man jederzeit Zugriff zu seinen Synologys im VPN Betrieb.