Auto-Reconnect scheitert häufig

Status
Für weitere Antworten geschlossen.

Valdo

Benutzer
Mitglied seit
04. Sep 2012
Beiträge
36
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe es mittlerweile mithilfe des Forums geschafft zwei Diskstations an unterschiedlichen Standorten miteinander zu verbinden.

Jetzt habe ich aber immer noch folgendes Problem:
Jeden Tag gegen 04:00 Uhr trennt meine Fritzbox die Internetverbindung und verbindet sich anschließend wieder neu. In dem Zeitraum gibt es zwei unterschiedliche Verhalten der VPN Verbindung:

- Ich mache zu dem Zeitpunkt ein Backup über mehrere GB und habe dauerhaft Traffic auf der Leitung. In dem Fall bleibt die Verbindung bestehen und ich kann über 2-3 Tage ein Backup ohne Probleme quer durch Deutschland machen.

- An allen anderen Tagen der Woche an denen die Leitung brach liegt, schafft der Client es nicht sich wieder zu verbinden. In der Systemsteuerung steht dann: "Verbindung wird hergestellt". Daran ändert sich aber über Tage nichts. Ein einfaches "Trennen" und anschließendes "Verbinden" schafft hier problemlos Abhilfe.

Jetzt zu meiner Frage:
Gibt es eine systemeigene Lösung, mit der ich ein häufigeres Reconnect (z.B. alle 30 Min.) erzwingen kann (eventuell auch durch ändern der OpenVPN Dateien?)?? Welches Verhalten steckt überhaupt genau hinter dem Haken "Wieder verbinden wenn die VPN-Verbindung getrennt wurde"?

Ansonsten habe ich als Lösung in einem anderen Forum eine Anleitung für ein Skript gefunden. Dies ist jedoch für DSM 4.2. Außerdem verstehe ich es nicht zu 100% (nicht die Sprache, sondern die Befehle der Skript-Sprache). Da ich mir unsicher bin und meine DS nicht himmeln will, hoffe ich, dass ihr mir helfen könnt, ob das Skript auch mit DSM 5.2 noch funktioniert und eventuell detailliert was die einzelnen Zeilen bewirken - das aber nur aus reinem Interesse :)

Vielen Dank.
 

Valdo

Benutzer
Mitglied seit
04. Sep 2012
Beiträge
36
Punkte für Reaktionen
0
Punkte
0
Nachdem ich nun endlich mal wieder ein bisschen Zeit hatte, um mich um meine Diskstation zu kümmern und hier noch niemand geantwortet hat, habe ich selbst noch einmal gegoogelt und bin letztendlich auch auf die Lösung gestoßen:

Wenn man ausschließlich die angebotene Lösung aus dem oben verlinkten Forum nutzt, stößt man auf diverse Probleme.

Die Lösung ist letztendlich in diesem Blog hier zu finden:
http://der-zyklop.de/blog/the-reconnection-of-vpn-profile-onsynology-nas-has-failed

Ich bin der Lösung Schritt für Schritt gefolgt und kam so nun letztendlich auch zum Erfolg.

Eventuell hilft der Link nochmal jemandem, der ähnliche Probleme hat.

Zur Vollständigkeit nochmal mein System:

Server:
DS 212+
DSM 5.2 Update 2

Client:
DS 214
DSM 5.2 Update 2

Das Skript muss natürlich auf dem Clienten installiert werden.
 

Valdo

Benutzer
Mitglied seit
04. Sep 2012
Beiträge
36
Punkte für Reaktionen
0
Punkte
0
Nach dem anfänglichen Erfolg stellten sich doch weitere Probleme ein. Der Reconnect scheiterte nach 2 Tagen plötzlich wieder.

Standardmäßig versucht das Skript nur zweimal die Wiederherstellung der Verbindung und gibt anschließend auf. Mit dem Paramter "retry" kann man die Häufigkeit jedoch steuern und erhöhen. Daher bin ich jetzt mit dem folgendem Skript zum Erfolg gekommen.

Code:
date
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"
	ifconfig tun0
else
	date
        echo conf_id=CONF_ID > /usr/syno/etc/synovpnclient/vpnc_connecting
        echo conf_name=CONF_NAME >> /usr/syno/etc/synovpnclient/vpnc_connecting
        echo proto=openvpn >> /usr/syno/etc/synovpnclient/vpnc_connecting
        synovpnc reconnect --protocol=openvpn --name=CONF_NAME --retry=8 --interval=10
fi

exit 0

Hierbei sind folgende Veränderungen zum Originalskript:

Code:
        synovpnc reconnect --protocol=openvpn --name=CONF_NAME --retry=8 --interval=10

In der Zeile kann man die Anzahl der Wiederholungen steuern. Ich habe sie mal willkürlich auf 8 gesetzt und werde das ganze jetzt beobachten und mit interval kann die Zeit zwischen den Wiederholungen gesteuert werden. Ich habe sie auf 10 Sekunden gesetzt, um dem heimischen Server etwas mehr Zeit zu geben.

Weiterhin protokolliere ich das Skript jetzt. Hierzu habe ich noch mit

Code:
date

und

Code:
	ifconfig tun0

ein bisschen an zusätzlicher Ausgabe hinzugefügt um nachverfolgen zu können, was das Skript macht und wo die Fehler liegen.

Um das Skript zu protokollieren habe ich in /usr eine Datei mit dem Namen skript.log angelegt und den Eintrag in crontab folgendermaßen geändert:

Code:
*/5     *       *       *       *       root    /usr/openVPNreconnect >> /usr/skript.log 2>&1

Wichtig hierbei ist, dass die Datei dadurch immer größer wird. Es gibt keine Funktion, die die Log-Datei irgendwann leert. Dies ist zwar hilfreich, da hiermit alles nachverfolgt werden kann, sollte aber auch nur zu Diagnosezwecken angewandt werden. Nach einem Tag ist die Datei jetzt bei mir 137 kb groß. Das ist also durchaus zu verkraften.
 
Status
Für weitere Antworten geschlossen.
 

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