Hyper Backup Hyper Backup auf entfernte DS's

bengeisler

Benutzer
Mitglied seit
20. Dez 2022
Beiträge
3
Punkte für Reaktionen
1
Punkte
53
Hallo,

ich habe insgesamt 3 Diskstations von Synology. Von DS1 sollen Datensicherungen über Hyper Backup zu DS2 und DS3 übertragen werden. Alle 3 DS's sind an verschiedenen Standorten bzw. hinter verschiedenen Routern. (Zur Info: DS3 steht hinter einem Mobilfunk Anschluss, daher keine Portweiterleitung möglich. Portweiterleitung ist, soweit möglich, auch nicht gewünscht.)
Da QuickConnect bei Hyper Backup nicht unterstützt wird wollte ich das ganze über einen VPN Server auf DS1 realisieren.

Ich habe also an DS1 den VPN Server eingerichtet und DS2 und DS3 verbinden sich über OpenVPN mit DS1.
Hyper Backup funktioniert eigentlich auch. Ab und zu trennt sich aber die VPN Verbindung von DS2 und DS3 zu DS1 und baut sich nicht automatisch neu auf (Auf DS2 und DS3 ist "Wieder verbinden, wenn die VPN Verbindung verloren wurde" aktiviert).

Dann habe ich noch das Problem, dass die IP-Adressen, welche vom VPN Server vergeben werden, sich ab und zu nach einem reconnect ändern. Dadurch verliert Hyper Backup ebenfalls die Verbindung.
In einem Beitrag hatte ich gelesen, dass man nicht die IP-Adresse vom VPN Server (10.X.X.X) nutzen soll, sondern die Lokale IP-Adresse vom entfernten NAS (192.168.X.X). Das habe ich auch getestet, jedoch ist bei bestehender VPN Verbindung kein Ping von DS1 an DS2 oder DS3 möglich. Hyper Backup bekommt ebenfalls keine Verbindung bei Eingabe der lokalen IP-Adresse.

Nun meine Fragen:

Wie kann ich dem VPN Server (oder den Clients) sagen, dass diese immer die selbe IP-Adresse haben sollen? (Oder funktioniert es doch mit der lokalen IP-Adresse von DS2 und DS3 und ich mache etwas falsch?)

Wie kann ich dafür sorgen, dass die VPN Verbindung sich automatisch erneut aufbaut? Ein Skript über den Aufgabenplaner würde reichen, dieses könnte ich dann kurz vor Ausführung der Datensicherung starten lassen, aber wie muss dieses Skript aussehen?

Gibt es vielleicht noch eine andere Lösung für die Datensicherung über Hyper Backup?
 

wace

Benutzer
Mitglied seit
22. Apr 2016
Beiträge
125
Punkte für Reaktionen
31
Punkte
28
Hi, zu dem VPN Reconnect Issue kann ich etwas beitragen. Ich benutze das u.a. Script. Packe es in den Aufgaben-Manager und lasse es als root ausführen. Bei mir wird es alle 5 min ausgeführt für 1h kurz vor dem Backupzeitfensterstart.
Wichtig!: Es darf nur eine VPN Verbindung konfiguriert sein.

Wegen dem IP-Addressen Prob hätte ich auch gerne eine Lösung, daher lese ich mal weiter mit...


#!/usr/bin/env bash
#===============================================================================
# FILE: reconnect-vpn.sh
#
# DESCRIPTION: Reconnect a disconnected VPN session on Synology DSM
# SOURCE(S): https://forum.synology.com/enu/viewtopic.php?f=241&t=65444
#
# AUTHOR: Ian Harrier
# VERSION: 1.0.3
# LICENSE: MIT License
#===============================================================================

#-------------------------------------------------------------------------------
# Pull in VPN config files
#-------------------------------------------------------------------------------

if [[ -f /usr/syno/etc/synovpnclient/l2tp/l2tpclient.conf ]]; then
L2TP_CONFIG=$(cat /usr/syno/etc/synovpnclient/l2tp/l2tpclient.conf)
else
L2TP_CONFIG=""
fi

if [[ -f /usr/syno/etc/synovpnclient/openvpn/ovpnclient.conf ]]; then
OPENVPN_CONFIG=$(cat /usr/syno/etc/synovpnclient/openvpn/ovpnclient.conf)
else
OPENVPN_CONFIG=""
fi

if [[ -f /usr/syno/etc/synovpnclient/pptp/pptpclient.conf ]]; then
PPTP_CONFIG=$(cat /usr/syno/etc/synovpnclient/pptp/pptpclient.conf)
else
PPTP_CONFIG=""
fi

#-------------------------------------------------------------------------------
# Process config files
#-------------------------------------------------------------------------------

# Concatenate the config files
CONFIGS_ALL="$L2TP_CONFIG $OPENVPN_CONFIG $PPTP_CONFIG"

# How many VPN profiles are there?
CONFIGS_QTY=$(echo "$CONFIGS_ALL" | grep -e '\[l' -e '\[o' -e '\[p' | wc -l)

# Only proceed if there is 1 VPN profile
if [[ $CONFIGS_QTY -eq 1 ]]; then
echo " There is 1 VPN profile. Continuing..."
elif [[ $CONFIGS_QTY -gt 1 ]]; then
echo "[E] There are $CONFIGS_QTY VPN profiles. This script supports only 1 VPN profile. Exiting..."
exit 1
else
echo "[W] There are 0 VPN profiles. Please create a VPN profile. Exiting..."
exit 1
fi

#-------------------------------------------------------------------------------
# Set variables
#-------------------------------------------------------------------------------

PROFILE_ID=$(echo $CONFIGS_ALL | cut -d "[" -f2 | cut -d "]" -f1)
PROFILE_NAME=$(echo "$CONFIGS_ALL" | grep -oP "conf_name=+\K\w+")
PROFILE_RECONNECT=$(echo "$CONFIGS_ALL" | grep -oP "reconnect=+\K\w+")

if [[ $(echo "$CONFIGS_ALL" | grep '\[l') ]]; then
PROFILE_PROTOCOL="l2tp"
elif [[ $(echo "$CONFIGS_ALL" | grep '\[o') ]]; then
PROFILE_PROTOCOL="openvpn"
elif [[ $(echo "$CONFIGS_ALL" | grep '\[p') ]]; then
PROFILE_PROTOCOL="pptp"
fi

#-------------------------------------------------------------------------------
# Check the VPN connection
#-------------------------------------------------------------------------------

if [[ $(/usr/syno/bin/synovpnc get_conn | grep Uptime) ]]; then
echo " VPN is already connected. Exiting..."
exit 0
fi

if [[ $PROFILE_RECONNECT != "yes" ]]; then
echo "[W] VPN is not connected, but reconnect is disabled. Please enable reconnect for for the \"$PROFILE_NAME\" VPN profile. Exiting..."
exit 1
else
echo "[W] VPN is not connected. Attempting to reconnect..."
fi

#-------------------------------------------------------------------------------
# Reconnect the VPN connection
#-------------------------------------------------------------------------------

/usr/syno/bin/synovpnc kill_client
sleep 20
echo conf_id=$PROFILE_ID > /usr/syno/etc/synovpnclient/vpnc_connecting
echo conf_name=$PROFILE_NAME >> /usr/syno/etc/synovpnclient/vpnc_connecting
echo proto=$PROFILE_PROTOCOL >> /usr/syno/etc/synovpnclient/vpnc_connecting
/usr/syno/bin/synovpnc connect --id=$PROFILE_ID
sleep 20

#-------------------------------------------------------------------------------
# Re-check the VPN connection
#-------------------------------------------------------------------------------

if [[ $(/usr/syno/bin/synovpnc get_conn | grep Uptime) ]]; then
echo " VPN successfully reconnected. Exiting..."
exit 1
else
echo "[E] VPN failed to reconnect. Exiting..."
exit 1
fi
 
Zuletzt bearbeitet:

bengeisler

Benutzer
Mitglied seit
20. Dez 2022
Beiträge
3
Punkte für Reaktionen
1
Punkte
53
Habe das gerade getestet, funktioniert super, danke!
Jetzt brauche ich nur noch eine Lösung für die IP-Adressen 😅
 
  • Like
Reaktionen: wace

geheim5000

Benutzer
Mitglied seit
27. Dez 2018
Beiträge
435
Punkte für Reaktionen
65
Punkte
28
Habe ich auch schonmal nach gesucht, und bin nicht fündig geworden. Aktuell läuft bei mir deswegen kein entferntes Backup.

Dafür hatte ich nie Probleme mit dem reconnect.
 

wace

Benutzer
Mitglied seit
22. Apr 2016
Beiträge
125
Punkte für Reaktionen
31
Punkte
28
Ich werde mir das mit den festen VPN-IP's mal anschauen. Besser wäre es jedoch wenn man auf die festen IP's im remote LAN zugreifen könnte. Ich habe an einem entfernten Standort 2 DS. Plan ist es das die neuere und somit Leistungsmässig bessere die VPN-Verbindung zu mir aufbaut und ich dann über diesen Tunnel auf die alte DS213j Backups per HB machen kann. ZUr Zeit baut die DS213j den Tunnel zu mir auf und beim Backup gehen ca. 30% der CPU für den Tunnel drauf.
 

wace

Benutzer
Mitglied seit
22. Apr 2016
Beiträge
125
Punkte für Reaktionen
31
Punkte
28
Die festen IP's habe ich jetzt auch erfolgreich eingrichtet.

Nun brauche ich nur noch eine Lösung für folgendes Szenario:

DS1 VPN-Server im LAN 192.168.1.11

DS2 VPN-Client im Remote LAN 192.168.0.11
DS3 befindet sich im Remote LAN 192.168.0.33

Ich möchte nun von DS1 ein HB auf DS3 durchführen. Wenn ich die IP der DS3 in HB eingebe findet er sie leider nicht. Benutze ich testweise die LAN-IP der DS2 findet er die DS2
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat