QNAP VPN reconnect

MarkusAT

Member
Hallo zusammen,

hier habe ich vermutlich ein relativ spezifisches Problem:

Ich habe 2 QNAP's mit OpenVPN über QVPN verbunden. Das funktioniert eigentlich auch ganz gut.
NAS_DE ist der Server, NAS_AT der Client
Nun scheint aber meine Internetverbindung zwischen den beiden Punkten nicht die stabilste zu sein ==> die VPN Verbindung wird immer wieder mal getrennt. Auch kein großes Problem, WENN sich der Client wieder verbinden würde. Der Haken bei Verbindung wiederherstellen ist gesetzt.

Wenn man sich nun über ssh durch alle möglichen Systemordner durchsucht (danke hier an @blurrrr, ich wusste bis vor kurzem nicht mal was ssh ist, geschweige denn was das kann), kommt man drauf, dass in der QVPN Open VPN config folgendes hinterlegt ist: connect-retry-max 1. Ist die Verbindung aber über diesen einen retry hinaus weg, kommt die Verbindung nicht mehr zustande. Ich muss also über den lokalen PC vor Ort in AT mich remote von DE einloggen, die Weboberfläche vom Client-NAS (NAS_AT) öffnen, den VPN deaktivieren und wieder aktiveren. Bis die Verbindung (manchmal nach ein paar Minuten, manchmal nach mehreren Tagen) wieder weg ist. Autosyncs zwischen den beiden NAS sind so verlässlich leider gar nicht möglich.

Die config Datei wird leider bei jedem restart von QVPN wieder neu überschrieben. Ein Abändern dieser Datei führt also auch nicht wirklich zum Ziel
Auch ein ändern des Wertes auf connect-retry-max 1000 in dem ovpn profil, überschreibt diesen Wert leider nicht.

Hat hier jemand einen Tipp, wie man das Problem dauerhaft (oder zumindest längerfristig, z.B. bis zum nächsten Update) lösen kann. Und wenn möglich bitte in kleinen Schritten beschreiben :D

Danke und liebe Grüße,
Markus
 

the other

Well-known member
Moinsen,
ganz kurz: einen anderen VPN Server als dein NAS nutzen (aber die Diskussion hatten wir ja bereits an anderer Stelle).

Mit all den Nachteilen und Vorteilen, die das dann mit sich bringt...
;)
 

tiermutter

Well-known member
Der reconnect wird bei mir bis zum bitteren Ende versucht, daran wird es nicht liegen.
Kann es sein dass sich die WAN IP des Servers geändert hat? Wenn der Client dann noch die alte IP verwendet weil er sie nicht über den DNS aktualisiert kommt er nirgendwo an... Das gab es bei QNAP so glaube ich schonmal.
 

MarkusAT

Member
ganz kurz: einen anderen VPN Server als dein NAS nutzen (aber die Diskussion hatten wir ja bereits an anderer Stelle).

Mit all den Nachteilen und Vorteilen, die das dann mit sich bringt...
Das ist (mittel bis langfristig) auch geplant.
Aber es muss doch bis dahin irgendwie möglich sein, das umzustellen ^^
Irgendwo muss ja die config von der config von der config liegen :D
Und wenn man die ändert, sollte dass dann doch funktionieren :)

Wobei nicht mal dass das Problem ist, bzw das Problem weiterhin da wäre. Das Problem ist ja der Client und dort kann (hatten wir ja auch schon ;) ) kein anderer Router installiert werden. Da müsste man dann ggf. dahinter einen rasbpi oder was auch immer setzen, welcher wiederum zu warten wäre (und es vermutlich auch ein paar Monate dauert, bis ich wieder nach AT komme ;) )


Der reconnect wird bei mir bis zum bitteren Ende versucht, daran wird es nicht liegen.
Es liegt anscheinend ziemlich sicher daran. Ein manueller disconnect und erneuter connect funktioniert dann sofort. Und alle anderen Clients (Laptop am gleichen Standort wie das NAS_AT mit der gleichen profil Datei und auch mein Handy vom WLAN getrennt verbinden immer neu).
Und das "connect-retry-max 1" steht wirklich so drinnen in der Open VPN *.config vom Client

Kann es sein dass sich die WAN IP des Servers geändert hat?
Nein, die blieb gleich.
 
Zuletzt bearbeitet:

MarkusAT

Member
Oder kann man eine evtl ganz andere "Pfuschlösung" basteln:
Ein Script bauen (wie auch immer, hab kein Ahnung ob, geschweige denn wie das geht), welches sagt, sobald die VPN Verbindung länger als 30 Sekunden getrennt ist, "kille" die OpenVPN Verbindung in QVPN und starte sie erneut?
 

tiermutter

Well-known member
Ist im OVPN Log wirklich ersichtlich dass kein Verbindungsversuch unternommen wird? Ich habe da noch so meine Probleme das mit dem retry als Problem zu akzeptieren:
1. Die Client Config wird von Dir vorgegeben, da dürfte gar nichts weiter drin sein.
2. Afaik trifft connect-retry-max nur auf TCP Verbindungen zu, baust Du den Tunnel überhaupt über TCP auf?
3. Bin ich mir nicht sicher ob diese Option so zu verstehen ist, wie sie verstanden wird. Nach meinem Verständnis wird nach n Versuchen nicht aufgehört, sondern, sollten mehrere Server mit remote angegeben sein, wird jeder Server n Mal ausprobiert und die Liste anschließend wieder von vorn abgearbeitet.
 

tiermutter

Well-known member
For reference:
For TCP operation, one peer must use --proto tcp-server and the other must use --proto tcp-client. A peer started with tcp-server will wait indefinitely for an incoming connection. A peer started with tcp-client will attempt to connect, and if that fails, will sleep for 5 seconds (adjustable via the --connect-retry option) and try again infinite or up to N retries (adjustable via the --connect-retry-max option). Both TCP client and server will simulate a SIGUSR1 restart signal if either side resets the connection.
--connect-retry-max n
n specifies the number of times each --remote or <connection> entry is tried. Specifying n as one would try each entry exactly once. A successful connection resets the counter. (default=unlimited)
 

MarkusAT

Member
Ist im OVPN Log wirklich ersichtlich dass kein Verbindungsversuch unternommen wird?
So standarmäßig zeigt der ja nicht viel an, hatten uns da aber mit
Befehl schrieb:
log-append /var/log/openvpn_client.log
verb 9
mehr raus geholt, aber ich glaube die Verbindungsversuche hatten wir nicht raus bekommen :O

1. Die Client Config wird von Dir vorgegeben, da dürfte gar nichts weiter drin sein.
Naja, ich übergeb ja nur das "profil" (xyz.ovpn), das ding ist, auch den oben genannten Befehl, hatte der Client nicht in die config (xyc.config) übernommen.

2. Afaik trifft connect-retry-max nur auf TCP Verbindungen zu, baust Du den Tunnel überhaupt über TCP auf?
Soweit ich das ganze glaube zu verstehen, nein sondern via UDP

3. Bin ich mir nicht sicher ob diese Option so zu verstehen ist, wie sie verstanden wird. Nach meinem Verständnis wird nach n Versuchen nicht aufgehört, sondern, sollten mehrere Server mit remote angegeben sein, wird jeder Server n Mal ausprobiert und die Liste anschließend wieder von vorn abgearbeitet.
Hm... Interessant, mein einziger "Hoffnungsschimmer" das Problem zu lösen geht langsam den Bach runter ^^

Andere Ideen? :D
 

blurrrr

Well-known member
Könnte was dran sein mit dem retry, auf der aktuellen Seite steht es halt einfach nur "mitten drin":
--connect-retry n [max]
Wait n seconds between connection attempts (default=5). Repeated reconnection attempts are slowed down after 5 retries per remote by doubling the wait time after each unsuccessful attempt. The optional argument max specifies the maximum value of wait time in seconds at which it gets capped (default=300).
--connect-retry-max n
n specifies the number of times each --remote or <connection> entry is tried. Specifying n as one would try each entry exactly once. A successful connection resets the counter. (default=unlimited).
im alten OpenVPN-Wiki liest es sich allerdings wie folgt:
--connect-retry n
For --proto tcp-client, take n as the number of seconds to wait between connection retries (default=5).
--connect-timeout n
For --proto tcp-client, set connection timeout to n seconds (default=10).
--connect-retry-max n
For --proto tcp-client, take n as the number of retries of connection attempt (default=infinite).
Da scheint @tiermutter dann schon ganz richtig damit zu liegen (ich habe den Parameter bisher auch nie genutzt).

Durch diese ganzen dubiosen Abbrüche, die hohen Latenzen und verlorene Pakete... Im Zweifel einfach mal auf TCP umstellen (sofern sich das mit der QNAP so einfach bewerkstelligen lässt). Kenne die QNAP-Geräte halt nicht, aber wenn irgendwo ein Haken mit der Beschriftung "Verbindung dauerhaft aufrecht erhalten" gesetzt ist, würde ich schon davon ausgeben, dass - bei Verbindungsabbruch - permanent (in gewissen Intervallen) versucht wird, diese Verbindung auch wieder aufzubauen.
 

MarkusAT

Member
dann schon ganz richtig damit zu liegen (ich habe den Parameter bisher auch nie genutzt)
vermutlich (leider) ja ^^
Wäre auch zu einfach gewesen, wenn das die Lösung wäre.

Im Zweifel einfach mal auf TCP umstellen (sofern sich das mit der QNAP so einfach bewerkstelligen lässt).
Ja, kann man einfach umstellen.

Durch diese ganzen dubiosen Abbrüche, die hohen Latenzen und verlorene Pakete...
Das ist ja dieses Ding... Es muss ja irgendwie eine Möglichkeit geben, dass die "verlorene" Verbindung, aufgrund der Fehler, sich ganz von alleine wieder aufbaut...

was funktioniert:
- Client OpenVPN Verbindungsprofil a8d Connected/Disconnected klicken ==> Verbindung ist sofort wieder da
- Client QVPN neu starten ==> Verbindug ist sofort wieder da
- Client NAS neu starten ==> Verbindung ist sofort wieder da

was nicht funktioniert:
- Client automatisch verbinden
- Server OpenVPN Verbindungsprofil a8d Connected/Disconnected klicken
- Server QVPN neu starten
- Server NAS neu starten

Aber, ich wollts ja eh schon lange testen, ich probiers mal in die andere Richtung ==>
AT wird Server und DE wird Client. Ich werde euch berichten :)

Für weitere Tipps/Ideen bin ich auch immer offen :D

Liebe Grüße und gute Nacht,
Markus
 

tiermutter

Well-known member
Wie sieht die Client Config eigentlich aus?
Ist dort
Code:
lport 0
oder
Code:
nobind
enthalten?
Wenn weder noch würde ich es zunächst mit nobind versuchen, ansonsten mal austauschen (nicht beide zusammen verwenden).
 

MarkusAT

Member
Wie sieht die Client Config eigentlich aus?
Meinst du die *.config (die jedes mal neu erzeugt wird) oder die *.ovpn (die ich vom Server bekomme).

Die erstere werde ich morgen checken, die *.ovpn enthält nobind, werde ich mal mit lport 0 testen.

Die sieht aktuell so aus:

Markus.ovpn schrieb:
## How to setup OpenVPN client?
## 1. Install OpenVPN software on your platform.
## 2. Double click Markus.ovpn file to create new connection profile.
## 3. Type username and password while connection.

client
dev tun
script-security 3
remote meine DynDNS meinPort
resolv-retry infinite
nobind
auth-nocache
auth-user-pass
##--------Zusätzlich eingefügte Zeilen Anfang---------
keepalive 10 60
connect-retry-max infinite
route meinLokalesIpNetzServerseitig 255.255.255.0
##--------Zusätzlich eingefügte Zeilen Ende---------
remote-cert-tls server
reneg-sec 0
cipher AES-256-CBC
tls-cipher TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384:TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-CBC-SHA
comp-lzo
proto udp
explicit-exit-notify 1
<ca>
-----BEGIN CERTIFICATE-----
xxx
-----END CERTIFICATE-----
</ca>

Danke :) und LG,
Markus
 

tiermutter

Well-known member
Irgendeine Config bei der es nicht klappt mit dem Reconnect ;)
Habe ad hoc aber auch keine Idee mehr.
Code:
persist-tun
kann solche Probleme verursachen, aber den haste nicht drin... Eventuell doch ein serverseitiges Problem (ich habe meine QNAP nur als Client und bei den klappt der Reconnect).
Ist serverseitig nur eine Verbindung je User erlaubt oder mehrere (falls das einstellbar ist)?
 

MarkusAT

Member
Irgendeine Config bei der es nicht klappt mit dem Reconnect
Naja, die config selbst kann ich ja nicht wirklich ändern, da die QVPN/OVPN bei jedem start neu schreibt. Da müsste man die config der config ändern ^^
Und die Profildatei hat den Inhalt wie oben ^^

Habe ad hoc aber auch keine Idee mehr.
Code:
persist-tun
kann solche Probleme verursachen,
Hm, den habe ich aber mal gesehen... aber evtl auch beim suchen im Web in den letzten Tagen.
Ich checke am Wochenende nochmals übers SSH alle configs und ovpn*.sh die ich finde, was da so drinnen steht.

aber den haste nicht drin... Eventuell doch ein serverseitiges Problem (ich habe meine QNAP nur als Client und bei den klappt der Reconnect).
Alle anderen Clients können sich eben ja gut verbinden (Lappis, Handys, die trennen sich zwar auch in etwa zeitgleich, zumindest die, die in AT im gleichen Netz stehen, aber reconnecten auch wieder sofort, nur der QVPN Client bleibt draußen :D )
Aber ich hab ja gelernt, das hat ja auch nicht unbedingt was zu heisen, die IT ist komplex ^^

Ist serverseitig nur eine Verbindung je User erlaubt oder mehrere (falls das einstellbar ist)?
In der GUI sind 5 User erlaubt aber Verbindungen pro User kann man nicht einstellen. Und in der config im Hintergrund ist alles wie es standardmäßig ist, sprich nichts geändert.
 

FSC830

Active member
Naja, die config selbst kann ich ja nicht wirklich ändern, da die QVPN/OVPN bei jedem start neu schreibt. Da müsste man die config der config ändern ^^
Und die Profildatei hat den Inhalt wie oben ^^
Ich habe mich ehrlich gesagt nie mit openVPN befasst, auf QNAP schon gar nicht, aber config Dateien nach jedem Start anzupassen ist möglich!
Dazu musst Du ein entsprechendes Script erstellen und (am besten) in /etc/config speichern. Dann einen entsprechenden Aufruf in die autorun.sh setzen, und das Script wird nach jedem Start ausgeführt.
Jetzt muss geprüft werden, ob der VPN Client die Änderung "on the fly" übernimmt oder der Dienst neu gestartet werden muss.
Oder der Dienst u.U. erst später startet und die config "zieht".

Gruss
 

MarkusAT

Member
Ich habe mich ehrlich gesagt nie mit openVPN befasst, auf QNAP schon gar nicht, aber config Dateien nach jedem Start anzupassen ist möglich!
Dazu musst Du ein entsprechendes Script erstellen und (am besten) in /etc/config speichern. Dann einen entsprechenden Aufruf in die autorun.sh setzen, und das Script wird nach jedem Start ausgeführt.
Jetzt muss geprüft werden, ob der VPN Client die Änderung "on the fly" übernimmt oder der Dienst neu gestartet werden muss.
Oder der Dienst u.U. erst später startet und die config "zieht".

Gruss
Danke, da lese ich mich mal genauer ein, klingt logisch :D
 

Zurzeit aktive Besucher

Keine Mitglieder online.

Letzte Anleitungen

Statistik des Forums

Themen
937
Beiträge
13.660
Mitglieder
466
Neuestes Mitglied
wischi83
Oben