OPNsense IPsec (IKEv2) funktioniert nicht über PPPoE
Bin seit kurzem Besitzer einer "Appliance" auf Basis Intel N100 mit 4x Gb-LAN. Darauf habe ich mir OPNsense 23.7 gezogen und angefangen einzurichten. Ich möchte Win10/11 und Android 13 per VPN anbinden und würde dabei gern zusätzliche Software vermeiden, also lieber mit Bordmitteln arbeiten. Ich habe gestern mehrere Stunden verschiedene Anleitungen (u.a. von @aqui) gelesen und versucht letztlich auch IPsec zum Laufen zu bringen.
Nachdem gestern nichts mehr ging, habe ich heute alles nochmal platt gemacht und nur ein Minimalsetup auf der OPNsense gefahren. Mittels der Anleitung IPsec IKEv2 VPN für mobile Benutzer auf der pfSense oder OPNsense Firewall einrichten von aqui habe ich dabei auch endlich (zumindest erstmal von einem Win 10 aus) das VPN zum Laufen bekommen.
Musste dabei aber etwas tricksen. Ich habe das WAN Interface auf eine feste IP 192.168.2.1 gesetzt und die Häkchen bei Block private network rausnehmen müssen. Das Serverzertifikat enthielt dabei als Alternate CN den Hostname des OPNsense sowie die IP 192.168.2.1. Meinen Laptop habe ich dann direkt an WAN angeschlossen und konnte von Win 10 (22H2) eine VPN-Verbindung zu dieser IP aufbauen.
Nun die Herausforderung. Ich nutze Glasfaser der Telekom. Dazu habe ich WAN wieder auf DHCP umgestellt, ein VLAN 7 auf das WAN aufgesetzt, sowie ein PPPoE Device auf das VLAN 7 draufgesetzt. Ich muss die PPPoE Daten eingeben, ist im Kundencenter so eingestellt, bekomme auch jedes mal eine neue IPv4. Soweit erstmal kein Problem für mich, das Internet läuft ja damit, die OPNsense kommt ins Netz.
Nun habe ich ein neues Server-Zertifikat ausgestellt, was neben dem Hostname der OPNsense jetzt auch die öffentliche IPv4 enthielt, nachdem der Router online gegangen war. Im IPsec habe ich das Interface dann noch von WAN auf das PPPoE Device geändert und den IPsec Dienst neu gestartet.
Aber es läuft nicht. Ich gebe als Ziel jeweils die öffentliche IPv4 ein, so dass der Common Name des Zertifikats passen müsste. Das scheint auch erstmal zu funktionieren, weil Windows mir sonst "IKE-Authentifizierung-Anmeldeinformationen sind nicht akzeptabel" ausgeben würde. Stattdessen erhalte ich als Fehler "Ungültiges Aufkommen erhalten"/"Invalid payload received". Und ich weiß nicht weiter. In Phase 2 sind alle Algorithmen (SHA1/256/384/512) aktiviert. Die Firewallregeln werden auch automatisch auf dem PPPoE Device angelegt. Auf Android erhalte ich auch nur lapidar den Fehler "Nicht erfolgreich".
Vllt. hat hier noch jemand ein Weihnachtsgeschenk für mich und erlöst mich von dieser Qual
Nachdem gestern nichts mehr ging, habe ich heute alles nochmal platt gemacht und nur ein Minimalsetup auf der OPNsense gefahren. Mittels der Anleitung IPsec IKEv2 VPN für mobile Benutzer auf der pfSense oder OPNsense Firewall einrichten von aqui habe ich dabei auch endlich (zumindest erstmal von einem Win 10 aus) das VPN zum Laufen bekommen.
Musste dabei aber etwas tricksen. Ich habe das WAN Interface auf eine feste IP 192.168.2.1 gesetzt und die Häkchen bei Block private network rausnehmen müssen. Das Serverzertifikat enthielt dabei als Alternate CN den Hostname des OPNsense sowie die IP 192.168.2.1. Meinen Laptop habe ich dann direkt an WAN angeschlossen und konnte von Win 10 (22H2) eine VPN-Verbindung zu dieser IP aufbauen.
Nun die Herausforderung. Ich nutze Glasfaser der Telekom. Dazu habe ich WAN wieder auf DHCP umgestellt, ein VLAN 7 auf das WAN aufgesetzt, sowie ein PPPoE Device auf das VLAN 7 draufgesetzt. Ich muss die PPPoE Daten eingeben, ist im Kundencenter so eingestellt, bekomme auch jedes mal eine neue IPv4. Soweit erstmal kein Problem für mich, das Internet läuft ja damit, die OPNsense kommt ins Netz.
Nun habe ich ein neues Server-Zertifikat ausgestellt, was neben dem Hostname der OPNsense jetzt auch die öffentliche IPv4 enthielt, nachdem der Router online gegangen war. Im IPsec habe ich das Interface dann noch von WAN auf das PPPoE Device geändert und den IPsec Dienst neu gestartet.
Aber es läuft nicht. Ich gebe als Ziel jeweils die öffentliche IPv4 ein, so dass der Common Name des Zertifikats passen müsste. Das scheint auch erstmal zu funktionieren, weil Windows mir sonst "IKE-Authentifizierung-Anmeldeinformationen sind nicht akzeptabel" ausgeben würde. Stattdessen erhalte ich als Fehler "Ungültiges Aufkommen erhalten"/"Invalid payload received". Und ich weiß nicht weiter. In Phase 2 sind alle Algorithmen (SHA1/256/384/512) aktiviert. Die Firewallregeln werden auch automatisch auf dem PPPoE Device angelegt. Auf Android erhalte ich auch nur lapidar den Fehler "Nicht erfolgreich".
Vllt. hat hier noch jemand ein Weihnachtsgeschenk für mich und erlöst mich von dieser Qual
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 82055234635
Url: https://administrator.de/contentid/82055234635
Ausgedruckt am: 25.11.2024 um 00:11 Uhr
2 Kommentare
Neuester Kommentar
Ich habe das WAN Interface auf eine feste IP 192.168.2.1 gesetzt und die Häkchen bei Block private network rausnehmen müssen.
Dabei muss man NICHT tricksen! Zeigt wie leider so häufig das du das Tutorial nicht oder nicht richtig gelesen hast. 🧐Es weisst explizit auf diesen Setup Schritt hin wenn man die Firewall in einem Kaskaden Setup betreibt!
Der Haken darf keinesfalls entfernt werden wenn die Firewall direkt im Internet hängt z.B. per PPPoE mit einem NUR Modem oder Glasfaser ONT!
Feste IP ist nicht zwingend. Das klappt egal mit welcher IP auch DHCP IPs und natürlich auch PPPoE IPs.
Dazu habe ich WAN wieder auf DHCP umgestellt
Das ist Quatsch, denn wenn du PPPoE machst ist DHCP natürlich obsolet!PfSense direkt an Glasfasermodem der Telekom über PPPoE
Server-Zertifikat ausgestellt, was neben dem Hostname der OPNsense jetzt auch die öffentliche IPv4 enthielt
Das ist falsch und geht wegen der wechselnden PPPoE IP dann logischerweise in die Hose! Hier darf nur der DDNS Hostname stehen. Auch darauf weist das Tutorial hin.Der Fehler "Ungültiges Aufkommen" ist ebenso explizit im Kapitel "Phase 2" beschrieben.
(Zitat) “Hash Algorithms”: SHA1, SHA256, SHA384, SHA512 anhaken. (Fehlendes SHA1 ergibt "ungültiges Aufkommen" Fehler bei Windows!"
Siehe zu den Details der Windows Krypto Algorithmen auch HIER!
Nochmals:
Der Winblows IKEv2 Client hat im Gegensatz zu anderen IKEv2 Clients nicht die Möglichkeit den Local Identifier separat zu definieren wie z.B. bei Apple u.a.. Er übernimmt immer fest das, was als VPN Zieladresse konfiguriert wurde.
Damit verbietet sich bei Windows eine stetig wechselnde IP Adresse als Ziel einzugeben weil spätestens mit einer anderen IP am WAN Port das Zertifikat und damit der VPN Tunnel scheitert. Eine Eigenart des Winblows VPN Clients mit der man leben muss.
Du musst also bei dynamischen PPPoE Adressen das Zertifikat immer mit deinem DDNS Hostnamen plus dem lokalen Hostnamen erstellen und zumindestens im Windows Client auch immer diesen DDNS Hostnamen eingeben damit die Überprüfung des Local Identifiers unter Windows immer sauber mit dem SAN des Zertifikats übereinstimmt. Es darf damit bei wechselnden PPPoE Adressen keine IP im Zertifikat definiert sein und dann auch keine IP als Zieladresse im VPN Client stehen.
Einfache Logik und nun wahrlich keine Herausforderung. 😉
Du kannst für ein paar Euro aber problemlos bei der Telekom eine feste IP bekommen, dann klappt es natürlich auch mit allen dreien DDNS, fester Domain auf diese IP oder nackte IP.