VPN (IPSec) LAN-LAN-Kopplung nach Zwangstrennung stark verzögerter Reconnect zu StrongSwan-Server

Der StrongSwan läuft in einem LXC-Container unter einer Proxmox-Installation und hängt an einer Unifi Dreammachine.

Ich habe den Log-Service wie in dem von Dir genannten Beispiel eingestellt. Redundante Watcher-Meldungen habe ich entfernt sowie alle Meldungen zwischen 23.00 und 5.00 Uhr um die Dateigröße zu verkleinern.
Der StrongSwan-Server wurde um 22.51 neu gestartet.
Um 6.00 Uhr war die Internet-Verbindung nach Zwangstrennung auf Seiten des StrongSwan wiederhergestellt..
Um 6.13 Uhr war der Tunnel wiederhergestellt.
Um 7.48 Uhr erfolgte die Zwangstrennung auf Seiten der Fritzbox.

Hilft das?
 

Anhänge

  • log.txt
    1.3 MB · Aufrufe: 2
Ich kann diese Woche nicht mehr, habe mir aber per Bookmark eine Erinnerung gesetzt.
 
  • Like
Reaktionen: graefe
So, es hat zwar etwas gedauert, aber jetzt habe ich die Zeit gefunden, mir das Protokoll mal etwas näher anzusehen.

Der Beginn sieht ja noch gut aus, nach dem Aufbau der Verbindung wird jetzt - und zwar nur seitens der FRITZ!Box - im Abstand von 30 Sekunden ein DPD-Paket gesendet, um das Fortbestehen der (UDP-)Verbindung zu überprüfen.

Dann aber kommt etwas, was ich so absolut nicht verstehe:
Rich (BBCode):
May 21 22:59:06 04[NET] sending packet: from 192.168.3.19[4500] to 93.133.172.168[4500]
May 22 05:08:50 03[NET] received packet: from 93.133.172.168[500] to 192.168.3.19[500]
Nun ist das ja offensichtlich auch gerade noch eine Stelle, an der Du (was an sich nicht zu beanstanden wäre) das Protokoll gekürzt hast. Aber warum um alles in der Welt erreicht da plötzlich wieder ein Paket auf UDP-Port 500 die StrongSwan-Instanz, wenn Du doch die zuvor sicherlich bestehende Portfreigabe für diesen Port entfernt hast? Ich hatte jedenfalls schon zweimal (#16 und #20) darauf hingewiesen, daß diese vollkommen umsonst und in diesem Fall ganz offensichtlich sogar eher hinderlich ist.

Denn ohne diese Weiterleitung hätte das Paket um 05:08:50 die StrongSwan-Instanz gar nicht erreichen dürfen und für die FRITZ!Box sollten das nun mal zwei unterschiedliche Endpoints (so ein Endpunkt besteht bekanntlich immer aus der Kombination von IP-Adresse und Portnummer) sein, was sich irgendwie auch darin zeigt, daß das offenbar ja eine neue "aggressive"-Message ist. Das kann aber irgendwie auch nicht das erste Rekeying für Phase 1 sein, denn die Gültigkeit des Sitzungsschlüssels wurde ja eingangs folgendermaßen festgelegt:
Rich (BBCode):
May 21 22:51:16 11[IKE] <fritzbox|1> scheduling rekeying in 13996s
May 21 22:51:16 11[IKE] <fritzbox|1> maximum IKE_SA lifetime 15436s
und weder für 13996 Sekunden noch für 15436 Sekunden käme ich da auf 05:08 Uhr.

Also wird das vermutlich (hier fehlt eben wieder das dazu passende Protokoll der Gegenseite) eine weitere, zusätzliche SA sein, die da ausgehandelt wird/wurde. Das macht es halt nicht übersichtlicher, wobei die ausgehandelten Verbindungen ja auf jeder Seite auch deswegen einen "Index" erhalten, WEIL es eben mehr als eine gleichzeitig geben kann, solange beim Aufbau nicht "alles andere zuvor vergessen" angesagt wurde durch eine "initial contact"-Option in der Nachricht:
Rich (BBCode):
May 22 05:08:50 15[ENC] <fritzbox|16> parsed AGGRESSIVE request 0 [ HASH NAT-D NAT-D N(INITIAL_CONTACT) ]
Auch die Tatsache, daß jetzt die XFRM-Regeln alle mit refcount 2 gehandelt werden:
Rich (BBCode):
May 22 05:08:50 09[KNL] <fritzbox|16> policy 192.168.5.0/24 === 192.168.3.1..192.168.3.255 in already exists, increasing refcount
May 22 05:08:50 09[KNL] <fritzbox|16> updating policy 192.168.5.0/24 === 192.168.3.1..192.168.3.255 in [priority 375423, refcount 2]
May 22 05:08:50 09[KNL] <fritzbox|16> policy 192.168.5.0/24 === 192.168.3.1..192.168.3.255 fwd already exists, increasing refcount
May 22 05:08:50 09[KNL] <fritzbox|16> updating policy 192.168.5.0/24 === 192.168.3.1..192.168.3.255 fwd [priority 375423, refcount 2]
May 22 05:08:50 09[KNL] <fritzbox|16> policy 192.168.3.1..192.168.3.255 === 192.168.5.0/24 out already exists, increasing refcount
May 22 05:08:50 09[KNL] <fritzbox|16> updating policy 192.168.3.1..192.168.3.255 === 192.168.5.0/24 out [priority 375423, refcount 2]
spricht für die Annahme, daß da eben KEIN "initial contact" stattfindet und eine weitere SA aufgebaut wird, ebenso wie das hier:
Rich (BBCode):
May 22 05:23:32 12[KNL] <fritzbox|16> deleting policy 192.168.3.1..192.168.3.255 === 192.168.5.0/24 out
May 22 05:23:32 12[KNL] <fritzbox|16> policy still used by another CHILD_SA, not removed
May 22 05:23:32 12[KNL] <fritzbox|16> not updating policy 192.168.3.1..192.168.3.255 === 192.168.5.0/24 out [priority 375423, refcount 1]
May 22 05:23:32 12[KNL] <fritzbox|16> deleting policy 192.168.5.0/24 === 192.168.3.1..192.168.3.255 in
May 22 05:23:32 12[KNL] <fritzbox|16> policy still used by another CHILD_SA, not removed
May 22 05:23:32 12[KNL] <fritzbox|16> not updating policy 192.168.5.0/24 === 192.168.3.1..192.168.3.255 in [priority 375423, refcount 1]
May 22 05:23:32 12[KNL] <fritzbox|16> deleting policy 192.168.5.0/24 === 192.168.3.1..192.168.3.255 fwd
May 22 05:23:32 12[KNL] <fritzbox|16> policy still used by another CHILD_SA, not removed
May 22 05:23:32 12[KNL] <fritzbox|16> not updating policy 192.168.5.0/24 === 192.168.3.1..192.168.3.255 fwd [priority 375423, refcount 1



Das hier:
Rich (BBCode):
May 22 05:14:44 03[NET] received packet: from 146.88.241.153[41421] to 192.168.3.19[500]
May 22 05:14:44 03[ENC] parsing header of message
May 22 05:14:44 03[ENC] parsing HEADER payload, 46 bytes left
May 22 05:14:44 03[ENC]   parsing rule 0 IKE_SPI
May 22 05:14:44 03[ENC]   parsing rule 1 IKE_SPI
May 22 05:14:44 03[ENC]   parsing rule 2 U_INT_8
May 22 05:14:44 03[ENC]   parsing rule 3 U_INT_4
May 22 05:14:44 03[ENC]   parsing rule 4 U_INT_4
May 22 05:14:44 03[ENC]   parsing rule 5 U_INT_8
May 22 05:14:44 03[ENC]   parsing rule 6 RESERVED_BIT
May 22 05:14:44 03[ENC]   parsing rule 7 RESERVED_BIT
May 22 05:14:44 03[ENC]   parsing rule 8 FLAG
May 22 05:14:44 03[ENC]   parsing rule 9 FLAG
May 22 05:14:44 03[ENC]   parsing rule 10 FLAG
May 22 05:14:44 03[ENC]   parsing rule 11 FLAG
May 22 05:14:44 03[ENC]   parsing rule 12 FLAG
May 22 05:14:44 03[ENC]   parsing rule 13 FLAG
May 22 05:14:44 03[ENC]   parsing rule 14 U_INT_32
May 22 05:14:44 03[ENC]   parsing rule 15 HEADER_LENGTH
May 22 05:14:44 03[ENC] parsing HEADER payload finished
May 22 05:14:44 03[ENC] parsed a (0) request header
May 22 05:14:44 03[ENC] added payload of type NOTIFY to message
May 22 05:14:44 03[ENC] no message rules specified for this message type
May 22 05:14:44 03[NET] received unsupported IKE version 0.0 from 146.88.241.153, sending INVALID_MAJOR_VERSION
May 22 05:14:44 03[NET] waiting for data on sockets
ist dann ein schönes Beispiel dafür, daß eben auch die Ports für VPN-Verbindungen nicht davor gefeit sind, daß da ungültige Pakete eintreffen, ob nun versehentlich oder als "Angriff", spielt dabei gar keine Rolle. Eine ordentlich gehärtete Implementierung kann auch mit solchen ungültigen Paketen umgehen und verwirft sie einfach, nachdem die Gültigkeit (bzw. das Fehlen ebenjener) festgestellt wurde.



Was jetzt den plötzlichen Wechsel des Verhaltens um 05:08 Uhr ausgelöst haben könnte, kann man (mit dem vorhandenen Material) aber nicht sehen ... und diese Zeit paßt auch zu keiner Angabe, die Du in #21 gemacht hast.

Aber irgendetwas muß da geschehen sein, denn plötzlich ändert sich ja auch der Rhythmus der DPD-Messages - aus 30 Sekunden zwischen 22:51 Uhr und 05:08 Uhr werden auf einmal 5 Minuten und 4 Sekunden:
Rich (BBCode):
May 22 05:16:52 04[NET] sending packet: from 192.168.3.19[4500] to 93.133.172.168[4500]
May 22 05:21:56 03[NET] received packet: from 93.133.172.168[4500] to 192.168.3.19[4500]

Danach soll bis 05:45 Uhr gar nichts mehr passiert sein? Das kann ich irgendwie auch nicht glauben - wenn Du in der nächsten Runde Zeilen entfernst, kennzeichne das doch bitte so, daß man es nachvollziehen kann.

Um 05:57 Uhr kommt dann wieder eine DPD-Message von der FRITZ!Box:
Rich (BBCode):
May 22 05:57:22 11[ENC] <fritzbox|16> parsed INFORMATIONAL_V1 request 2275246658 [ HASH N(DPD) ]
[...]
May 22 05:57:22 11[ENC] <fritzbox|16> generating INFORMATIONAL_V1 request 1363242085 [ HASH N(DPD_ACK) ]
und wie sich diese Nachrichten erklären lassen, weiß ich auch nicht:
Rich (BBCode):
May 22 05:57:22 04[NET] sending packet: from 192.168.3.19[4500] to 93.133.172.168[4500]
May 22 06:02:25 03[NET] received packet: from 93.133.172.168[4500] to 192.168.3.19[4500]
Wenn dazwischen auf der StrongSwan-Seite eine Zwangstrennung erfolgte und der Anschluß dabei eine neue (öffentliche) IP-Adresse erhalten hat, dann dürfte die FRITZ!Box ja nur dann in der Lage sein, an diese neue Adresse ein Paket zu senden, wenn sie die neue Adresse NACH der Aktualisierung im DynDNS ERNEUT aufgelöst hat und das Paket dann an diese neue Adresse gesendet wurde. Ansonsten kann ich mir absolut nicht vorstellen, wie da der StrongSwan-Server das Paket um 06:02:25 empfangen könnte - also muß es DOCH WIEDER irgendwelchen anderen Traffic gegeben haben, der zur "Umschaltung" der Adresse des NAT-Gateway im IPSec der FRITZ!Box geführt hat - genau deshalb braucht es auch die (synchronen) Protokolle von beiden Seiten.

Die FRITZ!Box hat jedenfalls ihrerseits gar keine Veranlassung, die Verbindung zu kappen und neu aufzubauen, denn der StrongSwan-Server meldet sich ja noch ganz normal per DPD:
Rich (BBCode):
May 22 06:02:25 12[ENC] <fritzbox|16> parsed INFORMATIONAL_V1 request 1719834483 [ HASH N(DPD) ]
[...]
May 22 06:02:25 12[ENC] <fritzbox|16> generating INFORMATIONAL_V1 request 947734980 [ HASH N(DPD_ACK) ]
und um 06:04:16 werden sogar noch einmal die Keys in P2 erneuert:
Rich (BBCode):
May 22 06:04:16 07[CHD] <fritzbox|16> CHILD_SA net{9} state change: CREATED => INSTALLING
May 22 06:04:16 07[CHD] <fritzbox|16>   using AES_CBC for encryption
May 22 06:04:16 07[CHD] <fritzbox|16>   using HMAC_SHA2_512_256 for integrity
May 22 06:04:16 07[CHD] <fritzbox|16> adding inbound ESP SA
May 22 06:04:16 07[CHD] <fritzbox|16>   SPI 0xc2d91561, src 93.133.172.168 dst 192.168.3.19
May 22 06:04:16 07[KNL] <fritzbox|16> adding SAD entry with SPI c2d91561 and reqid {1}
May 22 06:04:16 07[KNL] <fritzbox|16>   using encryption algorithm AES_CBC with key size 256
May 22 06:04:16 07[KNL] <fritzbox|16>   using integrity algorithm HMAC_SHA2_512_256 with key size 512
May 22 06:04:16 07[KNL] <fritzbox|16>   using replay window of 32 packets
May 22 06:04:16 07[KNL] <fritzbox|16>   HW offload: no
May 22 06:04:16 07[CHD] <fritzbox|16> adding outbound ESP SA
May 22 06:04:16 07[CHD] <fritzbox|16>   SPI 0xeaf3612b, src 192.168.3.19 dst 93.133.172.168
May 22 06:04:16 07[KNL] <fritzbox|16> adding SAD entry with SPI eaf3612b and reqid {1}
May 22 06:04:16 07[KNL] <fritzbox|16>   using encryption algorithm AES_CBC with key size 256
May 22 06:04:16 07[KNL] <fritzbox|16>   using integrity algorithm HMAC_SHA2_512_256 with key size 512
May 22 06:04:16 07[KNL] <fritzbox|16>   using replay window of 0 packets
May 22 06:04:16 07[KNL] <fritzbox|16>   HW offload: no
May 22 06:04:16 07[KNL] <fritzbox|16> policy 192.168.5.0/24 === 192.168.3.1..192.168.3.255 in already exists, increasing refcount
May 22 06:04:16 07[KNL] <fritzbox|16> updating policy 192.168.5.0/24 === 192.168.3.1..192.168.3.255 in [priority 375423, refcount 2]
May 22 06:04:16 07[KNL] <fritzbox|16> policy 192.168.5.0/24 === 192.168.3.1..192.168.3.255 fwd already exists, increasing refcount
May 22 06:04:16 07[KNL] <fritzbox|16> updating policy 192.168.5.0/24 === 192.168.3.1..192.168.3.255 fwd [priority 375423, refcount 2]
May 22 06:04:16 07[KNL] <fritzbox|16> policy 192.168.3.1..192.168.3.255 === 192.168.5.0/24 out already exists, increasing refcount
May 22 06:04:16 07[KNL] <fritzbox|16> updating policy 192.168.3.1..192.168.3.255 === 192.168.5.0/24 out [priority 375423, refcount 2]
May 22 06:04:16 07[KNL] <fritzbox|16> getting a local address in traffic selector 192.168.3.1..192.168.3.255
May 22 06:04:16 07[KNL] <fritzbox|16> using host 192.168.3.19
May 22 06:04:16 07[KNL] <fritzbox|16> getting iface name for index 2
May 22 06:04:16 07[KNL] <fritzbox|16> using 192.168.3.1 as nexthop and eth0 as dev to reach 93.133.172.168/32
May 22 06:04:16 07[IKE] <fritzbox|16> CHILD_SA net{9} established with SPIs c2d91561_i eaf3612b_o and TS 192.168.3.1..192.168.3.255 === 192.168.5.0/24
May 22 06:04:16 07[CHD] <fritzbox|16> CHILD_SA net{9} state change: INSTALLING => INSTALLED
May 22 06:04:16 07[CHD] <fritzbox|16> CHILD_SA net{8} state change: REKEYING => REKEYED
May 22 06:04:16 07[IKE] <fritzbox|16> reinitiating already active tasks
womit dann wieder zwei unterschiedliche Schlüssel aktiv sind, die wechselseitig falsch verschlüsseln, weil sich die SAs unterscheiden.

Um 06:08:06 Uhr gibt es dann noch einmal eine (erfolgreiche) DPD-Message:
Rich (BBCode):
May 22 06:08:06 11[ENC] <fritzbox|16> parsed INFORMATIONAL_V1 request 2186422233 [ HASH N(DPD) ]
[...]
May 22 06:08:06 11[ENC] <fritzbox|16> generating INFORMATIONAL_V1 request 3925932221 [ HASH N(DPD_ACK) ]
und was die FRITZ!Box jetzt veranlaßt haben könnte, um 06:13:32 Uhr wieder mit einem neuen Verbindungsaufbau zu beginnen:
Rich (BBCode):
May 22 06:13:32 03[NET] received packet: from 93.133.172.168[500] to 192.168.3.19[500]
[...]
May 22 06:13:32 03[ENC] parsed a AGGRESSIVE message header
steht sicherlich im (zeitgleichen) Protokoll der Box (das war dann der Index 17 im StrongSwan). Ich wage mal die These, daß das immer noch nicht funktioniert hätte, wenn nicht zeitnah im StrongSwan die zweite SA für diese Transformation gelöscht worden wäre (das war die mit Index 16):
Rich (BBCode):
May 22 06:13:33 09[CHD] <fritzbox|17> CHILD_SA net{9} state change: REKEYING => REKEYED
[...]
May 22 06:13:42 13[IKE] <fritzbox|16> queueing ISAKMP_DELETE task
May 22 06:13:42 13[IKE] <fritzbox|16> activating new tasks
May 22 06:13:42 13[IKE] <fritzbox|16>   activating ISAKMP_DELETE task
May 22 06:13:42 13[IKE] <fritzbox|16> deleting IKE_SA fritzbox[16] between 192.168.3.19[strongswan.ddnss.de]...93.133.172.168[fritzbox.ddnss.de]
May 22 06:13:42 13[ENC] <fritzbox|16> added payload of type DELETE_V1 to message
May 22 06:13:42 13[IKE] <fritzbox|16> sending DELETE for IKE_SA fritzbox[16]
May 22 06:13:42 13[IKE] <fritzbox|16> IKE_SA fritzbox[16] state change: ESTABLISHED => DELETING
[...]
May 22 06:13:42 13[NET] <fritzbox|16> sending packet: from 192.168.3.19[4500] to 93.133.172.168[4500] (140 bytes)
[...]
May 22 06:13:42 13[IKE] <fritzbox|16> IKE_SA fritzbox[16] state change: DELETING => DESTROYING
Der Timer für die DPD-Messages bleibt aber jetzt offenbar bei 5 Minuten:
Rich (BBCode):
May 22 06:44:01 04[NET] sending packet: from 192.168.3.19[4500] to 93.133.172.168[4500]
May 22 06:49:01 03[NET] received packet: from 93.133.172.168[4500] to 192.168.3.19[4500]
[...]
May 22 06:49:01 04[NET] sending packet: from 192.168.3.19[4500] to 93.133.172.168[4500]
bis dann offenbar nichts mehr ankommt, denn eigentlich müßte um 06:54 Uhr herum ja die nächste DPD-Kommunikation erfolgen. Die SAs für Index 17 sind jedenfalls weiterhin aktiv und erst um 07:07 Uhr (das sind immerhin 18 Minuten nach der letzten erfolgreichen "dead peer detection") entschließt sich dann die FRITZ!Box, erneut eine komplett neue Verbindung aufzubauen (die kriegt dann den Index 18 im StrongSwan):
Rich (BBCode):
May 22 07:07:33 14[IKE] <18> 93.133.172.168 is initiating a Aggressive Mode IKE_SA
May 22 07:07:33 14[IKE] <18> IKE_SA (unnamed)[18] state change: CREATED => CONNECTING
wobei sie die Antwort des StrongSwan gar nicht erst abwartet und sofort noch eine weitere Verbindung (bzw. eine AGGRESSIVE-Message) nachschiebt - die kriegt dann im StrongSwan den Index 19. Witzigerweise erwartet aber der StrongSwan-Server dann erst einmal eine Reaktion auf seine Antwort für den Index 18:
Rich (BBCode):
May 22 07:07:37 06[IKE] <fritzbox|18> sending retransmit 1 of response message ID 0, seq 1
May 22 07:07:37 06[NET] <fritzbox|18> sending packet: from 192.168.3.19[4500] to 93.133.172.168[4500] (530 bytes)
[...]
May 22 07:07:44 08[IKE] <fritzbox|18> sending retransmit 2 of response message ID 0, seq 1
May 22 07:07:44 08[NET] <fritzbox|18> sending packet: from 192.168.3.19[4500] to 93.133.172.168[4500] (530 bytes)
[...]
May 22 07:07:57 05[IKE] <fritzbox|18> sending retransmit 3 of response message ID 0, seq 1
May 22 07:07:57 05[NET] <fritzbox|18> sending packet: from 192.168.3.19[4500] to 93.133.172.168[4500] (530 bytes)
[...]
May 22 07:08:03 07[JOB] <fritzbox|18> deleting half open IKE_SA with 93.133.172.168 after timeout
[...]
May 22 07:08:03 07[IKE] <fritzbox|18> IKE_SA fritzbox[18] state change: CONNECTING => DESTROYING
Zwischendrin wird aber die SA mit Index 17 noch abgräumt:
Rich (BBCode):
May 22 07:07:43 05[IKE] <fritzbox|17> queueing ISAKMP_DELETE task
[...]
May 22 07:07:43 05[IKE] <fritzbox|17>   activating ISAKMP_DELETE task
May 22 07:07:43 05[IKE] <fritzbox|17> deleting IKE_SA fritzbox[17] between 192.168.3.19[strongswan.ddnss.de]...93.133.172.168[fritzbox.ddnss.de]
[...]
May 22 07:07:43 05[IKE] <fritzbox|17> sending DELETE for IKE_SA fritzbox[17]
May 22 07:07:43 05[IKE] <fritzbox|17> IKE_SA fritzbox[17] state change: ESTABLISHED => DELETING
Danach geht es dann einigermaßen kreuz und quer (ich würde mich sehr wundern, wenn in dieser Zeitspanne tatsächlich Daten übertragen werden konnten - ab 07:24 gibt es auch keine DPD-Pakete mehr), bis um 07:48 Uhr dann die FRITZ!Box mit ihrer neuen IP-Adresse eine vollkommen neue Verbindung initiiert (die kriegt dann Index 20), die aber kurz danach wieder durch eine weitere (Index 21) ersetzt wird.

Ich empfehle Dir wirklich DRINGEND, die Weiterleitung für UDP 500 abzuschalten ... erhält die FRITZ!Box aus irgendeinem Grund eine Antwort über ein abweichendes NAT-Gateway, korrigiert sie bei sich die Adresse des Absenders (z.B. hier:
Code:
2024-05-09 05:57:49 avmike:StrongSwan: nat_t_port changed from 2.243.250.254:4500 to 93.131.32.132:4500
), wenn das Paket zu einer vorhandenen Verbindung paßt. Das wird noch lange nicht alles lösen, aber es vermeidet zusätzliche Probleme, denn das Ziel ist es ja, die FRITZ!Box dazu zu bringen, daß sie nach dem Wechsel der IP-Adresse auf der Seite des StrongSwan-Servers ebendiesen Wechsel auch erkennt und ihrerseits die Verbindung (zur neuen Adresse des Routers vor dem StrongSwan-Server) neu aufbaut. Offensichtlich klappt das aber nur, wenn sie eben KEINE Pakete von der neuen IP-Adresse erhält und wenn sie die neue IP-Adresse des Unifi-Routers nicht kennt, sollte es ihr schwerfallen, dorthin DPD-Pakete zu senden.

Ansonsten verstehe ich die Zeiten in den Protokollen irgendwie auch nicht ... kann es event. sein, daß bei Dir der Container noch mit Winterzeit protokolliert und damit 05:08 Uhr eigentlich schon 06:08 Uhr ist und zu diesem Zeitpunkt die Zwangstrennung für den Unifi-Router schon erfolgt war? Das wären dann ja nur ca. 8 Minuten, bevor die FRITZ!Box neu aufgebaut hat. Andererseits passen dann ja auch die anderen Zeitangaben wieder nicht, denn da geschieht ja tatsächlich etwas gegen 06:00 Uhr und um 07:48 Uhr. Die Gretchen-Frage wäre für mich also, was da um 05:08 Uhr (oder in den 10 Minuten davor, denn DPD-Timeout wäre nach 3 Versuchen und bei 30 Sekunden Abstand sollte das eigentlich nach 90 Sekunden erkannt werden) genau passiert ist - aber eben mit den Protokollen von BEIDEN Seiten, sonst macht das immer noch keinen Sinn.
 
Aber wenn Du ohnehin einen Server für Deine Container betreibst, könntest Du ja auch einfach das DynDNS-Update nicht direkt von der Dream Machine machen lassen, sondern einen "Proxy" damit beauftragen, der dann (neben dem eigentlichen Update) auch gleich die StrongSwan-Instanz komplett neu startet, wenn sich die externe IP-Adresse geändert hat. Das, was man an zusätzlicher Software dafür bräuchte, kriegt man problemlos auch noch mit in denselben Container, in dem StrongSwan residiert. Man braucht für die Verarbeitung des (HTTP-)Requests für das Update nicht mal einen vollwertigen HTTP-Server, da reicht schon netcat für das Starten eines Shell-Skripts aus.

Du wirst ja sicherlich auch Deine Gründe haben, warum Du für IPSec auf den StrongSwan-Container zurückgreifst und nicht gleich die IPSec-Capabilities der Dream Machine benutzt. Ich mutmaße einfach mal, daß es genau daran scheitert(e), daß normalerweise eben nicht beide Seiten eine dynamische Adresse haben dürfen. Denn IPSec (V1) sollte die meines Wissens auch beherrschen …
 
Ok, Entschuldigung, ich dachte die Streichung der Portweiterleitung sei mehr ein Nebengedanke gewesen, als eine unbedingte Anweisung. Wie auch immer, ich habe das jetzt durchgeführt und tatsächlich konnte die Fritzbox nach Zwangstrennung des Strongswans um 6.01 Uhr ohne relevante Unterbrechung um 6.04 Uhr wieder angepingt werden. Toll!

Nun aber neues Problem: Nach der Zwangstrennung der Fritz!Box kann der Tunnel nicht mehr aufgebaut werden; vielleicht klappt das Umschalten auf 4500 nicht? Die DynDNS-Adresse ist jedenfalls auf FB-Seite korrekt aktualisiert. Was ist denn dieser "CNAME=strongswan", bezieht sich das auf die DynDNS-Adresse (ohne Domain-Anhang *.ddnss.de)?
Oder muss man bei der VPN-Konfiguration der FB (ike_forward_rules = "udp 0.0.0.0:500 0.0.0.0:500", "udp 0.0.0.0:4500 0.0.0.0:4500"; ) das Forward von Port 500 auch entfernen? Auf Strongswan-Seite gibt es im Log keine Hinweis auf eine Kontaktaufnahme durch die Fritzbox-Seite.

Code:
2024-06-10 07:17:46 ikev2:< ikev2conn_delete called for cname=strongswan
2024-06-10 07:17:46 ikev2:< add(cname=strongswan,localip=78.48.104.118, remoteip=0.0.0.0, p1ss=LT8h/all/all/all, p2ss=LT8h/esp-all-all/ah-none/comp-all/no-pfs p1mode=4 flags=0x803f tunnel xauth cfgmode)
2024-06-10 07:17:51 ikev2:< ikev2conn_delete called for cname=strongswan
2024-06-10 07:17:51 ikev2:< add(cname=strongswan,localip=78.48.104.118, remoteip=0.0.0.0, p1ss=LT8h/all/all/all, p2ss=LT8h/esp-all-all/ah-none/comp-all/no-pfs p1mode=4 flags=0x803f tunnel xauth cfgmode)
2024-06-10 07:19:04 ikev2:< ikev2conn_delete called for cname=strongswan
2024-06-10 07:19:04 ikev2:< add(cname=strongswan,localip=2a02:3100:3bf4:1a00:cece:1eff:feb3:2ea, remoteip=0.0.0.0, p1ss=LT8h/all/all/all, p2ss=LT8h/esp-all-all/ah-none/comp-all/no-pfs p1mode=4 flags=0x803f tunnel xauth cfgmode)
2024-06-10 07:44:24 ikev2:<<<< rcv ip:161.35.236.116 port:36083 nat_t:1 exch_type:IKE_SA_INIT ispi:55F69E3486A76C10 rspi:0000000000000000
2024-06-10 07:44:24 ikev2:ikev2_udpserver_dgramrcv Msg from unknown peer received
2024-06-10 07:44:24 ikev2:ikev2_exchange : R_SA_INIT_RCV_REQ
2024-06-10 07:44:24 ikev2:state_r_sa_init_rcv_req failed, wrong dhgroup guess by initiator
2024-06-10 07:44:24 ikev2:state_r_sa_init_rcv_req failed
2024-06-10 07:44:24 ikev2:ikev2_exchange ->  IKEv2_STATE_R_SA_INIT_RCV_REQ FAILED
2024-06-10 07:44:24 ikev2:ikev2_exchange failed, state:IKEv2_STATE_FAILED
2024-06-10 07:44:24 ikev2:ikev2_send_packet >>> snd to: 161.35.236.116:36083
2024-06-10 07:44:24 ikev2:<<<< rcv ip:161.35.236.116 port:51221 nat_t:1 exch_type:IKE_SA_INIT ispi:C365592F64634B12 rspi:0000000000000000
2024-06-10 07:44:24 ikev2:ikev2_udpserver_dgramrcv peer found: UNKNOWN -> look up for xctx
2024-06-10 07:44:24 ikev2:ikev2_udpserver_dgramrcv peer ist bekannt, aber kein passender ctx vorhanden
2024-06-10 07:44:24 ikev2:ikev2_udpserver_dgramrcv create new ctx for IKE_SA_INIT
2024-06-10 07:44:24 ikev2:ikev2_exchange : R_SA_INIT_RCV_REQ
2024-06-10 07:44:24 ikev2:state_r_sa_init_rcv_req failed, wrong dhgroup guess by initiator
2024-06-10 07:44:24 ikev2:state_r_sa_init_rcv_req failed
2024-06-10 07:44:24 ikev2:ikev2_exchange ->  IKEv2_STATE_R_SA_INIT_RCV_REQ FAILED
2024-06-10 07:44:24 ikev2:ikev2_exchange failed, state:IKEv2_STATE_FAILED
2024-06-10 07:44:24 ikev2:ikev2_send_packet >>> snd to: 161.35.236.116:51221
2024-06-10 07:44:25 ikev2:<<<< rcv ip:161.35.236.116 port:51221 nat_t:1 exch_type:IKE_SA_INIT ispi:C365592F64634B12 rspi:0000000000000000
2024-06-10 07:44:25 ikev2:ikev2_udpserver_dgramrcv peer found: UNKNOWN -> look up for xctx
2024-06-10 07:44:25 ikev2:ikev2_udpserver_dgramrcv peer ist bekannt, aber kein passender ctx vorhanden
2024-06-10 07:44:25 ikev2:ikev2_udpserver_dgramrcv create new ctx for IKE_SA_INIT
2024-06-10 07:44:25 ikev2:ikev2_exchange : R_SA_INIT_RCV_REQ
2024-06-10 07:44:26 ikev2:ikev2_send_packet >>> snd to: 161.35.236.116:51221
2024-06-10 07:44:26 ikev2:state_r_sa_init_snd_reply ret: IKEV2_NO_ERROR
2024-06-10 07:44:26 ikev2:ikev2_exchange new state:R_SA_AUTH_RCV_REQ
2024-06-10 07:44:26 ikev2:<<<< rcv ip:161.35.236.116 port:41797 nat_t:1 exch_type:IKE_AUTH ispi:C365592F64634B12 rspi:9176D5924F10B4F9
2024-06-10 07:44:26 ikev2:ikev2_udpserver_dgramrcv peer found: UNKNOWN -> look up for xctx
2024-06-10 07:44:26 ikev2:ikev2_exchange : R_SA_AUTH_RCV_REQ
2024-06-10 07:44:26 ikev2:state_r_sa_auth_rcv_req PEER_verify_and_update failed for peer:UNKNOWN
2024-06-10 07:44:26 ikev2:state_r_sa_auth_rcv_req failed
2024-06-10 07:44:26 ikev2:ikev2_exchange failed, state:IKEv2_STATE_FAILED
2024-06-10 07:44:26 ikev2:ikev2_send_packet >>> snd to: 161.35.236.116:41797

Edit: Sobald die Portweiterleitung für Port 500 wieder aktiviert wird, baut die FB wieder einen Tunnel auf.
 
Zuletzt bearbeitet:
Woher stammt denn jetzt dieser Protokoll-Auszug? Wenn das die FRITZ!Box sein sollte, was ist das dann für ein FRITZ!OS? Warum werden da auf einmal nur IKEv2-Nachrichten protokolliert? Das gab es doch bisher in den FRITZ!Box-Protokollen noch nie zu sehen in diesem Thread.

das Forward von Port 500 auch entfernen?
Nein.
vielleicht klappt das Umschalten auf 4500 nicht?
Das hätte ich bei den Release-Versionen so noch nicht erlebt - ganz im Gegenteil. Wenn auf UDP 500 keine Antwort kommt und in der Konfiguration NAT-T aktiviert ist, dann wird (bzw. wurde) nach dem Timeout noch ein Versuch auf UDP 4500 gestartet.

tatsächlich konnte die Fritzbox nach Zwangstrennung des Strongswans um 6.01 Uhr ohne relevante Unterbrechung um 6.04 Uhr wieder angepingt werden.
Ich hoffe mal, das ist ein Scherz oder mindestens ein Mißverständnis, so wie es dort steht.

Denn ich dachte eigentlich, daß meine Zusammenfassung des (Zwischen-)Ziels deutlich genug wäre, daß da eben KEIN UNNÖTIGER Traffic vom StrongSwan an die FRITZ!Box gehen sollte (denn dann könnte wieder seitens der Box erkannt werden, daß sich die Adresse des Peers geändert hat) und da wäre ein dauerhaftes ping von der StrongSwan-Seite ja nun das glatte Gegenteil dessen.
 
Ups! Stimmt. Ich habe die FB jetzt mal von 7.57 auf 7.59 geupdated und dadurch auch einen Neustart durch geführt. Hier die Support-Datei für IKEv1:
Code:
VPN IKEv1
---------
-rw-r--r--    1 root     root          3856 Jun 10 19:10 /var/tmp/ike.log
-rw-r--r--    1 root     root         20489 Jun 10 19:09 /var/tmp/ike.old
1970-01-01 01:02:20 avmike:< add(appl=vpnd,cname=StrongSwan,localip=78.48.199.104, remoteip=255.255.255.255, p1ss=all/all/all, p2ss=esp-all-all/ah-none/comp-all/pfs p1mode=4 keepalive_ip=192.168.3.1 flags=0x48001 tunnel no_xauth no_cfgmode nat_t no_certsrv_server_auth)
1970-01-01 01:02:20 avmike:new neighbour StrongSwan:  nat_t
1970-01-01 01:02:20 avmike:StrongSwan keepalive enabled
1970-01-01 01:02:20 avmike:StrongSwan start_vpn_keepalive 192.168.3.1
1970-01-01 01:02:20 avmike:< create_sa(appl=vpnd,cname=StrongSwan)
1970-01-01 01:02:20 avmike:StrongSwan: Phase 1 starting
1970-01-01 01:02:20 avmike:>>> aggressive mode [77.177.11.34] StrongSwan: V1.0 710 IC d7f8d3abd955529d RC 00000000 0000 SA flags=
2024-06-10 19:02:17 avmike:>r> aggressive mode [77.177.11.34] StrongSwan: V1.0 710 IC d7f8d3abd955529d RC 00000000 0000 SA flags=
2024-06-10 19:02:20 avmike:< ikeconn_delete called for cname=StrongSwan
2024-06-10 19:02:20 avmike:free_connection called for cname=StrongSwan
2024-06-10 19:02:20 avmike:< add(appl=vpnd,cname=StrongSwan,localip=78.48.199.104, remoteip=255.255.255.255, p1ss=all/all/all, p2ss=esp-all-all/ah-none/comp-all/pfs p1mode=4 keepalive_ip=192.168.3.1 flags=0x48001 tunnel no_xauth no_cfgmode nat_t no_certsrv_server_auth)
2024-06-10 19:02:20 avmike:new neighbour StrongSwan:  nat_t
2024-06-10 19:02:20 avmike:StrongSwan keepalive enabled
2024-06-10 19:02:20 avmike:StrongSwan start_vpn_keepalive 192.168.3.1
2024-06-10 19:02:20 avmike:< create_sa(appl=vpnd,cname=StrongSwan)
2024-06-10 19:02:20 avmike:StrongSwan: Phase 1 starting
2024-06-10 19:02:20 avmike:>>> aggressive mode [77.177.11.34] StrongSwan: V1.0 710 IC a7a3a51de02d4a72 RC 00000000 0000 SA flags=
2024-06-10 19:02:22 avmike:>r> aggressive mode [77.177.11.34] StrongSwan: V1.0 710 IC a7a3a51de02d4a72 RC 00000000 0000 SA flags=
2024-06-10 19:02:25 avmike:< ikeconn_delete called for cname=StrongSwan
2024-06-10 19:02:25 avmike:free_connection called for cname=StrongSwan
2024-06-10 19:02:25 avmike:< add(appl=vpnd,cname=StrongSwan,localip=78.48.199.104, remoteip=255.255.255.255, p1ss=all/all/all, p2ss=esp-all-all/ah-none/comp-all/pfs p1mode=4 keepalive_ip=192.168.3.1 flags=0x48001 tunnel no_xauth no_cfgmode nat_t no_certsrv_server_auth)
2024-06-10 19:02:25 avmike:new neighbour StrongSwan:  nat_t
2024-06-10 19:02:25 avmike:StrongSwan keepalive enabled
2024-06-10 19:02:25 avmike:StrongSwan start_vpn_keepalive 192.168.3.1
2024-06-10 19:02:25 avmike:< create_sa(appl=vpnd,cname=StrongSwan)
2024-06-10 19:02:25 avmike:StrongSwan: Phase 1 starting
2024-06-10 19:02:25 avmike:>>> aggressive mode [77.177.11.34] StrongSwan: V1.0 710 IC feb4dc46abd52ce4 RC 00000000 0000 SA flags=
2024-06-10 19:02:27 avmike:>r> aggressive mode [77.177.11.34] StrongSwan: V1.0 710 IC feb4dc46abd52ce4 RC 00000000 0000 SA flags=
2024-06-10 19:02:31 avmike:>r> aggressive mode [77.177.11.34] StrongSwan: V1.0 710 IC feb4dc46abd52ce4 RC 00000000 0000 SA flags=
2024-06-10 19:02:39 avmike:StrongSwan: Phase 1 failed (initiator): timeout, checking ip address
2024-06-10 19:02:41 avmike:< create_sa(appl=vpnd,cname=StrongSwan)
2024-06-10 19:02:41 avmike:StrongSwan: Phase 1 starting
2024-06-10 19:02:41 avmike:>>> aggressive mode [77.177.11.34] StrongSwan: V1.0 710 IC e5b7d28c1130a03c RC 00000000 0000 SA flags=
2024-06-10 19:02:43 avmike:>r> aggressive mode [77.177.11.34] StrongSwan: V1.0 710 IC e5b7d28c1130a03c RC 00000000 0000 SA flags=
2024-06-10 19:02:47 avmike:>r> aggressive mode [77.177.11.34] StrongSwan: V1.0 710 IC e5b7d28c1130a03c RC 00000000 0000 SA flags=
2024-06-10 19:02:55 avmike:StrongSwan: Phase 1 failed (initiator): timeout, checking ip address
2024-06-10 19:02:55 avmike:< create_sa(appl=vpnd,cname=StrongSwan)
2024-06-10 19:02:55 avmike:StrongSwan: Phase 1 starting
2024-06-10 19:02:55 avmike:>>> aggressive mode [77.177.11.34] StrongSwan: V1.0 710 IC 9d43cf59a74cd317 RC 00000000 0000 SA flags=
2024-06-10 19:02:57 avmike:>r> aggressive mode [77.177.11.34] StrongSwan: V1.0 710 IC 9d43cf59a74cd317 RC 00000000 0000 SA flags=
2024-06-10 19:03:01 avmike:>r> aggressive mode [77.177.11.34] StrongSwan: V1.0 710 IC 9d43cf59a74cd317 RC 00000000 0000 SA flags=
2024-06-10 19:03:09 avmike:StrongSwan: Phase 1 failed (initiator): timeout, checking ip address
2024-06-10 19:03:10 avmike:< create_sa(appl=vpnd,cname=StrongSwan)
2024-06-10 19:03:10 avmike:StrongSwan: Phase 1 starting
2024-06-10 19:03:10 avmike:>>> aggressive mode [77.177.11.34] StrongSwan: V1.0 710 IC e16bf79674270f2 RC 00000000 0000 SA flags=
2024-06-10 19:03:12 avmike:>r> aggressive mode [77.177.11.34] StrongSwan: V1.0 710 IC e16bf79674270f2 RC 00000000 0000 SA flags=
2024-06-10 19:03:16 avmike:>r> aggressive mode [77.177.11.34] StrongSwan: V1.0 710 IC e16bf79674270f2 RC 00000000 0000 SA flags=
2024-06-10 19:03:24 avmike:StrongSwan: Phase 1 failed (initiator): timeout, checking ip address
2024-06-10 19:03:25 avmike:< create_sa(appl=vpnd,cname=StrongSwan)
2024-06-10 19:03:25 avmike:StrongSwan: Phase 1 starting
2024-06-10 19:03:25 avmike:>>> aggressive mode [77.177.11.34] StrongSwan: V1.0 710 IC ced5df2ee30520ed RC 00000000 0000 SA flags=
2024-06-10 19:03:27 avmike:>r> aggressive mode [77.177.11.34] StrongSwan: V1.0 710 IC ced5df2ee30520ed RC 00000000 0000 SA flags=
2024-06-10 19:03:30 avmike:< ikeconn_delete called for cname=StrongSwan
2024-06-10 19:03:30 avmike:free_connection called for cname=StrongSwan
2024-06-10 19:03:30 avmike:< add(appl=vpnd,cname=StrongSwan,localip=78.48.199.104, remoteip=255.255.255.255, p1ss=all/all/all, p2ss=esp-all-all/ah-none/comp-all/pfs p1mode=4 keepalive_ip=192.168.3.1 flags=0x48001 tunnel no_xauth no_cfgmode nat_t no_certsrv_server_auth)
2024-06-10 19:03:30 avmike:new neighbour StrongSwan:  nat_t
2024-06-10 19:03:30 avmike:StrongSwan keepalive enabled
2024-06-10 19:03:30 avmike:StrongSwan start_vpn_keepalive 192.168.3.1
2024-06-10 19:03:30 avmike:< create_sa(appl=vpnd,cname=StrongSwan)

Es bleibt also dabei, dass ohne Weiterleitung für Port 500 kein VPN aufgebaut werden kann. Aber der Tunnelaufabau nach Zwangstrennung auf StrongSwan-Seite scheint zu funktionieren (zumindest hat das heute morgen den Eindruck gemacht).

[Edit Novize: Beiträge zusammengefasst - siehe Forumsregeln]
[Edit Novize: Überflüssiges Fullquote des Beitrags direkt darüber gelöscht - siehe Forumsregeln]


Ich lasse ständig pingen, um die VPN-Verbindung zu überprüfen und logge das dann. Ok, Ping ist jetzt abgestellt. Ich weiß allerdings nicht, wie ich jetzt die Funktionstüchtigkeit des Tunnels überprüfen kann.
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.