lcer00
Goto Top

IPSec VPN Problem Apple vs NAT

Hallo zusammen,

ich versuche gerade ein IPSec VPN für mein iPhone 13 auf meiner OPNsense einzurichten. Das klappt nicht. Wegen eines Timeouts wird die Verbindung beendet.

2023-02-21T13:47:56	Informational	charon	15[JOB] <con1|4> deleting half open IKE_SA with 80.187.116.122 after timeout	
2023-02-21T13:47:46	Informational	charon	06[IKE] <con1|4> sending keep alive to iPhone-IP[30353]	
2023-02-21T13:47:26	Informational	charon	07[NET] <con1|4> sending packet: from 172.20.0.254[4500] to iPhone-IP[30353] (836 bytes)	
2023-02-21T13:47:26	Informational	charon	07[NET] <con1|4> sending packet: from 172.20.0.254[4500] to iPhone-IP[30353] (1236 bytes)	
2023-02-21T13:47:26	Informational	charon	07[ENC] <con1|4> generating IKE_AUTH response 1 [ EF(2/2) ]	
2023-02-21T13:47:26	Informational	charon	07[ENC] <con1|4> generating IKE_AUTH response 1 [ EF(1/2) ]	
2023-02-21T13:47:26	Informational	charon	07[ENC] <con1|4> splitting IKE message (2000 bytes) into 2 fragments	
2023-02-21T13:47:26	Informational	charon	07[ENC] <con1|4> generating IKE_AUTH response 1 [ IDr CERT AUTH EAP/REQ/ID ]	
2023-02-21T13:47:26	Informational	charon	07[IKE] <con1|4> sending end entity cert "C=DE, ..... CN=XX"	  
2023-02-21T13:47:26	Informational	charon	07[IKE] <con1|4> authentication of 'XX' (myself) with RSA signature successful  

Leider gibt es kein iPhone-Log (oder ich komme nicht heran ...)

Die OPNsense befindet sich hinter einer Bintec be.ip. Die be.ip macht NAT, die OPNSense nicht. Ich habe auf dem Bintec eingehende NAT-Regeln für ESP, UDP:500 und UDP:4500 erstellt. Firewallregeln sind auf beiden entsprechend eingestellt.

Wireshark auf dem WAN-Interfcae des Bintec zeigt folgendes:
No.	Time	Source	Destination	Source Port	Dest Port	Length	Info
312	1.568000	iPhone-IP	WAN-IP	500	500	634	IKE_SA_INIT MID=00 Initiator Request
313	1.572000	WAN-IP	iPhone-IP	500	500	68	IKE_SA_INIT MID=00 Responder Response
323	1.632000	iPhone-IP	WAN-IP	500	500	442	IKE_SA_INIT MID=00 Initiator Request
324	1.636000	WAN-IP	iPhone-IP	500	500	294	IKE_SA_INIT MID=00 Responder Response
330	1.760000	iPhone-IP	WAN-IP	30353	4500	530	IKE_AUTH MID=01 Initiator Request
331	1.768000	WAN-IP	iPhone-IP	4500	30353	1270	IKE_AUTH MID=01 Responder Response (fragment 1/2)
332	1.768000	WAN-IP	iPhone-IP	4500	30353	870	IKE_AUTH MID=01 Responder Response (fragment 2/2)

Da geht also etwas rein und raus. Ich suche den Fehler gerade in den Einstellungen für das eingebaute Apple-IPSec, möchte aber ausschließen, dass ich ein Netzwerkproblem habe. Z.B. bin ich mir nicht sicher, ob ich etwa ausgehende NAT-Regeln benötige. Ich habe keine (ausser Globales NAT für die Bintec-WAN Schnittstelle aktiviert) konfiguriert.

Oder benötige ich für den Quellport 4500 noch eine eingehende Regel? Das habe ich so nirgendwo gefunden, sieht aber so aus oder? nee sieht nicht so aus face-smile

Grüße

lcer

Content-Key: 6083036259

Url: https://administrator.de/contentid/6083036259

Printed on: April 28, 2024 at 06:04 o'clock

Member: aqui
aqui Feb 22, 2023 updated at 08:53:56 (UTC)
Goto Top
Wenn du eine Kaskade betreibst und das Koppelnetz eine RFC1918 Adressierung hat muss der Haken am WAN Port bei "Block RFC1918 networks" raus. Ansonsten ist nichts zu machen weil die OPNsense in der Regel die drei IPsec Ports bei Aktivierung der Funktion automatisch am WAN Port freigibt.
Ich habe auf dem Bintec eingehende NAT-Regeln für ESP, UDP:500 und UDP:4500 erstellt
Was genau sollen "NAT Regeln" sein?? Oder meinst du damit ggf. Port Forwarding?
Port Forwarding wäre richtig, denn der Bintec muss diesen eingehenden Traffic an die WAN IP Adresse der OPNsense forwarden. Siehe dazu auch hier.
Wichtig ist hier das sämtliche IPsec VPN Funktionen auf dem Bintec deaktiviert sind!! Der Bintec ist selber IPsec VPN Router und wenn dort etwas diesbezüglich aktiviert ist findet dort KEIN Port Forwarding des IPsec Protokolls statt. (Klar, denn dann "denkt" der Bintec dieser Traffic ist immer für ihn selber)
Ideal wäre es denn du das mit der Paket Capture Funktion der OPNsense einmal überprüfst indem du am WAN Port der Firewall diesen Traffic mitsnifferst und dir das im Wireshark ansiehst.

Du kannst ja oben sehen das IKE/ISAKMP Frames am WAN Port der FW ankommen und die OPNsense auch richtig antwortet auf diesen Request. Die Antwort der FW kommt aber scheinbar nicht am iPhone an, denn dieses schickt immer und immer wieder ISAKMP Requests zum Tunnelaufbau.
Irgendwas stimmt also mit der Strecke WAN Port OPNsense zu Bintec Internet nicht.

Generell funktioniert ein IKEv2 VPN mit den iPhones und OPNsense völlig fehlerfrei wenn du nach den hiesigen Tutorials vorgehst. Auch natürlich in einem Kaskaden Setup.
OPNSense VPN IKEv2. läuft einfach nicht
IPsec IKEv2 VPN für mobile Benutzer auf der pfSense oder OPNsense Firewall einrichten
Member: lcer00
lcer00 Feb 22, 2023 at 08:58:06 (UTC)
Goto Top
Hallo,
Zitat von @aqui:

Wenn du eine Kaskade betreibst und das Koppelnetz eine RFC1918 Adressierung hat muss der Haken am WAN Port bei "Block RFC1918 networks" raus. Ansonsten ist nichts zu machen weil die OPNsense in der Regel die drei IPsec Ports bei Aktivierung der Funktion automatisch am WAN Port freigibt.
Ich habe auf dem Bintec eingehende NAT-Regeln für ESP, UDP:500 und UDP:4500 erstellt
Was genau sollen "NAT Regeln" sein?? Oder meinst du damit ggf. Port Forwarding?
Port-Forwarding.
Wichtig ist hier das sämtliche IPsec VPN Funktionen auf dem Bintec deaktiviert sind!! Der Bintec ist selber IPsec VPN Router und wenn dort etwas diesbezüglich aktiviert ist findet dort KEIN Port Forwarding des IPsec Protokolls statt. (Klar, denn dann "denkt" der Bintec dieser Traffic ist immer für ihn selber)
Ich habe das deaktiviert und die gesamte IPSec-Konfig des Bintecs gelöscht. Allerdings habe ich danach keinen Reboot gemacht, das werde ich nochmal versuchen, da es da in der Vergangenheit öfter Probleme bei Bintec gab.
Ideal wäre es denn du das mit der Paket Capture Funktion der OPNsense einmal überprüfst indem du am WAN Port der Firewall diesen Traffic mitsnifferst und dir das im Wireshark ansiehst.
mache ich nach dem Reboot.
Du kannst ja oben sehen das IKE/ISAKMP Frames am WAN Port der FW ankommen und die OPNsense auch richtig antwortet auf diesen Request. Die Antwort der FW kommt aber scheinbar nicht am iPhone an, denn dieses schickt immer und immer wieder ISAKMP Requests zum Tunnelaufbau.
Irgendwas stimmt also mit der Strecke WAN Port OPNsense zu Bintec Internet nicht.
Generell funktioniert ein IKEv2 VPN mit den iPhones und OPNsense völlig fehlerfrei wenn du nach den hiesigen Tutorials vorgehst. Auch natürlich in einem Kaskaden Setup.
Die Tutorials habe ich natürlich gelesen face-smile.

Grüße

lcer
Member: lcer00
lcer00 Feb 22, 2023 at 09:23:03 (UTC)
Goto Top
Hallo,

reboot erfolgt....

hier der Trace vom WAN interface der OPNSense
No.	Time	Source	Destination	Source Port	Dest Port	Length	Info
59	1.166253	iPhone-IP	172.20.0.254	500	500	646	IKE_SA_INIT MID=00 Initiator Request
60	1.168162	172.20.0.254	iPhone-IP	500	500	80	IKE_SA_INIT MID=00 Responder Response
67	1.270440	iPhone-IP	172.20.0.254	500	500	454	IKE_SA_INIT MID=00 Initiator Request
68	1.272368	172.20.0.254	iPhone-IP	500	500	306	IKE_SA_INIT MID=00 Responder Response
71	1.468226	iPhone-IP	172.20.0.254	20672	4500	542	IKE_AUTH MID=01 Initiator Request
72	1.476651	172.20.0.254	iPhone-IP	4500	20672	1282	IKE_AUTH MID=01 Responder Response (fragment 1/2)
73	1.476701	172.20.0.254	iPhone-IP	4500	20672	882	IKE_AUTH MID=01 Responder Response (fragment 2/2)
Das deckt sich mit dem WAN-Interface des bintec. Also funktioniert das Port-Forwarding.

Die beiden letzten Frames "Responder Response" werden vom iPhone offenbar nicht beantwortet. Also liegt da wohl das Problem. Ich schaue mir da nochmal die Config und die Zertifikate an.

Grüße

lcer
Member: aqui
aqui Mar 08, 2023 at 13:50:14 (UTC)
Goto Top
Denk dran das Apple in P1 und P2 immer DH14 in den Krypto Credentials vorgibt. Ansonsten kommt der Tunnel nicht zustande.

Ansonsten wenn es das war bitte deinen Thread hier dann auch als erledigt schliessen!