OpenVPN Client automatischer reconnect geht nicht

pipsen

Benutzer
Mitglied seit
03. Dez 2020
Beiträge
31
Punkte für Reaktionen
0
Punkte
6
Hallo,

ich habe folgende Topologie:

vpn-topology.png
  • Synology 1 "SATURN" ist ein TCP basierter OpenVPN Server
  • es gibt ein Client Config Dir, um dem zweiten Synology "PLUTO" eine fixe IP zu geben (10.10.0.10)
    und das Subnetz hinter dem VPN Client mittels iroute bekannt zu machen (192.168.1.0/24)
  • klicke ich beim PLUTO in Systemeinstellungen auf Verbinden, verbindet er problemlos und alles funktioniert
    Ich hab beim Client die Einstellung gesetzt, dass er bei Verbindungsabbruch automatisch neu verbinden soll gesetzt
  • im fehlerfreien Fall sieht ein ps aux | grep openvpn so aus:

    Bash:
    root     10904  0.0  0.0  25456  3080 ?        Ss   11:42   0:00 /usr/sbin/openvpn --daemon --cd /usr/syno/etc/synovpnclient/openvpn --config client_o1611942711 --writepid /var/run/ovpn_client.pid
    root     10953  0.0  0.0  25456   740 ?        Ss   11:42   0:00 /usr/sbin/openvpn --daemon --cd /usr/syno/etc/synovpnclient/openvpn --config client_o1611942711 --writepid /var/run/ovpn_client.pid
  • warum da zwei PIDs zu sehen sind, versteh ich nicht, aber es läuft
  • jetzt kommt das Problem:
    • wenn ich serverseitig einen Neustart mache (SATURN Neustart, oder nur openvpn Server neustart ist egal), schafft der Client keinen connect mehr
    • er baut die Verbindung immer wieder neu auf, manchmal steht sie ganz kurz, bricht dann wieder ein
    • das ist dann eine Dauerschleife und hört nicht mehr auf, es werden immer mehr openvpn PIDs auf dem Client sichtbar
  • Lösung:
    • ins Webinterface von PLUTO gehen, und auf "trennen" klicken -> Verbindung wird grau
    • sofort wieder auf "Verbinden
      => Erster Verbindungsversuch klappt
Ich hab in den Attachments noch jeweils das Server.log und das Client.log hochgeladen, jeweils mit verbose 5. Diese "wRwRwrWrWRwRwRwRwrW" Zeichen sind quasi traffic, wenn die Verbindung steht. Im Log sieht man chronologisch das was ich oben beschrieben hab:
  • initialer Verbindungsaufbau: Klappt
  • Neustart des openvpn Servers
  • Connect / Reconnect Loop mehrere Versuche
  • "Trennen" / "Verbinden" des Clients
  • nächster Verbindungsversuch klappt wieder
Hat jemand eine Idee, warum wenn ich den VPNClient kurz stoppe und wieder starte, die Verbindung funktioniert und über Tage stabil bleibt, aber der automatische reconnect nicht geht? Das nervt total, dass ich mich bei jedem Verbindungsabbruch auf dem Client einloggen muss :-/

Noch ein wichtiger Hinweis: Ich hab noch zwei weitere Windows 10 Clients mit dem Server verbunden, die haben beide mit dem automatischen reconnect überhaupt kein Problem, die sind super stabil nach einem Server-Neustart.
 

pipsen

Benutzer
Mitglied seit
03. Dez 2020
Beiträge
31
Punkte für Reaktionen
0
Punkte
6
Nach ein bisschen weiterem Gefrickel hab ich eine Lösung / Workaround gefunden. Scheinbar räumt der reconnect nicht alle Prozesse sauber ab, so dass mehrere Connects konkurrierend sind und sich gegenseitig stören.

Im Fall eines "ip-down" wird folgendes Skript getriggert:
Bash:
/usr/syno/etc.defaults/synovpnclient/scripts/ip-down

Darin gibt es einen if-Block, der sich um den reconnect kümmert

Bash:
# reconnect
if [ ! -e "${SHUTDOWN}" ] && [ ! -e "${VPNC_SHUTDOWN}" ]; then
/usr/syno/etc/synovpnclient/scripts/synovpnclient.sh disconnect
sleep 5
/usr/syno/etc/synovpnclient/scripts/synovpnclient.sh start
/usr/bin/killall synovpnc 2>/dev/null
reconnect_times=$(($reconnect_times-1))
/usr/syno/bin/synovpnc reconnect --protocol=${proto} --name=${conf_name} --retry=${reconnect_times} --interval=30
fi

Da hab ich jetzt die ersten drei Zeilen ergänzt, um den ganzem Syno VPN Client einmal abzuschießen und neu zu starten. Damit gehts jetzt!

Bash:
 /usr/syno/etc/synovpnclient/scripts/synovpnclient.sh disconnect
sleep 5
/usr/syno/etc/synovpnclient/scripts/synovpnclient.sh start

- CLOSE -
 

na-am

Benutzer
Mitglied seit
07. Feb 2014
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
Hi pipsen, ich hatte exakt das gleiche Problem, wollte nur anmerken, dass es auch tadellos mit DSM7 beta funktioniert
besten dank
 


 

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