Verbindungsverlust alle 24h: Site2Site OpenVPN static-dynamic IP



  • Hallo,
    ich habe nun einige Tage nach einer Lösung gesucht, aber bisher nur einen Workaround gefunden:
    Ausgangslage: Es besteht eine Site2Site OpenVPN-Verbindung zwischen zwei PFSense(en). Grundsätzlich funktioniert alles, was funktionieren soll. In einem Fall hängt der Client an einem VDSL-Anschluss hinter eine Fritzbox, der alle 24h eine neue IP-Adresse zugewiesen bekommt. Nach Zuweisung einer neuen IP ist die Verbindung zwischen den PFSensen tot. Beide Seiten zeigen eine bestehende Verbindung an, der Server zeigt jedoch im Status immer noch die alte IP an. Nach einem Neustart des entsprechenden Servers zeigt dieser die richtige IP an und die Verbindung ist wieder aktiv. Das Spiel wiederholt sich täglich. Im Moment habe ich das Problem mit einem CRON umgangen, der den OPENVPN-Server täglich neu startet.
    Wo könnte Ursache für dieses Fehlverhalten bestehen, was könnte ich falsch konfiguriert haben? Welche Infos muss ich noch nachliefern?
    Danke schon mal!


  • Rebel Alliance

    Was passiert auf beiden Seiten denn in den Logs nach der 24h Trennung?

    -Rico



  • Hallo,
    in den Logs sehe ich nicht wirklich viel. Verbosity Level steht jeweils auf 3.
    Sieht für mich gerade so aus, als bekommt der Client nichts davon mit, dass die vorgeschaltete FritzBox eine neue IP-Adresse hat. Das DynDNS, dass ich aud dem Client für andere Zwecke brauche (für den OpenVPN-Client ja eigentlich nicht) habe auf der Fritzbox laufen -> muss ich den DynDNS-Dienst auf der PFSense einrichten?

    Server: (hier ist es Server 3)

    Oct 21 19:50:46	openvpn	30687	MANAGEMENT: Client connected from /var/etc/openvpn/server3.sock
    Oct 21 19:50:46	openvpn	30687	MANAGEMENT: CMD 'status 2'
    Oct 21 19:50:47	openvpn	30687	MANAGEMENT: CMD 'quit'
    Oct 21 19:50:47	openvpn	30687	MANAGEMENT: Client disconnected
    Oct 21 19:51:00	openvpn	30687	MANAGEMENT: Client connected from /var/etc/openvpn/server3.sock
    Oct 21 19:51:00	openvpn	30687	MANAGEMENT: CMD 'state 1'
    Oct 21 19:51:00	openvpn	30687	MANAGEMENT: CMD 'status 2'
    Oct 21 19:51:00	openvpn	30687	MANAGEMENT: Client disconnected
    Oct 21 19:51:49	openvpn	30687	MANAGEMENT: Client connected from /var/etc/openvpn/server3.sock
    Oct 21 19:51:50	openvpn	30687	MANAGEMENT: CMD 'status 2'
    Oct 21 19:51:50	openvpn	30687	MANAGEMENT: CMD 'quit'
    Oct 21 19:51:50	openvpn	30687	MANAGEMENT: Client disconnected
    Oct 21 19:51:53	openvpn	30687	Peer Connection Initiated with [AF_INET]93.212.214.33:48619
    Oct 21 19:52:53	openvpn	30687	MANAGEMENT: Client connected from /var/etc/openvpn/server3.sock
    Oct 21 19:52:54	openvpn	30687	MANAGEMENT: CMD 'status 2'
    Oct 21 19:52:54	openvpn	30687	MANAGEMENT: CMD 'quit'
    Oct 21 19:52:54	openvpn	30687	MANAGEMENT: Client disconnected
    

    Client: (hier ist es Client2)

    Oct 21 19:50:55	openvpn	31440	MANAGEMENT: Client connected from /var/etc/openvpn/client2.sock
    Oct 21 19:50:55	openvpn	31440	MANAGEMENT: CMD 'state 1'
    Oct 21 19:50:55	openvpn	31440	MANAGEMENT: CMD 'status 2'
    Oct 21 19:50:55	openvpn	31440	MANAGEMENT: Client disconnected
    Oct 21 19:53:11	openvpn	31440	MANAGEMENT: Client connected from /var/etc/openvpn/client2.sock
    

    Hab jetzt extra mal die Fritzbox am Client neu verbinden lassen. Im Log hab ich die Einträge die eindeutig zu Road-Warrior-Verbindungen gehören, weg gelassen.



  • Hallo,

    wenn es eine SSL/TLS OpenVPN ist, gibt es in den Server-Einstellungen die Client-Option "Dynamic IP" (Allow connected clients to retain their connections if their IP address changes.).
    Diese gesetzt?



  • @viragomann

    Bei den Road-Warrior-Verbindungen nutze ich SSL/TLS. Bei den Site2Site-Verbindungen nutze ich bisher einen Preshared Key. Also steht die Option mir derzeit nicht zur Verfügung.
    Ich schau mir das aber mal an und versuch mal eine Site2Site mit SSL/TLS einzurichten.
    Aber grundsätzlich dürfte meine jetzige Konfiguration doch nicht so speziell sein und müsste doch funktionieren - oder?



  • Ich kenne das Problem von wechselnden IPs und die Funktion dieser Einstellung auch nur von Roadwarrior-Servern. Dachte halt, es könnte auch hier helfen, aber ja, die Option gibt es nur bei TLS-VPN.

    Klar, den DynDNS-Client auf die pfSense zu verlegen, könnte auch helfen. Noch besser wäre wohl, die öffentliche IP auf die pfSense zu verlegen, ist aber wahrscheinlich nicht umsetzbar.

    Hast du am Client das Gateway-Monitoring für diese VPN eingerichtet?



  • Wenn möglich würde ich auf der Server Seite die Fritzbox als Router eliminieren und in Modem Betrieb nehmen. Dann erkennt die PFSense wann das Interface up/down geht. Gleichzeitig würde ich auch den DYNDNS Client der PFSense nutzen. Dadurch werden alle notwendigen Elemente für den OpenVPN Tunnel zusammen getriggert. Bei der Zwangstrennung bekommt der Server so alles mit. Das funktionier genauso auch auf der Client Seite, aber nicht zwangsweise notwendig, wenn CGN (LTE und Freunde).

    Wir haben so seit Jahren knapp 90 Standorte ohne Probleme laufen, inkl. MultiWAN (DSL+Kabel) zum LoadBalance und FailOver.



  • @viragomann said in Verbindungsverlust alle 24h: Site2Site OpenVPN static-dynamic IP:

    Hast du am Client das Gateway-Monitoring für diese VPN eingerichtet?

    Nein, im Moment nicht. Habs probiert, aber welche IP soll ich den "monitoren". Das müsste ja eine aus dem Server-Netzwerk sein - oder?

    @roadrunner51 said in Verbindungsverlust alle 24h: Site2Site OpenVPN static-dynamic IP:

    Wenn möglich würde ich auf der Server Seite die Fritzbox als Router eliminieren und in Modem Betrieb nehmen. Dann erkennt die PFSense wann das Interface up/down geht. Gleichzeitig würde ich auch den DYNDNS Client der PFSense nutzen. Dadurch werden alle notwendigen Elemente für den OpenVPN Tunnel zusammen getriggert. Bei der Zwangstrennung bekommt der Server so alles mit. Das funktionier genauso auch auf der Client Seite, aber nicht zwangsweise notwendig, wenn CGN (LTE und Freunde).

    Wir haben so seit Jahren knapp 90 Standorte ohne Probleme laufen, inkl. MultiWAN (DSL+Kabel) zum LoadBalance und FailOver.

    Auf der Server seite hatte ich bis vor kurzem direkt ein Modem. Da ich nun zwei PFSensen (Failover) dran hängen hab, brauch ich wieder den Router. Aber auf Server-Seite habe ich ja auch keinen Reconnect. Da bleibt alles mit Fester IP-Adresse.

    Der Wechsel von PreSharedKey auf TLS-VPN will auch nicht so recht. Durch den neuen Tunnel ist nix durch. Bei einer anderen Site2Site-Verbindung hat es problemlos funktioniert.

    Ich werde die von euch genannten Ideen mal der Reihe nach durchprobieren. Da diese Verbindung aber aktiv genutzt wird, muss ich die Nutzungszeiten berücksichtigen - daher wird das ganze etwas dauern....

    Gruß
    Ximix


  • Moderator

    Bevor ich den Tunnel einfach so von PSK auf TLS umstelle würde ich versuchen das Problem zu analysieren. Wir haben zig Tunnel bei uns und Kunden im Einsatz, da fällt nicht einfach nach 24h was aus. Und wenn dann ists momentan eher nen IPSec das Zicken macht ;)

    Ist denn auf Server oder Clientseite im Log was zu sehen? Bei Verb 4 Level sollte man ja spätestens was sehen mit Timeout oder sonstigem Kram? Timeout und Reconnect Werte vom Tunnel mal verändert? Keepalive etc.?



  • Im Log des Clients ist nix zu sehen, der bekommt die Änderung irgendwie immer noch nicht mit. Am Server kann ich so "alte" Einträge nicht mehr sehn (Warum ist das Log zu kurz, nur die letzten 2000 Einträge - oder blick ich da was nicht). Absichtlich mal trennen geht gerade nicht. Schaue mir das morgen früh gleich nochmal an.


  • Moderator

    Man kann die Logs auch extern sammeln und durchgehen (Syslog Server) aber entsprechend alte Einträge sind im Livelog eher schwierig, das ist richtig. Wenn der Client nichts mitbekommt finde ich das sehr verwunderlich. Wie gesagt würde ich da eher an Timeout, Reconnect und Ping Werte ansehen, ob man dabei was sieht. Wenn das Problem durch Zwangstrennung kommt, sollte ja eigentlich der Ping und Ping-Restart Parameter greifen.

    Die Server Seite ist eine statische IP? Hast du die IP eingetragen oder per DNS?



  • So, jetzt läufts.
    Hab den DynDNS Client jetzt auf der PFSense laufen und den Cron dazu angepasst (der läuft sonst nur jede Nacht um 01:01 Uhr).
    Den Client hab ich nach einigen Fehlversuchen auf SSL/TLS umgestellt. Hat lang nicht funktioniert da der PreSharedClient auf dem Server zusätzlich noch aktiv war (da kam dann wohl was mit dem Routing durcheinander).
    Da die Verbindung schon wieder zustande kommt bevor der DynDNS überhaupt checkt, dass sich die IP geändert hat, gehen ich mal davon aus, dass es am SSL/TLS-Client liegt, der den Wechsel der IP besser mitmacht, als die PreShared-Version.
    Ist auch besser so, da noch mehrere Site2Site-Clients angebunden werden müssen.

    Danke euch
    Ximix