VPN Reconnect after WAN Disconnect/Reconnect

Started by stumpjumper, March 06, 2020, 10:07:41 AM

Previous topic - Next topic
I have a problem with reconnecting a vpn Tunnel after DSL-Line went reconnected by provider.
This behaviour is the same on IPsec and wireguard.
Description:
The vpn-tunnel is up and working as expected. After 24 hours the WAN is disconnected and reconnected by the provider. This breaks the vp-tunnel.
I was expecting that the tunnel will reconnect itself, in case of ipsec by DPD, in case of wireguard via keepalive in endpont config.
Both sides have a fixed IP.
As a workaround  i created a cron job that restarts the OPNSense on both Sides. After the reboot the tunnel is back in work.
Does anybody have the same behaviour ?
Any suggestions how this can be solved?

Hello


you're in german forum here... But no problem.. You still get help ;)


For normal, the VPN should automatically reconnect. How fast is the reconnect happening?

Do you have any specialized config in your VPN config files?
Is the VPN log saying anything usable? ( clog -f /var/log/openvpn.log )
Proxmox VE
i3-4030U | 16 GB RAM | 512 GB SSD | 500 GB HDD
i3-2350M | 16 GB RAM | 120 GB SSD | 500 GB HDD

FW VMs:
2 Cores | 1 GB RAM | 20 GB SSD

Entschuldigung, ich habe den Beitrag versehentlich in Englisch verfasst, deshalb antworte ich selbst mit dem deutschen Text.
Problembeschreibung:
Eine Seite des VPN-Tunnels hängt über einen DSL Router mit Port-Forwarding auf die  OPNSense am Internet, die andere Seite ist direkt am Internet.
Der Tunnel wird aufgebut und funktioniert wie erwartet.
Auf der DSL Seite wird nach 24h die Leitung vom Provider zwangsgetrennt. Nach der Zwangstrennung kommt der Tunnel nicht mehr hoch. Es ist hier Egal ob es sich um einen IPSec oder einen Wireguard Tunnel handelt, bei beiden hat man das selbe Verhalten.
Ich hatte erwartet dass der Tunnel nach einer Unterbrechung autom. wieder aufgebaut wird. Im falle von ipsec durch DPD, im falle wireguard durch keepalive in der Endpoint Konfig. Das passiert aber nicht. Als temporäre Lösung habe ich auf beiden OPNSense'n einen  Cronjob erstellt der die OPNsense rebooted. Nach dem Reboot kommt der Tunnel sofort wieder hoch.
Kennt jemand dieses Verhalten und hat ev. eine Lösung ?

Nein das Log schweigt sich leider aus. Es handelt sich aber NICHT um einen openvpn Tunnel. Wie gesagt habe ich dieses Verhalten sowohl bei IPsec als auch bei Wireguard.
In beiden Fällen Site2Site. Um Missverständnissen vorzubeugen, es ist immer nur eine Tunnelart in Verwendung, also nicht parallel.
Ich hatte das Verhalten zuerst mit IPSec und habe dann testweise auf Wireguard umgestellt. Auf der DSL Seite ist die Leitung offensichtlich für ca. 1h unterbrochen. Die IPSec Konfiguration wurde komplett gelöscht so dass diese nicht mehr mitspielen kann. Ich meine damit z.B Metrik bei Routen etc.

March 06, 2020, 10:37:18 AM #4 Last Edit: March 06, 2020, 10:38:55 AM by chemlud
Ich würde der Zwangstrennung durch den Router zu einer festen Zeit zuvorkommen (in der Nacht) und 10 min später per Cron reboot oder VPN neu starten...

Man kann auch (bei openVPN) Server und Client tauschen... ;-)

PS: Zwangstrennung für 1 h? Ernsthaft? Da wird der reconnect für den Tunnel irgendwann time-out haben...
kind regards
chemlud
____
"The price of reliability is the pursuit of the utmost simplicity."
C.A.R. Hoare

felix eichhorns premium katzenfutter mit der extraportion energie

A router is not a switch - A router is not a switch - A router is not a switch - A rou....

Entschuldige bitte wegen der OpenVPN verwechslung...
Also bei IPSec kenne ich mich nur etwas aus.. Aber ich gebe mal meine Vermutungen ab:


Eine Zwangstreunnung über ein Stunde finde ich ebenfalls recht heftig... Wie überprüfst du dies?
Ändert sich bei jeder Zwangstrennung die IP? Oder bekommst du wieder die gleiche?
Ich denke mir vielleicht, dass wenn du DynDNS benutzt, dass bei einer IP Änderung der DNS Eintrag erst nach einer Stunde geändert wird.


Wie ist denn der Tunnel Mode bei der Phase1 eingestellt?


Die DPD wird wie bereits von chemlud vermutet das teil auf nen TimeOut laufen... Außer du hast hier die Settings so hoch gedreht, dass dies auch nach über einer Stunde versucht wird.


Vielleicht finden wir so irgendwie den Fehler ;)
Proxmox VE
i3-4030U | 16 GB RAM | 512 GB SSD | 500 GB HDD
i3-2350M | 16 GB RAM | 120 GB SSD | 500 GB HDD

FW VMs:
2 Cores | 1 GB RAM | 20 GB SSD

Erst mal vielen Dank für Eure Antworten,
Zu Euren Fragen:
Beide Seiten haben eine feste IP DynDNS spielt also keine Rolle.
Die variante mit dem Reboot habe ich ja schon, Ziel sollte aber sein daß das ohne reboot funktioniert.
Der Tunnel kann ja theoretisch auch sonst mal unterbrochen werden und sollte sich dann wieder aufbauen.
Bei der Zwangstrennung ist die Zeit halt bekannt deshalb funktioniert die Variante "Reboot".

Feste IP und 1h nächtliche Zwangstrennung? Was ist das für ein Provider?
kind regards
chemlud
____
"The price of reliability is the pursuit of the utmost simplicity."
C.A.R. Hoare

felix eichhorns premium katzenfutter mit der extraportion energie

A router is not a switch - A router is not a switch - A router is not a switch - A rou....

natürlich die deutsche T....
Dass die Zwangstrennung durch denProvider eine Stunde dauert glaube ich eher nicht. So wie es aussieht läuft auf der DSL-Seite auf dem Router/Firewall (Sophos) irgendein Job. Genaueres kann ich da nicht sagen, der Betreiber dieses Routers schwört aber Stein und Bein dass er nichts blockiert. Was sich ja eigentlich dadurch bestätigt dass der Tunnel beim reboot wieder aufgebaut wird.

July 14, 2020, 09:18:48 PM #9 Last Edit: July 14, 2020, 09:22:30 PM by Schubbie
Moin,

wurde das Problem bereits gelöst?
Ich habe mir gerade die OPNsense eingerichtet ähnliches Problem.
Allerdings funktionieren nach der Zwangstrennung wohl auch gelgentlich keine Portweiterleitungen mehr (wirklich keine der eingerichteten), nach einem Neustart ist alles wieder erreichbar.

Ich habe 2 Synology an 2 Standorten. Auch wenn ich nur die PPPoE-Verbindung neu aufbaue, was nur eine Sekunde dauert und ich habe eine neue IP (feste IP habe ich nicht), kann ich die Tunnel nicht wieder aufbauen, bis ich die OPNsense neu gestartet habe.

Abgesehen davon habe ich auch Probleme die Telefonanlage hinter der OPNsense zuverlassig ans Laufen zu bekommen, aber das habe ich in einem anderen Thema bereits angesprochen.

Mit freundlichem Gruß
Andreas

OPNsense lauft auf einem separaten Rechner mit 3 Netzwerkkarten (keine VM).
1&1 -> Vigor 130 alsl reines Modem -> OPNsense -> Switch -> Synology

Hallo Andreas,
wirklich gelöst wurde das Problem bisher nicht, es hat sich aber gezeigt daß das Problem offensichtlich von der Sophos FW auf der DSL-Seite kommt.
Die OPNSensen werden inzwischen nicht mehr neu gebootet, nur die Sophos wird noch neu gestartet danach kommt der Tunnel sofort wieder hoch.
Das scheint ein bekannter Fehler auf der Sophos zu sein der zwar nicht allzu häufig auftritt aber ab und zu vorkommt.
Bei Deiner Beschreibung fällt mir auf dass du nach der Zwangstrennung eine n neue IP bekommst, kann denn diese IP über einen DYNDNS-Dienst dann auch aufgelöst werden. Möglicherweise ist das der Grund dass der Tunnel nicht mehr hoch kommt.

Moin,
nach dem Cronjob, um einer Zwangstrennung zuvor zu kommen, zeigt mir DynDNS in der OPNsense sofort die korrekte externe IP an. OPNsense neu gestartet und ich kann den VPN zwischen den Synologies wieder neu aufbauen, was allerdings aufgrund der Dauer der Trennung und Unterbrechung des sämtlichen Netzwerkverkehrs (DHCP Server auf der OPNsense) nicht so ideal ist.
Mit freundlichem Gruß
Andreas

Hallo Andreas,
hängen die OPENsense'n direkt am DSL oder ist da noch was vom Provider davor (FritzBox, DSL-Modem etc.)?
Kommt im LiveLog auf der OPNSense noch was an oder siehst Du überhaupt kein Datenpaket mehr.
In meinem Fall ist es so dass die Sophos die DSL-Leitung steuert und die Wireguard Ports auf die OPNSense forwarded. Dieses Forwarding funktioniert auf der Sophos nach der Trennung nicht mehr (OPNSense sieht kein Datenpaket mehr).
Gruss Jürgen

Hallo Jürgen,
die OPNsense verbindet sich direkt per PPPoE über ein externes Modem mit dem Internet. Direkter geht es bei DSL nicht oder?
Im Livelog passiert noch etwas, aber nichts, was darauf schließen lässt, warum keine Verbindung stattfinden kann.
Mit freundlichem Gruß
Andreas

Hallo Andreas,
können beide Seiten die Verbindung aufbauen? Ich meinte mit dem Livelog ob du dort siehst dass die Gegenseite versucht die Verbindung zu initieren wenn dort z.B. ein Dauerping läuft und währenddessen die Verbindung getrennt wird.
Ich nehme mal an "normales" Internet geht.
Gruss Jürgen