IOS mobiler Zugriff über IKEv2 und EAP-MSChapv2 [GELÖST]



  • Hi,
    ich bin neu hier im Forum, habe jedoch hier schon einiges nützliche gelesen.

    Meine PfSense ist auf einem alten Rechner aufgesetzt und alles läuft einwandfrei.
    Vorgeschaltet ist eine Fritz!Box, in der die PfSense als Exposed Host eingetragen ist.

    Nun habe ich folgendes Problem:
    Ich habe ein VPN eingerichtet mit IKEv2 und EAP-MSChapv2.
    Der Zugriff über das VPN von aussen klappt einwandfrei mit einem Win7 oder Win10 PC, und ebenfalls mit dem iPhone wenn sich dieses in einem fremden WLAN befindet.
    Wenn ich jedoch am iPhone gerade kein WLAN habe und mich über 3G/LTE verbinden will, kommt keine Verbindung zustande. Sollte das nicht eigentlich das selbe sein?

    Vielen Dank!

    Hier noch der Log zum Zeitpunkt des Verbindungsaufbaus mit iPhone über 3G/LTE:

    May 12 10:28:43	charon		14[NET] <14> received packet: from 80.187.97.89[500] to 10.11.1.2[500] (604 bytes)
    May 12 10:28:43	charon		14[ENC] <14> parsed IKE_SA_INIT request 0 [ SA KE No N(REDIR_SUP) N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) ]
    May 12 10:28:43	charon		14[IKE] <14> 80.187.97.89 is initiating an IKE_SA
    May 12 10:28:43	charon		14[IKE] <14> local host is behind NAT, sending keep alives
    May 12 10:28:43	charon		14[IKE] <14> remote host is behind NAT
    May 12 10:28:43	charon		14[IKE] <14> DH group MODP_2048 inacceptable, requesting MODP_1024
    May 12 10:28:43	charon		14[ENC] <14> generating IKE_SA_INIT response 0 [ N(INVAL_KE) ]
    May 12 10:28:43	charon		14[NET] <14> sending packet: from 10.11.1.2[500] to 80.187.97.89[500] (38 bytes)
    May 12 10:28:46	charon		14[NET] <15> received packet: from 80.187.97.89[500] to 10.11.1.2[500] (604 bytes)
    May 12 10:28:46	charon		14[ENC] <15> parsed IKE_SA_INIT request 0 [ SA KE No N(REDIR_SUP) N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) ]
    May 12 10:28:46	charon		14[IKE] <15> 80.187.97.89 is initiating an IKE_SA
    May 12 10:28:46	charon		14[IKE] <15> local host is behind NAT, sending keep alives
    May 12 10:28:46	charon		14[IKE] <15> remote host is behind NAT
    May 12 10:28:46	charon		14[IKE] <15> DH group MODP_2048 inacceptable, requesting MODP_1024
    May 12 10:28:46	charon		14[ENC] <15> generating IKE_SA_INIT response 0 [ N(INVAL_KE) ]
    May 12 10:28:46	charon		14[NET] <15> sending packet: from 10.11.1.2[500] to 80.187.97.89[500] (38 bytes)
    May 12 10:28:49	charon		16[NET] <16> received packet: from 80.187.97.89[500] to 10.11.1.2[500] (604 bytes)
    May 12 10:28:49	charon		16[ENC] <16> parsed IKE_SA_INIT request 0 [ SA KE No N(REDIR_SUP) N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) ]
    May 12 10:28:49	charon		16[IKE] <16> 80.187.97.89 is initiating an IKE_SA
    May 12 10:28:49	charon		16[IKE] <16> local host is behind NAT, sending keep alives
    May 12 10:28:49	charon		16[IKE] <16> remote host is behind NAT
    May 12 10:28:49	charon		16[IKE] <16> DH group MODP_2048 inacceptable, requesting MODP_1024
    May 12 10:28:49	charon		16[ENC] <16> generating IKE_SA_INIT response 0 [ N(INVAL_KE) ]
    May 12 10:28:49	charon		16[NET] <16> sending packet: from 10.11.1.2[500] to 80.187.97.89[500] (38 bytes)
    May 12 10:28:52	charon		16[NET] <17> received packet: from 80.187.97.89[500] to 10.11.1.2[500] (604 bytes)
    May 12 10:28:52	charon		16[ENC] <17> parsed IKE_SA_INIT request 0 [ SA KE No N(REDIR_SUP) N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) ]
    May 12 10:28:52	charon		16[IKE] <17> 80.187.97.89 is initiating an IKE_SA
    May 12 10:28:52	charon		16[IKE] <17> local host is behind NAT, sending keep alives
    May 12 10:28:52	charon		16[IKE] <17> remote host is behind NAT
    May 12 10:28:52	charon		16[IKE] <17> DH group MODP_2048 inacceptable, requesting MODP_1024
    May 12 10:28:52	charon		16[ENC] <17> generating IKE_SA_INIT response 0 [ N(INVAL_KE) ]
    May 12 10:28:52	charon		16[NET] <17> sending packet: from 10.11.1.2[500] to 80.187.97.89[500] (38 bytes)
    


  • 1. Wenn du pfSense nur für VPN nutzt reicht es wenn du in der Fritzbox die UDP Ports 4500 und 500 und das ESP Protokoll zur pfSense weiterreichst.

    2. Anhand des Fehlers sieht man, dass deine Verschlüsselungseinstellung nicht passen (Falsche Verschlüsselung mit DH Group MODP 2048 = PFS). Er erwartet in deinem Fall eine Verschlüsselung in der Gruppe 1024.

    Nimm die Verschlüsselungseinstellungen, damit sollte es mit allen Clients gehen:

    Phase 1: AES 256 mit SHA256 und DH Group 14
    Phase 2: AES 128 mit SHA1 und DH Group OFF (PFS Security Group)

    Für dein Heimnetzwerk wirst du kein PFS in der Phase 2 benötigen. Falls es dich interessiert Google nach Diffie Hellmann

    Schau auch hier:

    https://doc.pfsense.org/index.php/IKEv2_with_EAP-MSCHAPv2



  • Danke, ich werde das im Lauf des Tages versuchen.

    Mich irritiert nur immer noch, dass es aus einem WLAN heraus funktioniert. Gibt es dafür irgendeine Erklärung?



  • Das kann ich mir ebenfalls nicht erklären, denn dein Problem besteht bei der Initialisierung der IKE-Verbindung:

    IKE_SA_INIT wegen nicht akzeptabler MODP-Gruppe (Diffie Hellmann Verschlüsselung)

    Sowohl fremdes WLAN (also ebenfalls über das Internet) und LTE liegen ja auf anderen Subnetzen, daher macht es in der Sache keinen Unterschied.



  • Wie dem auch sei…

    Mit dem iPhone funktioniert es jetzt wie gewollt.
    Jedoch macht mir jetzt Windows Probleme.
    Sehe ich das richtig, dass Windows jetzt MODP_1024 verlangt?
    Bekomme ich das irgendwie unter einen Hut?

    Tut mir Leid, bin in Sachen VPN noch nicht so sehr bewandert, aber langsam wird's schon  ;D

    May 13 12:35:00	charon		07[NET] <12> received packet: from 80.187.103.66[29634] to 10.11.1.2[500] (528 bytes)
    May 13 12:35:00	charon		07[ENC] <12> parsed IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) ]
    May 13 12:35:00	charon		07[IKE] <12> 80.187.103.66 is initiating an IKE_SA
    May 13 12:35:00	charon		07[CFG] <12> [b]received proposals: IKE:3DES_CBC/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_1024, IKE:AES_CBC_256/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_1024, IKE:3DES_CBC/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_1024, IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_1024, IKE:3DES_CBC/HMAC_SHA2_384_192/PRF_HMAC_SHA2_384/MODP_1024, IKE:AES_CBC_256/HMAC_SHA2_384_192/PRF_HMAC_SHA2_384/MODP_1024[/b]
    May 13 12:35:00	charon		07[CFG] <12> [b]configured proposals: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048[/b]
    May 13 12:35:00	charon		07[IKE] <12> local host is behind NAT, sending keep alives
    May 13 12:35:00	charon		07[IKE] <12> remote host is behind NAT
    May 13 12:35:00	charon		07[IKE] <12> [b]received proposals inacceptable[/b]
    May 13 12:35:00	charon		07[ENC] <12> generating IKE_SA_INIT response 0 [ N(NO_PROP) ]
    May 13 12:35:00	charon		07[NET] <12> sending packet: from 10.11.1.2[500] to 80.187.103.66[29634] (36 bytes)
    


  • Ok soweit so gut, nun scheint aber Windows nicht mitzumachen, wie du schon richtig siehst.
    Entschuldige, ich habe nur Linux und Android sowie OSX und iOS mit VPN im Betrieb und da funktioniert meine Konfig ohne Probleme.

    Soweit ich als akzeptierte Methoden (received proposals) von Windows entnehme, müsstest du auch in der Phase 1 PFS deaktivieren, dann sollte es gehen. PFS ist für die Verschlüsselung nicht zwingend, es erhöht nur die Sicherheit in der Nachverfolgung, aber bei AES128 oder 256 als Verschlüsselung solltest du mehr als abgesichert sein. Wenn dich jemand angreift der dort Lücken kennt oder die Rechenpower hat dies Brutforce zu knacken, hast du ganz andere Probleme ;D



  • Wo finde ich diese Option?

    Ich kann dazu nur diese hier finden:
    Provide the Phase2 PFS group to clients ( overrides all mobile phase2 settings)

    Die DH Group kann ich in Phase 1 nicht auf off setzen.



  • Hallo, ja stimmt "DH Group" bei Phase 1 lässt sich nicht auf Off setzen.
    Probiere doch mal ein paar DH Groups aus und wenn eine mit Windows laufen sollte versuchst du es mit iOS.

    Wenn du es wirklich allseits kompatibel haben möchtest solltest du den OpenVPN Server versuchen, der ebenfalls in pfSense vorinstalliert ist. Da gibts auch Clients für alle Betriebssysteme https://openvpn.net/
    Installiere dir hierfür aber vorher in den pfSense Packages das OpenVPN-Export Utility, damit kannst du Profile ganz einfach auf den PC exportieren. Diese .ovpn Datei dann einfach per E-Mail auf den Account schicken, bei dem du auch mit dem iPhone Zugriff hast und über Apple Mail kannst du es dann in die App importieren, die du vorher aus dem App Store geladen hast.



  • Ja, mit OpenVPN habe ich meine ersten Versuche gemacht und hat auch auf Anhieb einwandfrei funktioniert.
    Ich hätte die ganze Geschichte nur gern ohne zusätzliche Software/Apps gelöst, damit ich nicht auf allen Geräten (und auch bei Freunden die Zugriff bekommen sollen) noch etwas installieren muss.

    Ich werde morgen noch etwas rumprobieren ob ich irgendeinen gemeinsamen Nenner finde den iOS und Windows mitmachen, andernfalls werde ich wohl doch bei OpenVPN bleiben.
    Wenns doch mit IKEv2 klappen sollte, werde ich hier noch eine Zusammenfassung posten, da ich im Internet noch nichts gefunden habe (sowohl in Englisch als auch auf Deutsch), das mir hier weitergeholfen hätte.



  • Also im Strongswan Wiki ist zu lesen dass Windows ein e n 1024 key erwartet:

    https://wiki.strongswan.org/projects/strongswan/wiki/Windows7

    Siehe auch:

    https://forum.pfsense.org/index.php?topic=110790.0

    Soweit ich sehe gibt es aber einen offiziellen workaround für Windows, siehe 2.2.2.2:

    http://download.microsoft.com/download/A/9/F/A9FD7E2D-023B-4925-A62F-58A7F1A6BD47/Microsoft Windows 8 Windows Server 2012 Supplemental Admin Guidance IPsec VPN Client.docx

    Nach den Modifikationen sollte meine ursprüngliche Konfiguration mit OsX/iOS und Windows gehen.
    Wäre gut wenn du das testest und das Ergebnis postest



  • Also, ich habe es selbst probiert und nun klappt VPN mit Bordmitteln mit iOS / OSX / Windows 10 und Android (StrongSwanClient):

    Man muss wie in dem verlinkten Artikel oben beschrieben unter Windows 7 / 10 den DWORD Eintrag mit dem Wert 1 vornehmen.

    In den IPSec Einstellungen, dann

    Phase 1: AES 256 + SHA256 + DH14
    Phase 2: AES 256 + SHA256 + DH Off

    So klappts auch mit der Nachbarin ;D



  • Sorry für die späte Antwort.

    Ich habe es nun gerade probiert.
    Nach der Änderung in der Windows Registry konnte ich mit den von dir zuletzt genannten Einstellungen keine Verbindung aufbauen.

    Phase 1: AES 256 + SHA256 + DH14
    Phase 2: AES 256 + SHA256 + DH Off

    Jedoch mit den von dir anfänglich vorgeschlagenenen Einstellungen:
    Phase 1: AES256 + SHA256 + DH14
    Phase 2: AES128 + SHA1 + DH Off

    Vielen Dank in jedem Fall für eure Hilfe, hat mir sehr geholfen!



  • Ok, die von mir genannten Einstellungen hatten bei mir funktioniert. Wenn du AES256 bei Phase 2 möchtest, dann wähle dies aus und markiere SHA1+SHA256. Ansonsten ist AES128 auch völlig ausreichend.


Log in to reply