aqui
Goto Top

IPsec IKEv2 VPN für mobile Benutzer auf der pfSense oder OPNsense Firewall einrichten

article-picture

back-to-topAllgemeine Einleitung


Das folgende Tutorial beschreibt die VPN Anbindung von mobilen Benutzern oder Homeoffice Nutzern mit Windows 10/11, Mac OS, Linux sowie Smartphones und Pads unter Apple iOS und Android an die populären Firewalls pfSense (Netgate) und ihren Fork OPNsense. (Das Setup dieser Firewalls behandelt ein separates Firewall Tutorial).

Der Client VPN Zugang erfolgt vollständig mit den bordeigenen VPN Clients auf den Endgeräten aller Betriebssysteme und OHNE extra Installation von VPN Client Zusatzsoftware.
Das Tutorial ist eng angelehnt an das Linux IKEv2 Tutorial und wird ergänzt von den weiterführenden Links am Ende mit Hinweisen zu weiteren VPN Themen.

Ziel ist es bei privaten oder Firmen VPN Vernetzungen, ohne großes Probieren, schnell zu einer funktionierenden VPN Anbindung von mobilen Benutzern zu kommen, sei es per Laptop, Tablet oder Smartphone. Vorteil der bordeigenen VPN Clients sind die deutlich bessere Integration ins Betriebssystem und die Option eines zentralen Managements z.B. über GPO usw.
Die hier vorgestellten Beispiele und Screenshots können mehr oder minder auch auf andere VPN Hardware übertragen werden. IPsec mit IKEv2 ist ein weltweiter Standard und benutzt überwiegend gleiche Algorithmen.
Ein klein wenig Basiswissen zum Thema Netzwerke, IP Adressen und IPsec VPNs sollte, wie immer, generell vorhanden sein ! Aber auch Netzwerk Laien sollten mit den hier geschilderten Werkzeugen sehr schnell zum Erfolg kommen.
Es empfiehlt sich ggf. die hiesigen Basis Tutorials (weiterführende Links am Ende) zum IPsec Protokoll noch einmal zu lesen. Für die harten Fälle bleibt dann immer das Forum mit entsprechender Hilfe.

Das Tutorial nutzt als FQDN Adressen freie DNS Hostnamen mit nip.io DNS Adressen, die auch private RFC 1918 IPs im Heimnetz auflösen. Diese dienen im Tutorial als Ersatz für feste FQDN Hostnamen oder DDNS Hostnamen (bei wechselnden Provider IPs) ohne einen DNS Server oder registrierte Hostnamen zu erzwingen. Man kann so sehr einfach FQDN Hostnamen verwenden, auch im Heimnetz.
Los gehts....


back-to-topVorbereiten der pfSense / OPNsense für die Basiskonfiguration


Die aktuellen, bordeigenen VPN Clients fast aller Betriebssysteme und Smartphones nutzen in der Regel das moderne IPsec IKEv2 VPN Verfahren. IKEv2 erfordert aus Sicherheitsgründen eine Zertifikats Prüfung des VPN Servers. Der Einsatz der onboard VPN Clients schafft damit immer eine zusätzliche VPN Sicherheit.
Dieses Plus an Sicherheit erfordert eine kleine, einfache PKI die die Firewalls schon an Bord haben.
Sofern nicht schon vorhanden, muss eine Zertifizierungstelle (CA) und mit ihr ein Serverzertifikat für die Firewal erstellt werden. Quasi also die zentrale "Meldebehörde" und ein "Server-Ausweis" mit Stempel der Behörde.
Die "Behörde" (CA) gibt man den Endgeräten jeweils mit dem Import des CA Zertifikats in den Endgeräten (Stammzertifizierungsstellen) bekannt. So kann der VPN Client den "Ausweis" des Servers überprüfen ob er gültig ist und ihm niemand einen fremden VPN Server untergeschoben hat.

Aus naheliegenden Gründen sollte das per Default installierte Server Zertifikat der pfSense oder OPNsense nicht verwendet werden !
Zur Sicherheit ist immer ein eigenes Zertifikat die Basis der Vertraulichkeit eines VPNs. Das o.g. Default Zertifikat sollte nach Abschluß der Installation des eigenen Firewall Zertifikats zwingend gelöscht werden !
Da Zertifikate Gültigkeitszeiten haben, sollte auf die Konfiguration der korrekten Zeitzone und eines NTP Servers (Uhrzeit) auf der Firewall geachtet werden.
(Wer den Umgang mit Zertifikaten scheut findet mit einem L2TP VPN, das ebenfalls bordeigene VPN Clients nutzt, eine einfachere Alternative.)

OPNsense Nutzer erstellen die Zertifikate im Menüpunkt "Trust".
Die OPNsense Screenshots zu den folgenden Konfig Schritten sind HIER zu finden.


Vorab: Wer schon eine existierende PKI bzw. CA hat überspringt diesen Schritt und generiert dann mit dieser bestehenden CA lediglich ein neues Server Zertifikat.
Die Schritte zur Zertifikats Neueinrichtung sind schnell erledigt. Dazu geht man folgendermaßen vor:

back-to-topCA erstellen


  • Menü: System -> Certificates (OPNsense "Trust").
    Auf dem “Authorities” Reiter klicken und "+Add" für eine neue CA Authority.
  • Descriptive Name: Ist der Name der CA. Man kann ihn frei wählen z.B. pfSense-CA. Hier gilt es keine Leer- und Sonderzeichen zu verwenden. Binde- und Unterstrich sind erlaubt.
  • Method: "Create an internal Certificate Authority"
  • Key length: 2048
  • Digest Algorithm: sha256
  • Lifetime: Gültigkeitszeit in Tagen wählen (z.B. 10 Jahre = 3650)
  • Den Rest füllt man entsprechend seiner Daten aus, Ländercode etc. Der Inhalt ist nicht wichtig für die Funktion
  • "Common Name”: MUSS ein eindeutiger Name sein z.B. pfsense-ca. Es kann auch ein Domain Name sein.
  • Länder Code und Standort spezifische Eintragungen entsprechend dein eigenen Vorgaben ergänzen. (ist optional)
  • Save klicken zum Sichern

back-to-topCA Zertifikat für VPN Clients exportieren


Das oben erstellte CA Zertifikat (Aussteller-Zertifikat) muss nun für die Installation auf den VPN Clients exportiert werden:
  • Menü: System > Certificates und dort den Authorities Reiter klicken.
  • Hier das blaue "Siegel Icon" rechts in der Ecke klicken das aussieht wie eine kleine Sonne. Bei Mouseover zeigt der Hilfetext "Export CA" ! Es wird eine Datei <commonname>.crt exportiert die nachher später auf die VPN Clients importiert werden muss. (Stammzertifikate)
⚠️ Diese CA Zertifikats Datei ist sehr WICHTIG und wird später für die Client Einrichtung gebraucht, also gut sichern !
Wie der Client Import des CA Zertifikats genau gemacht wird erklärt das Tutorial im Abschnitt mit der Einrichtung der diversen VPN Clients auf den Endgeräten.


back-to-topServer Zertifikat erstellen


  • Menü: System -> Certificates.
  • Auf dem “Certificates” Reiter den "Add/Sign" Button klicken für die Erstellung eines eigenen Server Zertifikats.
  • Method: "Create an internal Certificate”.
  • Eine Beschreibung Descriptive Name angeben wie z.B. "pfSense SRV".
  • Für die “Certificate Authority” wählt man jetzt die CA aus, die man gerade oben im ersten Schritt eingerichtet hat.
  • Key length, Digest algorithm, und Lifetime belässt man auf dem Default 2048 und sha256. Die Lifetime wie in Schritt 1 auf den dort definierten Wert belassen sofern man nicht in einem kürzeren Abstand neue Zertifikate ausgeben will !
  • Certificate Type”: Server Certificate. --> (⚠️ Das Zertifikat immer als Server Zertifikat erstellen!! (Siehe Fragen im Threadverlauf unten mit Fehlern, wenn dies vergessen wurde !) )
  • Die Daten wie Ländercode usw. so belassen wie sie sind und in der CA Konfig bereits eingegeben wurden.
  • Common und Alternative Names: Hier nimmt man den pfSense Hostnamen im DNS wie er als FQDN Hostnamen angezeigt wird, die WAN IP Adresse (geht nur wenn diese statisch ist !). Dieser Punkt ist extrem wichtig für den onboard Windows 10/11 IKEv2 VPN Client. Dieser prüft das Zertifikat darauf ! Hat man nur einen Common Name eingegeben und connected mit der IP Adresse verweigert der Windows 10 Client die VPN Verbindung! MacOS, iOS oder StrongSwan sind da erheblich toleranter. Der folgende Konfig Schritt deckt alle 3 Optionen ab, so das man immer auf Nummer sicher geht das es später auch mit wirklich allen Clients verlässlich klappt:
  • Common Name: Der FQDN Hostname dieser pfSense/OPNsense Firewall wie im General Setup oder im DNS Setting als Hostname konfiguriert mit Domain Suffix, also z.B. "pfsense.meine.domain") ⚠️Auch ein Unterschied in der Groß- Kleinschreibung führt zu einem Fehler! FQDN Namen sind in der Regel immer klein. Eine genaue Kontrolle zahlt sich also später aus !
❗️Wer mit DDNS Namen arbeitet muss hier den DDNS FQDN eintragen wie z.B. meinepfsense.dnshome.de oder pfsense123.myfritz.de.
setupname
Bzw. im Dashboard unter "System Information"
certneu2
  • Unter Alternative Names jetzt “Add” klicken, “FQDN or Hostname” auswählen und nochmals den gesetzten Hostnamen der pfSense eingeben
    wie oben ohne Domain Suffix. (z.B. "pfsense")
  • Wer eine feste WAN IP hat: Nochmals “Add” klicken, “IP Adress” auswählen und die WAN IP Adresse eingeben sofern eine feste, statische IP vorhanden ist. (⚠️Ohne feste Internet IP am Firewall WAN Port entfällt dieser Schritt!! In einem Router Kaskaden Setup, wie weiter unten beschrieben, setzt man hier die statische WAN IP aus dem Koppelnetz ein.)
Es ist besonders für den Windows VPN Client wichtig das alle FQDN Hostnamen (DDNS etc.) und/oder IP Adressen unter denen die Firewall am WAN Port erreichbar ist hier eingetragen werden! Windows bietet keine separate Konfig der RemoteID und überprüft den VPN Servernamen mit dem Common Name (CN) im Zertifikat.
cn-neu.
  • Save zum Sichern klicken.
Ein Klick auf das Info "i" des Server Zertifikats sollte diese SAN Namen dann anzeigen.
certneu

Damit ist die Zertifikatserstellung auf der Firewall abgeschlossen...

⚠️ Das alte Default Server Zertifikat, was die pfSense oder OPNsense automatisch mitbringt, sollte man, wenn nicht schon geschehen, jetzt unbedingt LÖSCHEN !!
Dazu ist zuallererst das SSL GUI für den Webzugriff auf die Firewall auf dieses neu generierte Zertifikat einzustellen unter System --> Advanced --> Admin Access (OPNsense = System -> Administration):

pfssl
Hier wählt man das eigene, zuvor generierte Zertifikat anhand seines Namens aus und geht dann zurück in die Zertifikats Verwaltung um dann das Default Zertifikat der pfSense bzw. OPNsense final zu löschen. Mit der o.a. Umstellung erhält es dann auch das "Papierkorb Symbol" was anzeigt das es nun sicher löschbar ist.
Nach einem Reboot sollte dann alles sauber sein und ein Login dann mit dem eigenen Zertifikat problemlos klappen. Im Web Browser muss man dann ggf. einer neuen Ausnahme zustimmen, da dies ein selbstgeneriertes Zertifikat ist und die meisten Browser dafür eine Ausnahme anfordern !

Sinnvoll und hilfreich sich jetzt auf dem "Dashboard" zusätzlich das IPsec Widget zu installieren zur schnellen VPN Übersicht.
Dies geschieht mit einem Klick auf "+" und Auswahl von "IPsec", damit man die IPsec VPN Verbindungen auch alle monitoren und damit managen kann:
ipsecwidget

Weiter geht es nun mit der eigentlichen IPsec VPN Einrichtung für die mobilen Benutzer...


back-to-topMobiles Client VPN auf der pfSense / OPNsense einrichten


In diesem Schritt wird der eigentliche IPsec IKEv2 Tunnel für die mobilen Benutzer eingerichtet. Dazu sind folgende Punkte der Reihe nach einzugeben:

  • Menü: VPN > IPsec -> Mobile Clients.
  • “IKE Extensions”: Haken setzen bei “Enable IPsec Mobile Client Support
  • “User Authentication”: Local Database anwählen (Blau markieren !)
  • “Group Authentication”: None.
  • “Virtual Address Pool”: Haken setzen bei “Provide a virtual IP address to clients”. ⚠️ Hier muss ein IP Netzwerk gewählt werden was komplett unbenutzt ist und NIRGENDWO sonst im gesamten Netzwerk auftaucht ! Auch nicht in VM Umgebungen usw. (Beispiel hier 10.98.1.0 /24).
ipsec1b
  • Haken setzen bei: “Provide a list of accessible networks to clients".
  • Wer einen lokalen DNS Server (z.B. Windows DNS o. Filter wie PiHole/Adguard) an die Clients senden will um lokale DNS Namen auflösen zu können, setzt hier den entsprechenden Haken und trägt die DNS Server IP ein. Ansonsten leer lassen und so den am VPN Client lokal gelernten DNS verwenden.
dns
  • Der Rest bleibt ohne Haken (Default).
  • Save und dann Apply klicken

back-to-topIPsec Phase 1 Konfiguration


Nun erscheint automatisch der "Apply Changes" und "Create Phase 1" Knopf den man klickt. Zuerst "Apply Changes" um die Mobile Clients Einstellungen zu sichern und danach "Create Phase 1" um die IPsec Phase 1 zu definieren. Alternativ auf den Reiter "Tunnels" und klickt dort “Add P1”.
Dort dann die folgenden Eingaben einstellen:

  • "Description": "Mobile IKEv2 VPN User" (was immer man will hier, ist nur kosmetisch).
  • “Key Exchange version”: auf IKEv2.
  • "Connection Method": auf Respond only. (Nur OPNsense!)
  • "Internet Protocol" und "Interface" belässt man auf IPv4 und WAN.
  • “Authentication method” auf “EAP-MSChapv2
  • “My Identifier” pfSense = Fully qualified domain name OPNsense = Distinguished name Hier jetzt den zuvor konfigurierten Common Name angeben. ⚠️Der Identifier Name MUSS zwingend mit dem "Common Name" oder einem der "Alternative names" aus dem ersten Schritt oben zur Erstellung des Server Zertfikats übereinstimmen!! Üblicherweise der oben verwendete DDNS, FQDN oder die feste IP.
  • “Peer Identifier”: Any.
  • “My Certificate”: Hier das zuvor erstellte Server Zertifikat aus dem ersten Schritt auswählen.
  • “Encryption algorithm”: “AES” und “256
  • “Hash algorithm”: SHA256
  • DH key group auf: 2 (1024 Bit) und 14 (2048 Bit) (pfSense = "Add Algorithm" und zweiten Eintrag mit DH 14 anlegen!)
(Windows 10/11 supportet im Default nur DH Group 2 ! (Ggf. mit Power Shell anpassen wer mehr will) Zusätzlich muss deshalb für Apple VPN Clients ein 2. Eintrag mit DH Group 14 hinzugefügt. Apple erfordert immer die sicherere DH Group 14. ACHTUNG: Eine Apple VPN Verbindung scheitert ohne DH 14! Man sollte deshalb generell immer beide Einträge in der Phase1 setzen um alles abzudecken!)
  • Lifetime auf 28800 (8 Std.) belassen
  • MOBIKE auf enable
  • Haken entfernen: Disable Rekey
  • Haken entfernen: Disable Reauth
  • Haken setzen bei: Enable DPD, hier Delay auf 35 und Max.failures auf dem Default von 5 belassen. Rest mit Default Settings belassen.
  • Save und Apply klicken
pfp1neu
pfmob2

back-to-topIPsec Phase 2 Konfiguration


Jetzt springt man in der pfSense Konfig zurück auf den "Tunnels" Reiter und sieht dort den Eintrag für “Mobile Client” den man gerade eingerichtet hat und klickt darunter den “Show Phase 2 Entries” Knopf und dann “Add P2” um die Phase 2 zu konfigurieren:

  • “Mode”: Tunnel IPv4
  • Das Local Network Setup ist wichtig, denn es bestimmt welcher Client IP Verkehr in den VPN Tunnel geroutet wird! Default ist immer “LAN subnet”, also das lokale LAN an der pfSense (sog. Split Tunneling). Sollen zusätzliche lokale Netzwerke an der pfSense (ggf. VLANs etc.) in den Tunnel geroutet werden, dann werden auch sie hier eingetragen. (Bsp: Network, 192.168.0.0 /16 routet z.B. alle 192.168er IP Netze in den VPN Tunnel)
  • ⚠️Wer den gesamten VPN Client Traffic in den Tunnel routen will (Gateway Redirect), setzt “Local Network” auf Network, und gibt 0.0.0.0 als Adresse und /0 für das Subnet ein!
  • “NAT/BINAT”: None.
  • "Description”: "Mobile Nutzer Phase 2". (was immer man will hier, ist nur kosmetisch).
  • “Protocol”: ESP
  • “Encryption Algorithms”: Hier Haken bei AES" und "256” wählen und Haken bei AES256-GCM und Auto dahinter.
  • “Hash Algorithms”: SHA1, SHA256, SHA384, SHA512 anhaken. (Fehlendes SHA1 ergibt "ungültiges Aufkommen" Fehler bei Windows!
  • “PFS Key Group”: Off (Wichtiger Hinweis !: Bei Timeouts unter Windows, Mac OS / iOS HIER und HIER beachten !)
  • “Lifetime”: 3600 (1 Std.)
  • Save und dann Apply klicken
pfp2neu

back-to-topÜberblick Phase1/Phase2 Einstellungen


pfSense Setup:
ipsec_neu1

OPNsense Setup:
opnp12neu

⚠️ Bei der OPNsense nicht vergessen "IPsec" global unter den Connections zu aktivieren, was auch die automatischen WAN Port Firewall Regeln für den VPN Zugang einrichtet!
opnena


back-to-topBenutzername und Passwörter für den VPN Zugriff einrichten


  • Menü: VPN > IPsec -> Pre-Shared Keys Reiter wählen. Hier “Add” (Hinzufügen) klicken um einen neuen VPN Benutzer mit Usernamen und Passswort einzurichten:
  • “Identifier” ist der Benutzername fürs Login z.B. testuser
  • “Secret type”: EAP
  • “Pre-Shared Key”: Ist das Passwort für den Benutzer z.B. Geheim123. ⚠️Die Firewall mag auch hier keine äüöß Sonderzeichen. Also nur Ziffern- und Groß- Kleinschreibung nutzen!
  • Optional kann man unter Virtual Address Pool und DNS Server (nur pfSense) benutzerspezifisch feste IPs aus dem IP Pool und DNS Server IPs vergeben
  • Weitere optionale Felder leer lassen
  • Save klicken zum Sichern und ggf. für weitere Benutzernamen wiederholen
  • Dann “Save” und “Apply” klicken
Als Beispiel sieht das im OPNsense Setup dann für den Benutzernamen "user" wie folgt aus:
userpsk

back-to-topFirewall Regeln für IPsec einrichten


⚠️Die für IPsec relevanten, eingehenden WAN Port Regeln (ESP, UDP 500 und UDP 4500), die den Zugang auf die WAN IP Adresse der Firewall für IPsec VPNs passieren lassen, sollten immer automatisch eingerichtet sein aber eine Kontrolle kann an dieser Stelle nicht schaden !
Auf dem virtuellen IPsec Tunnel Interface der Firewall muss eingehend eine any any Rule eingerichtet sein damit Traffic über den VPN Tunnel passieren darf.
tunnelrule
(Screenshot OPNsense. Gleiches Regelset gilt für die pfSense)

Damit ist die IKEv2 Client VPN Konfiguration der Firewall abgeschlossen. Im nächsten Schritt folgt die Einrichtung der onboard VPN Clients auf den Endgeräten.


back-to-topWindows VPN Client einrichten


⚠️ (21H2 oder älter benötigt diesen Patch! 22H2 oder neuer erfordert keinen Patch!)

Wie Eingangs bereits beschrieben ist die gute Nachricht, das KEIN dedizierter, extra VPN Software Client wie Shrew, Greenbow usw. mehr benötigt wird um eine Client VPN Verbindung mit der pfSense oder OPNsense zu etablieren !! face-smile
Das VPN Client Setup wird vollständig mit Windows 10 Bordmitteln und ohne jegliche zusätzliche Software erledigt. Ein erheblicher Vorteil gegenüber der FritzBox und anderen IPsec basierten VPN Servern, die eine separate, extra zu installierende IPsec Clientsoftware erzwingen. Dies entfällt hier!

back-to-topZertifikat in Windows importieren


  • Jetzt kommt das oben exportierte CA Zertifikat in Form der .crt Datei wieder ins Spiel ! Dieser Schritt ist sehr wichtig. Wird er vergessen kann der Client den VPN Tunnel nicht aufbauen ! Diese CA Zertifikats Datei wird unter Windows 10 mit dem Zertifikats Manager importiert. Smartphones usw. sendet man es z.B. ganz einfach per Email Attachment.
  • Auf dem Windows 10 Client PC die oben exportierte Zertifikats Datei kopieren und <name>.crt doppelklicken und "Öffnen".
  • "Zertifikat installieren" klicken.
  • Dann "Lokaler Computer" und "Weiter" auswählen und die Security Abfrage mit "Ja" abnicken.
  • Jetzt "Alle Zertifikate in folgendem Speicher speichern" auswählen und "Durchsuchen" klicken
  • Hier "Vertrauenswürdige Stammzertifizierungsstellen" auswählen und mit "OK" bestätigen.
  • Dann "Weiter" klicken und Beenden mit OK. Hat alles geklappt erscheint ein Fenster: "Der Importvorgang war erfolgreich".
  • Fertig...
Im Windows certmgr sieht das so aus:
winzert

back-to-topVPN Verbindung mit Windows anlegen


Der Client wird ganz normal über das Windows Netzwerk Setup -> VPN hinzugefügt:
winpf
An dieser Stelle sei nochmals darauf hingewiesen das bei der Verwendung von FQDN oder DDNS Hostnamen für die Server Adresse diese oben im Zertifikat (CN, SAN) enthalten sein muss, ansonsten scheitert die Windows Authentisierung!

back-to-topGesamten VPN Client Traffic in den VPN Tunnel senden


Wer den gesamten VPN Client Traffic in den IPsec VPN Tunnel routen will um z.B. in einem öffentlichen Hotspot gesichert über seinen Heimanschluss zu surfen etc. lässt schlicht und einfach den Parameter -SplitTunneling im Add-VpnConnection Kommando oben weg oder trägt ihn explizit als false ein (-SplitTunneling --> -SplitTunneling:False). Siehe dazu auch HIER.
Der Default Gateway Redirect Haken im VPN Adapter muss natürlich gesetzt sein damit sämtlicher Traffic in den VPN Tunnel geht.
winvpnredir
Damit werden dann auch für andere Clients (Apple, Smartphone, etc.) alles in den VPN Tunnel gesendet.
Der Thread Hinweis des Kollegen @justas unten in den weiterführenden Links hat weitere Infos zu dieser Thematik.

back-to-topWindows VPN Verbindung und Security mit Powershell anpassen


❗️Die folgenden Schritte sind optional! Wer mit den klassischen Standard Einstellungen leben kann überspringt dieses Kapitel!!
Bei Bedarf und dem Wunsch nach höherer Verschlüsselung unter Windows kann man mit der Powershell die IPsec Phase 1 oder Phase 2 Krypto Parameter des Windows Clients noch weiter anpassen.
Windows nutzt im Default z.B. nur DH Group 2. Hier kann man mit der Powershell nacharbeiten und DH Group 14 aktivieren. Ebenso das sichere GCM Verfahren wie z.B. hier empfohlen.
Analog müssen solche Änderungen am Client dann natürlich auch in den IPsec P1 und P2 Settings der Firewall oben unbedingt angepasst werden !
Nochmal zur Erinnerung: Das Folgende ist, wie auch die oben bereits genannte Registry Anpassung, nicht zwingend ! Dies ist nur gedacht für diejenigen, die die Verschlüsselung anpassen möchten. (Siehe dazu auch hier).
Wer mit den Windows Default Settings leben kann ignoriert diesen Part.

Man öffnet dazu mit einem Rechtsklick auf das Powershell Icon die Powershell mit Administratorrechten oder als Administrator ausführen und gibt folgende 3 Befehle ein, die man hier einfach per Cut and Paste aus der Vorlage nimmt.
⚠️ Bevor man das macht, sollte man das Kommando natürlich VORHER mit dem Text Editor oder Notepad++ editieren ! und auf seine persönlichen IP Adress Belange anpassen ! ##
Add-VpnConnection -Name "pfSense" -ServerAddress "88.1.2.3" -TunnelType IKEv2 -EncryptionLevel Required -AuthenticationMethod EAP -SplitTunneling -AllUserConnection  
  • Den Parameter "-Name" kann man frei wählen. Es ist der Name der VPN Verbindung wie er in der Auswahl erscheint. Dieser gewählte Name MUSS bei den 2 folgenden Kommandos unter ConnectionName absolut identisch sein !
  • "-ServerAddress" bestimmt die WAN IP Adresse oder Hostname (DynDNS) der pfSense, sprich das VPN Server Ziel. Hier kann man statt der IP Adresse natürlich auch einen Domainnamen verwenden wie z.B. meinepfsense.dyndns.org wenn man mit DynDNS arbeitet oder man einen festen DNS Hostnamen hat.
(Betreibt man die Firewall in einer Kaskade mit einem Router davor und Port Forwarding (siehe Kapitel "Router-Kaskade" unten), ist natürlich die dortige Router WAN IP Adresse (oder Hostname) das Ziel !)

Das nächste Powershell Kommando setzt z.B. die IPsec Schlüssel Parameter:
Set-VpnConnectionIPsecConfiguration -ConnectionName "pfSense" -AuthenticationTransformConstants GCMAES256 -CipherTransformConstants GCMAES256 -EncryptionMethod AES256 -IntegrityCheckMethod SHA256 -DHGroup Group14 -PfsGroup None -PassThru -AllUserConnection   
Die Abfrage zum Ändern beantwortet man mit "Ja" und überprüft nochmals die Parameter:
ps_neu.
Last but not least das letzte Win10 PS Kommando um das VPN Routing zu aktivieren mit:
Add-VpnConnectionRoute -ConnectionName "pfSense" -DestinationPrefix 192.168.1.0/24 -PassThru  
⚠️ Der Parameter "-ConnectionName" MUSS bei allen 2 Kommandos IMMER absolut identisch sein zum oben gewählten Namen der VPN Verbindung !##
  • "-DestinationPrefix 192.168.1.0/24" gibt das lokale LAN Netzwerk der pfSense an. Ggf. an eigene IP Adress Nutzung anpassen.
Hier kann bzw. muss man mit der Subnetzmaske spielen sofern man mehrere IP Netze oder einen ganzen Bereich oder auch alles in den Tunnel routen will.
Z.B. routet "-DestinationPrefix 192.168.0.0/16" alle 192.168er Netze in den VPN Tunnel und "-DestinationPrefix 10.0.0.0/8" alle 10er Netze usw.
Bei unterschiedlichen Netzen, die sich nicht über die Maske zusammenfassen lassen, wiederholt man das Add-VpnConnectionRoute Kommando für alle diese Netze.

Wer die Powershell fürchtet kann natürlich das VPN Client Setup auch im Windows Netzwerk- und Freigabecenter über die VPN Konfig zusammenklicken wie oben schon beschrieben:
ipsecw10a

Den VPN Login Usernamen und Passwort kann man unter Windows 10 speichern damit man ihn nicht immer wieder neu eingeben muss mit jedem Start des VPNs:
win10user

Noch eleganter ist es natürlich statt eines separaten VPN Users gleich den lokalen Usernamen des Windows Logons zu verwenden:
ikeuserlogin

Ändern sich diese Daten kann man sie im Setup unter Netzwerk und Internet nach Auswahl der VPN Verbindung in den erweiterten Optionen auch wieder löschen und neu setzen.

back-to-topVPN Verbindung unter Windows per Script automatisieren


Für mehr Bedienungskomfort kann man z.B. den VPN Aufruf in ein einfaches .bat Skript verpacken und elegant per Doppelklick ausführen:
@set vpn=pfSense-VPN
@rasdial | find "%vpn%" >nul
@if errorlevel 1 rasdial %vpn% >nul && echo Verbunden mit pfSense VPN ! && exit /b
@rasdial %vpn% /d >nul && echo pfSense-VPN getrennt 


back-to-topApple MacOS VPN Client einrichten


Ebenso wie bei Windows ist keine VPN Client Software erforderlich. Im ersten Schritt wird auch hier die oben von der Firewall exportierte CA Zertifikatsdatei in den Mac Schlüsselbund importiert und als vertrauenswürdig zu markiert:
  • Dazu die .crt Datei doppelklicken zum Importieren
  • In der Schlüsselbundverwaltung das Zertifikat doppel- oder rechtsklicken und "Information" wählen.
  • Hier jetzt unter Vertrauen das Aufklappmenü öffnen und "Bei Verwendung dieses Zertifikats" die Einstellung auf Immer vertrauen setzen.
vpnmac1
  • Schlüsselbundverwaltung schliessen
  • Unter Apfel -> Systemeinstellungen -> Netzwerk und + das VPN mit der Funktion "IKEv2" hinzufügen und einen Namen vergeben z.B. "pfSense":
vpnmac4
..und die VPN Parameter eintragen:
mac-client
Die Entfernte ID entspricht der Identity also dem Distinguished Name (My identifier, FQDN) des Server Zertifikats. Bei Verwendung von DDNS Hostnamen (myfritz etc.) wird dieser hier eingetragen.
Die Lokale ID bleibt leer.
Mit Klick auf "Authentifizierungseinstellungen" konfiguriert man abschliessend Username und Passwort.
Haken setzen bei "VPN-Status in der Menüleiste zeigen" so das man die VPNs bequem über die Taskleiste steuern kann.
Die Installation des Mac OS Clients ist damit abgeschlossen.

Beim Apple IKEv2 VPN Client wird bei aktivem VPN generell aller Traffic in den Tunnel gesendet (Gateway Redirect). Per se lassen sich also weitere remote Netze erreichen sofern vorhanden. Ein reines Split Tunneling erreicht man nur mit etwas Handarbeit. (Siehe dazu auch hier und hier).
Eine Regelung wie oben beim Windows VPN Client über die Client Options ist bei Apple nur mit dem L2TP VPN Client möglich.


back-to-topiPhone und iPad (iOS) VPN Client einrichten


Das Einrichten des VPN Clients ist, wie üblich bei Apple iOS, eigentlich ein Selbstgänger der, Menü geführt, fast keiner Erklärung mehr bedarf.
Zuallererst muß auch hier wieder das oben gesicherte CA Zertifikat importiert werden !
Das erledigt man ganz einfach indem man sich die Zertifikats Datei als Email Attachment (Email Anhang) aufs iPhone/iPad sendet. Entweder direkt oder über einen Email Account auf den man mit dem iPhone Web Browser (Safari) zugreifen kann. Als iChat Anhang geht es ebenso wie mit Airdrop oder USB Stick.
Man klickt dann einfach auf die Zertifikatsdatei und importiert und installiert sie damit.
In der Profilansicht unter Allgemein -> Profile kann man das kontrollieren das es dort auch richtig gelandet ist:
ioscert
(Der Menüpunkt Allgemein -> Profile erscheint nur wenn mindestens ein Profil (Zertifikat) importiert wurde !)
Der Rest ist dann schnell erledigt...:
  • Auf iPhone oder iPad geht man ins Setup (Zahnrad) und wählt dort das Menü Allgemein --> VPN und fügt einen VPN Account vom Typ IKEv2 hinzu. Ganz genau so wie es oben schon bei Mac OS und Windows beschrieben würde.
  • Identisch dazu trägt man die Entfernte ID ein, die wieder dem Common Name entspricht (hier im Beispiel pfsense) und setzt die Benutzer Authentisierung auf Benutzername und Passwort mit den in der pfSense definierten Userdaten unter IPsec -> Pre Shared Keys.

ios1

Aktiviert man jetzt das VPN ist es sofort verbunden:
ios2
Ein sehr hilfreiches Tool bzw. App um die Verbindung ins remote Netz zu testen (Ping etc.) sind die kostenlosen HE-Tools aus dem Apple App Store.


back-to-topAndroid VPN Client einrichten


Die Verfügbarkeit von IKEv2 unter Android ist in aktuellen Android Versionen in der Regel ähnlich einheitlich wie bei Apple iOS.
Die Einrichtung des onboard Clients ist identisch zu der unter iOS und beginnt auch hier wieder mit dem Import des oben gesicherten CA Zertifikats, per Email, Messaging, SD Card etc.
Wichtig ist hier wiederum den VPN Typ "IKEv2" mit MSCHAPv2 zu wählen.
andrike.

back-to-topAndroid VPN Client mit Strongswan App


Sollte kein bordeigenes IKEv2 auf dem Androiden verfügbar sein, muss eine entsprechende App verwendet werden.
Empfehlung als kostenfreie Alternative bietet sich als Klassiker der StrongSwan VPN Client aus dem Play Store an.
Da auch das pfSense/OPNsense VPN (und auch das vieler andere Hersteller) auf StrongSwan basiert, klappt die Installation reibungslos und sofort auf Anhieb. Zudem nutzt auch die weiter unten beschriebene Linux Variante StrongSwan.
Eine andere Alternative ist VPNcilla was auch bei FritzBox VPNs eine gute Figur macht, allerdings ist es kostenpflichtig.

Nach der Installation der StrongSwan App muss auch hier zuallererst wieder die erforderliche CA Zertifikatsdatei importiert werden.
Dazu sendet man sich auch hier am einfachsten die .crt Zertifikatsdatei wieder als Email Attachment oder per Messaging aufs Telefon wie es schon beim iPhone/iPad oder Android oben beschrieben ist. Ein simpler Doppelklick reicht dann zum Importieren.
Alternativ kopiert man sie auf die SD Karte oder den internen Speicher und installiert das Zertifikat von dort.
Einige Androiden geben ihre interne SD Karte auf dem PC als USB Speicherstick frei was noch einfacher ist oder haben eine Download App mit FTP Server oder können von Windows Freigaben (SMB/CIFS Share) kopieren. Alles geht, Hauptsache die Datei kommt irgendwie aufs Telefon oder Tablet.
Im Setup dient dann der Menüpunkt Sicherheit --> Zertifikate von SD Karte installieren zur Installation. Meist reicht auch ein simpler Doppelklick zum Import.
Hat man das Zertifikat erfolgreich importiert, kann und sollte man das unter Sicherheit --> Vertrauenswürdige Anmeldedaten (Zertifikate ansehen) bei den Nutzer Zertifikaten kontrollieren.

andr1

back-to-topStrongswan App konfigurieren


Der Einrichtung des ist dann identisch wie man es oben auch schon bei den anderen Clients gesehen hat.
Der folgenden Screenshot zeigt die Einstellungen:

andr2

Wer es etwas strikter haben will weist das Zertifikat fest zu statt der automatischen Auswahl:
andr5

Nach dem Einrichten kommt auch hier die VPN Verbindung sofort zustande:
andr6
Auch hier helfen wieder die kostenlosen HE-Tools aus dem Google Play Store um die Verbindung ins remote Netz zu testen (Ping etc.)

Soll das VPN permanent aktiv sein, quasi ein "allways on", kann man das im StrongSwan Client entsprechend einstellen:
immervpn


back-to-topLinux VPN Client einrichten


Am einfachsten klappt die Linux Client Einrichtung über das grafische GUI Management des Network Managers wie z.B. bei Ubuntu oder RaspberryPi OS bzw. allen Distros die den NetworkManager als Netzwerk Verwaltung nutzen.
⚠️ Dies muss natürlich vorab mit apt install network-manager-strongswan installiert werden um es nutzen zu können.
linuxnm
Auf headless Servern ohne GUI löst man es über das klassische Setup als .conf Textdatei im Stromngswan Verzeichnis /etc/swanctl/conf.d/.
Eine moderne VICI Strongswan Konfig findet man u.a. HIER
Die dortige Konfig für eine Sophos Firewall kann man 1:1 auf die OPNsense bzw. pfSense übernehmen oder passt sie entsprechend an.
Eine einfache Strongswan Client VPN Konfig auf .conf Dateibasis unter /etc/swanctl/conf.d/ sieht z.B. so aus:
connections {

pfsense {
        version = 2
        remote_addrs = 88.1.2.3
        vips = 0.0.0.0, ::
        local {
            auth = eap-mschapv2
            eap_id = user
        }
        children {
            pfsense {
                remote_ts = 192.168.1.0/24
		start_action = trap
            }
        }
    }
}
secrets {
    eap-user {
        id = user
        secret = "Geheim1234"   
    }
} 
👉🏽 Weitere Details zum Setup einer IKEv2 VPN Verbindung unter Linux als universeller VPN Server beschreibt u.a. das hiesige IKEv2 VPN Server Tutorial


back-to-topVPN Hardware der pfSense / OPNsense tunen


Wer APU Boards oder aktuelle CPUs mit der pfSense oder OPNsense nutzt, sollte bei VPN Nutzung in jedem Falle die Krypto Hardware Unterstützung AES-NI der CPU aktivieren um die VPN Gesamtperformance und den Durchsatz zu steigern.
Das erledigt man in den Miscellaneous Settings unter Cryptographic Hardware und überprüft dies in der Anzeige im Dashboard.
Dort aktiviert man auch gleich das IPsec Widget um immer einen Überblick aller aktiven VPN Tunnel zu haben.

widget

Bei virtualisierten Firewalls sollte man darauf achten die AES NI Krypto Funktion der CPU auf die VMs durchzureichen. VmWare oder HyperV erledigen das automatisch, bei Proxmox muss man es z.B. bei den CPU Settings der VM separat aktivieren!

aesni


back-to-topFirewall hinter einem NAT Router betreiben (sog. "Router Kaskade")


Wie im unten zitierten pfSense_Tutorial schon beschrieben, ist die technisch beste Lösung die Firewall an deren WAN/Internet Port immer direkt mit einem "NUR" Modem an einem xDSL, TV-Kabel oder Glasfaseranschluß zu betreiben.
"Nur" Modem bedeutet in diesem Kontext ein reines, nacktes Modem, also ein reines Layer 2 Gerät was NICHT am Layer 3 Forwarding (IP Routing) aktiv beteiligt ist wie z.B. ein vollständiger Router mit integriertem Modem wie im unten gezeigten Beispiel zu sehen (Kaskade).
Das Internet wird so direkt und performant an der Firewall terminiert und nicht am davor liegenden NAT Router, der quasi dann nur Performance fressender "Durchlauferhitzer" ist.
Klassische Consumer NAT Router werden hier in Foren Threads leider sehr oft fälschlicherweise als "Modem" bezeichnet was so ein Router technisch gar nicht ist ! Dieser Umstand führt dann sehr häufig zu Missverständnissen bei der Technik und Troubleshooting Threads im hiesigen Forum.

Reine "NUR" Modems für den xDSL Bereich mit denen man nichts falsch macht sind z.B. die Folgenden:
VDSL/ADSL Hybrid Modems:
https://www.draytek.de/vigor165.html
https://www.zyxel.com/de/de/products_services/vmg3006modem/
https://www.reichelt.de/vdsl2-modem-zte-h186-p254352.html
https://www.reichelt.de/vdsl2-adsl-modem-annex-b-und-j-allnet-allbm200v- ...
(FritzBox als Modem) https://www.heise.de/select/ct/2020/2/1578238295698254
Reine ADSL2+ Modems:
https://www.reichelt.de/adsl2-ethernet-modem-annex-b-und-j-d-link-dsl321 ...
https://www.reichelt.de/adsl2-ethernet-modem-annex-b-und-j-allnet-all033 ...
TV Kabel Modems:
https://shop.wernerelectronic.de/antennen-und-kabelfernsehtechnik/catv-m ...
https://www.heise.de/tests/Schnelles-Kabelmodem-fuer-DOCSIS-3-1-4241602. ...
https://shop.wernerelectronic.de/antennen-und-kabelfernsehtechnik/kabelm ...

Oft lassen sich auch vorhandene Telekom Speedport Router im reinem Modem Betrieb nutzen inkl. dem Tagging bei VDSL:
speedpomodem

Die Verwendung eines reinen NUR Modems verhindert gerade im VPN Umfeld aufwändige Konfigurationen mit Port Forwarding und ist aus Performance Sicht immer vorzuziehen wenn immer das umsetzbar ist.

back-to-topLösung mit Router Kaskade


In einigen Situationen ist es allerdings nicht möglich so ein Setup zu realisieren. Z.B. Nutzer die trotz EU weiter freier Routerwahl sog. Provider "Zwangsrouter" mit minderer Qualität und Performance betreiben müssen.
Betroffenen bleibt dann meist nichts anderes übrig als in den sauren Apfel einer Router Kaskade zu beissen.
Generell gesehen ist die oben im Tutorial beschreibene VPN Client Funktion zum Zugriff auf ein lokales Heim- oder Firmennetz auch immer mit einer Kaskade möglich, wenn man mit den o.g. Nachteilen dieses Designs leben kann oder auch muß.
Ein Kaskaden Design erfordert deshalb ein klein wenig mehr Konfigurations Aufwand, insbesondere des davorliegenden Routers.

Ein weiterer Punkt der im Forum häufig Ursache von VPN Problemen ist, ist die leidige DS-Lite Problematik:
Eine VPN Einwahl ist an Provider Anschlüssen die DS-Lite mit CGN nutzen technisch per IPv4 nicht möglich, weil das providerseitige NAT Gateway (CGN) nicht überwunden werden kann und dies eingehende IPv4 VPN Verbindungen blockt.
VPNs an DS-Lite Anschlüssen funktionieren deshalb eingehend immer nur mit IPv6 wie z.B. dieser Thread zeigt.

Ein VPN Tunnelaufbau ohne Jumphost ist nur dann an einem DS-Lite Anschluss per IPv4 möglich, wenn dieser ein VPN Initiator ist (Client), also die DS-Lite Tunnelseite aktiv den VPN Tunnel zu einem VPN Responder (Server) aufbaut. Nur so kann das bei DS-Lite Anschlüssen dazwischen liegenden CG-NAT Gateway überwunden werden. Ein VPN Responder (Server) auf DS-Lite Seite ist generell technisch nicht möglich.
Für ein Site-to-Site (Standort) VPN mit einer Seite DS-Lite Seite ist so problemlos ein VPN möglich, nicht aber für die Einwahl externer, mobiler VPN Clients auf einen DS-Lite Anschluß. Dort blockt immer das Provider CG-NAT.
Fazit:
Bucht oder migriert man auf einen DS-Lite Anschluss, sollte man bei einem VPN Umfeld mit IPv4 diesen Punkt genau beachten! Fast immer sind davon Consumer Glasfaser- und Kabel-TV Anschlüsse oder kleine lokale Provider betroffen die keinerlei IPv4 Adresskontingente mehr haben oder diese lukrativeren Business Kunden vorbehalten.

Ein vor der Firewall kaskadierter NAT Router (IP Adress Translation) verhindert durch sein NAT Firewalling erst einmal per se den Zugang der mobilen Internet VPN Clients auf die dahinterliegende Firewall. Im hiesigen Kaskaden Beispiel agiert nur die Firewall als VPN Server.
Der NAT Prozess im davor kaskadierten Router blockt generell aus dem Internet eingehende IP Pakete, so das diese die Firewall erst gar nicht mehr erreichen können. Ein gewollter Schutzeffekt, aber nachteilig für den VPN Zugang, denn VPN Pakete werden dort ebenso geblockt.
Effekt ist dann die klassische Log Fehlermeldung "Timeout..." und der Hinweis das der VPN Server nicht erreichbar ist.

Die direkte WAN Port IP Adresse der Firewall im Koppelnetz oder ein DynDNS Hostname der darauf verweist, kann man im mobilen VPN Client nicht als Ziel angeben.
Klar, denn im Koppelnetz verwendet man ja in der Regel ebenfalls private_IP_Adressen nach RFC 1918 die im Internet gar nicht geroutet werden. Ein DynDNS Verweis auf solch eine IP Adresse ist also sinnfrei da unroutebar.
Fürs Erste bleibt so die VPN Firewall mit dem davor liegenden Router erstmal unerreichbar von außen ohne eine entsprechende Port Weiterleitungs Konfiguration.
Diese Lösung ist aber kinderleicht und schnell gemacht...

Man muss lediglich nur dafür sorgen das der davor kaskadierte Router die entsprechenden, aus dem Internet eingehenden VPN Pakete, einfach 1:1 an die dahinter liegende VPN Firewall (WAN Port) "durchreicht".
Das erreicht man mit der Funktion Port Forwarding o. Weiterleitung oder auch Port Freigabe in Router oder Firewall !
Diese Funktion hat heutzutage ausnahmslos jeder handelsübliche Internet Router mit an Bord.
Die Weiterleitungs Funktion "sagt" dem Router mit einer statischen Anweisung in der Konfiguration das bestimmte, aus dem Internet eingehende Pakete, mit entsprechenden TCP oder UDP Zielports oder anderen Protokollkomponenten, einfach an eine lokale LAN IP Adresse weitergeleitet werden sollen statt sie zu verwerfen.
Diese Ziel IP Adresse für die Weiterleitung ist in einer Kaskaden Anordnung natürlich immer die dahinter kaskadierte Firewall oder auch Router der diese aus dem Internet weitergeleiteten VPN Pakete erhalten sollen.
Damit ist dann die fehlerfreie VPN Funktion, trotz blockierendem NAT Router davor, wieder gegeben. Ein simpler Klassiker in solchen Router Kaskaden.

Viele Router bieten auch die Funktion eines sog. "Exposed Hosts".
Das ist eine lokale IP Adresse an die im Schrotschuss Verfahren ALLES weitergeleitet wird. Da man ja zum eigentlichen Schutz die Firewall hat, ist auch diese Funktion nutzbar. Sie macht die Firewall dann aber insgesamt angreifbarer weil man so alles an eingehenden Traffic forwardet statt nur die Dinge die man von außen auch wirklich durchlassen möchte.

Im mobilen VPN Client selber muss dann natürlich die WAN / Internet IP Adresse des VOR der Firewall liegenden Routers als VPN Gateway Zieladresse angegeben werden ! Verständlich, denn dieser hält ja die öffentliche Internet IP die weltweit von einem Client erreichbar ist.
Wer keine feste statische IP besitzt und der Provider zudem wechselnde Internet IP Adressen verwendet. (z.B. Zwangstrennung usw.) muss einen DynDNS Client auf dem Router aktivieren der diese IP Adresse auf einen fester Hostname wie meinvpn.meindyndns.de mappt den man dann für den VPN Client verwendet. Mit einem festen DynDNS Hostnamen erreicht man so immer einen Router oder Firewall auch mit wechselnder WAN IP.

Hat man das alles richtig gemacht, sieht ein dazu passendes Router Kaskaden Design immer so aus:

pfsense-kaskade


Die entsprechenden Port Forwarding bzw. Weiterleitungs Einstellungen für IPsec VPNs zeigt das nächste Bild am Beispiel einer FritzBox. Diese Port Weiterleitungen gelten analog auch für alle anderen Router am Markt:
fbpfw-neu

back-to-topFirewall WAN Port Regel anpassen (nur Kaskade !)


An der Firewall muss man in solchen Kaskaden Designs am WAN Port immer den Haken bei "Block private networks" entfernen, denn in einem Kaskaden Design befindet sich der Firewall WAN Port ja in der Regel immer in dem privaten _IP_Adressbereich (LAN Koppelnetz) des davor liegenden Routers. IP Pakete die der vorgelagerte Router weiterleitet würden ansonsten geblockt und verworfen, sollte diese Firewall Blocking Regel der privaten IPs aktiv sein.

wan1918

⚠️ Ein Wort der Warnung:
Das Entfernen dieser Regel gilt ausschliesslich NUR für ein solches Firewall Kaskaden Design hinter NAT Routern!
Arbeitet die Firewall mit einem reinen "NUR" Modem oder ganz ohne Modem direkt im öffentlichen Internet (öffentliche Provider IP direkt am WAN Port der Firewall !) MUSS dieser Haken unbedingt gesetzt bleiben und darf in dem Falle keinesfalls entfernt werden !


back-to-topPort Forwarding gängiger VPN Protokolle

Die Port Forwarding ToDos für häufig genutzte VPN Protokolle hier nochmals in einer Übersicht:
  • IPsec = UDP 500, UDP 4500, ESP Protokoll (IP Nr.50)
  • OpenVPN = UDP 1194 (Default UDP Port, ist beliebig konfigurierbar)
  • L2TP = UDP 1701, UDP 500, UDP 4500, ESP Protokoll (IP Nr.50)
  • PPTP = TCP 1723, GRE Protokoll (IP Nr.47) (PPTP gilt als nicht mehr sicher!)
  • SSTP = TCP 443 (Microsoft proprietär!)
  • WireGuard = UDP 51820 (Default UDP Port, ist beliebig konfigurierbar)
...sofern diese VPN Protokolle in solchen Router Kaskaden Konfigurationen im Port Forwarding verwendet werden.

Bei der FritzBox und anderen aktiven VPN Routern sollte man unbedingt beachten das die VPN Nutzung für eingerichtete User deaktiviert werden muss. (Siehe dazu auch HIER).
Geschieht das nicht, reicht die FritzBox die IPsec VPN Ports nicht per Port Forwarding weiter, da sie ja selber auch aktiver VPN Router ist!

Generell ist es Best Practice dem WAN Port eines hinter einem Router kaskadierten Systems, egal ob Router oder Firewall, immer eine feste, statische IP Adresse zu geben !
Diese IP Adresse muss immer außerhalb des LAN Port DHCP Bereichs des davor liegenden NAT Routers liegen ! Andernfalls droht ein IP Adresskonflikt !
Praktisch ginge auch die automatische Vergabe per DHCP.
Allerdings besteht durch die Dynamik von DHCP IP Adressen die Gefahr der Änderung und damit das die Port Forwarding Einstellungen dann irgendwann einmal ins Leere laufen! Freie DHCP Vergabe birgt also immer die latente Gefahr das deshalb das VPN über kurz oder lang nicht mehr funktioniert.
Dann geht das vorab eingestellte Port Forwarding ins Nirwana, sprich auf eine dann möglicherweise inexistente IP Adresse !

Eine gute Alternative dem zu entgehen, wenn man bei DHCP bleiben möchte, wäre dann immer die statische DHCP Vergabe anhand der Hardware Layer 2 Mac Adresse (DHCP Reservierung auf Mac Basis).
Das entspricht dann quasi einer statischen IP Adresse, da die DHCP IP immer fest auf Basis der Hardware Adresse des Gerätes (Mac Adresse) zugewiesen wird.
Die FritzBox und auch andere Consumer oder Profi Router supporten so eine feste Reservierung in ihren DHCP Server Einstellungen. Man trägt dann einfach die Geräte spezifische Hardware Adresse (Mac Adresse) des kaskadierten WAN Ports im DHCP Server ein und weist dieser damit immer eine feste IP Adresse zu.
Mit diesem "Trick" ist eine quasi "feste" IP Vergabe auch mit DHCP möglich und auch sinnvoll.
(AVM beschreibt die ToDo's dafür HIER).
Als generelles Beispiel sähe es z.B. auf einem Router internen DHCP Server so aus:

fbdhcp
(Hier im Beispiel teilt der DHCP Server auf dem Router einem Gerät mit der Mac Adresse 00:C0:EB:85:4D:DA immer fest die IP Adresse 192.168.178.254 zu)
Oder hier bei einem anderen Router Modell
dhcp-mac
(Hier im Beispiel teilt der DHCP Server auf dem Router einem Gerät mit der Mac Adresse 00:43:5A:3F:01:22 immer fest die IP Adresse 192.168.8.173 zu)

Die Hardware- oder Mac Adresse eines Endgerätes ist entweder auf einem externen Aufkleber zu erkennen oder über das interne Setup. Bei einem Windows Rechner z.B. mit dem Kommando ipconfig -all oder bei Linux und Mac Rechnern mit ifconfig.
Auch beim Server Zertifikat oben ist die Angabe dieser festen IP statt eines Namens technisch die bessere Lösung.


back-to-topWeiterführende Grundlagen Links zum Tutorial


Originale Anleitung in der NetGate Doku und Forum:
https://docs.netgate.com/pfsense/en/latest/recipes/ipsec-mobile-ikev2-cl ...
https://forum.netgate.com/topic/113227/ikev2-vpn-for-windows-10-and-osx- ...
Dito. für OPNsense Variante:
https://docs.opnsense.org/manual/how-tos/ipsec-rw-srv-mschapv2.html

Reine NUR xDSL Modems für pfSense/OPNsense:
Suche adsl2+ und vdsl modem
Wechsel ISP

Modem für Kabel-TV Provider an der pfSense:
https://www.heise.de/ct/ausgabe/2018-20-Netze-4159238.html?wt_mc=print.c ...

DNS Forwarding (Name Server) auf der pfSense und OPNsense richtig einstellen !:
PfSense - web.de wird trotz aktiver "Scheunentor-Regel" blockiert

DS-Lite Anschluss und VPN: Lösung mit VPS Vermittlungsserver und fester IP:
vServer Jumphost mit Fritzbox
https://cybercyber.org/m-net-ds-lite-anschluss-mit-pfsense.html
Zwei Mobilfunkrouter (TP-Link MR200) per VPN verbinden, ev. per externen VPN-Gateway (VPS-Server)
Feste IPs zuhause in pfsense via WireGuard Tunnel
Feste IPs zuhause in pfsense via GRE Tunnel

Konfig Fehler bei IPv6 vermeiden:
PFsense IPv6 - Was mache ich falsch ?
https://www.altmetaller.de/ipv6-pfsense-hinter-fritzbox-6360-kabel-deuts ...
Dual Stack Setup und Ping Check

Link Aggregation (LAG) mit pfSense und OPNsense:
Link Aggregation (LAG) im Netzwerk

Email Benachrichtigungen der Firewall richtig einrichten:
OPNSense - EMAIL Alerts - failed login

AirPrint Drucker und andere Bonjour/mDNS Dienste erreichbar machen:
Apple AirPrint über VLANs

back-to-topLinks zu VPN Client Themen


Mehrere lokale und remote IP Netze für mobilen VPN Client erreichbar machen:
IPSec Mobile to an other network IPSEC

VPN Client Troubleshooting:
Pfsense VPN - 1. Client OK - 2. will nicht

Windows 10 VPN Powershell Syntax:
https://technet.microsoft.com/de-de/library/dn262642(v=wps.630).aspx

VPN Benutzer Authentisierung mit Client Zertifikaten statt Pre-Shared Keys:
Mobile Clients mit Client Certificate authentifizieren

VPN Nutzer Authentisierung mit Radius:
Freeradius Management mit WebGUI
Feste IPs an VPN User per Radius zuweisen

Windows 10: Schneller VPN Aufbau per einfachem Mausklick:
https://www.heise.de/ct/ausgabe/2017-19-VPN-und-Remote-Desktop-Verbindun ...
Windows VPN User Credentials beachten:
Windows VPN L2TP , falsche Anmeldedaten

Automatisiertes VPN "on Demand" für iOS Apple Endgeräte über XML Templates:
https://openhabforum.de/viewtopic.php?t=116
VPN - Fritzbox vs. MikroTik

Aktuelle IKEv2 VPN Konfig für iPhone, Mac OS und IPsec native Clients:
https://forum.pfsense.org/index.php?topic=106433.0

back-to-topHardware Tips


pfSense / OPNsense auf Sophos Hardware
Sophos Hardware mit pfSense / OPNsense

pfSense / OPNsense auf Proxmox oder VmWare ESXi:
Pfsense in Proxmox als Router
VLAN mit Cisco SG220, ESXIund Pfsense
Sophos Software Appliance UTM - VLAN - CISCO SG Series Switches
Pfsense UNMAP error mit LSI Logic SAS?

Seriellen Terminal Anschluss der pfSense richtig handhaben:
Alschluss eines USB Seriel Adapter am APU2E4 Board

FritzBox 7412 als preiswertes VDSL "nur" Modem für pfSense/OPNsense:
https://www.spiegel.de/netzwelt/gadgets/fritzbox-7412-als-dsl-modem-dect ...
https://www.heise.de/select/ct/2020/2/1578238295698254

Firewall mit 2 oder mehr WAN Ports (Balancing, Failover):
https://docs.opnsense.org/manual/how-tos/multiwan.html
https://www.heise.de/select/ct/2016/24/1479992026108405
OpenSense mit 2 WAN und 2 LAN, Gateway festlegen

Glasfaser VLAN 7 Tagging am WAN Port OPNsense / pfSense:
Heise c't Artikel Zyxel PMG3000 , Links zum Artikel
Telekom FTTH, Zyxel GPON, OPNsense
https://www.heise.de/ct/artikel/pfSense-als-VDSL-Router-221500.html?seit ...

Verlässlicher Speedtest auf der pfSense:
https://www.andysblog.de/pfsense-wan-geschwindigkeit-direkt-am-router-me ...
https://github.com/sivel/speedtest-cli

Aufbau einer pfSense Firewall mit PCengines APU Mini Mainboard:
Preiswerte, VPN fähige Firewall im Eigenbau oder als Fertiggerät
Weitere Hardware:
https://www.varia-store.com/de/produkt/36843-pc-engines-apu2e4-bundle-bo ...
https://www.amazon.de/HUNSN-Firewall-Mikrotik-Security-Appliance/dp/B07D ...
https://www.amazon.de/HUNSN-Firewall-Mikrotik-Rackmount-Appliance/dp/B07 ...
Dobby's Hardware Tips:
PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone
PfSense on ARM (Marvell Armada 385) 2nd Edition

AdGuard DNS Werbe- und Malware Filter auf pfSense/OPNsense installieren:
https://broadbandforum.co/t/205884/

Werbe- und Malware Filter als Plugin installieren (OPNsense):
https://samuelsson.dev/install-adguard-home-on-an-opnsense-router/

Werbung zentral im Netz blocken mit der pfSense:
PfSense Werbung blocken
https://www.computing-competence.de/2018/06/11/mit-pfsense-werbung-und-p ...

back-to-topWeiterführende Links zu allgemeinen VPN Vernetzungsthemen


IPsec Grundlagen und Aufbau:
IPSEC Protokoll - Einsatz, Aufbau, benötigte Ports und Begriffserläuterungen

⚠️NAT Tücken bei remotem Port Forwarding in den VPN Tunnel beachten !!:
Wie Portforwarding über 2 miteinander verbundenen pfSense realisieren
Routing zwischen zwei PfSense - Nutzung von public IP

FritzBox Kaskade: Port Forwarding auf fremde IPs ohne NAT:
Keine Portfreigaben FritzBox 7490 mit aktueller FW 6.80 in Subnetze ?

back-to-topClient VPN Lösungen mit alternativer Hardware


Windows, Apple IKEv2 VPN Server für alle onboard VPN Clients auf Linux bzw. RasPi Basis:
IKEv2 VPN Server für Windows und Apple Clients mit Raspberry Pi

pfSense L2TP VPN Server für alle onboard VPN Clients::
PfSense VPN mit L2TP (IPsec) Protokoll für mobile Nutzer

Mikrotik L2TP VPN Server für alle onboard VPN Clients:
Mikrotik L2TP VPN Server

Cisco IOS Router als L2TP VPN Server:
Cisco 880, 890 und ISR Router Konfiguration mit xDSL, Kabel oder FTTH Anschluss plus VPN und IP-TV

L2TP VPN mit Linux StrongSwan:
Ubtuntu 20.10 mit UdmPro L2tp VPN Server verbinden

Windows u. Apple Mac onboard Clients mit IKEv2 auf Mikrotik Router:
https://wiki.mikrotik.com/wiki/Manual:IP/IPsec#Road_Warrior_setup_using_ ...

back-to-topTips zur VPN Vernetzung mit pfSense / OPNsense


Tücken bei der Fritzbox Wireguard VPN Verbindung umgehen:
S2S-Wireguard: AVM zu Mikrotik

IPsec Praxis Tutorial: Standort Vernetzung:
IPsec VPN Praxis mit Standort Vernetzung Cisco, Mikrotik, pfSense, FritzBox u.a

Layer 2 VLANs über VxLAN Tunnel routen:
VLAN über Site2Site VPN

Über VPN remote per VoIP telefonieren:
Zwei Standorte in Deutschland und EU mit pfSense und FritzBox 7490 für VoIP verbinden
VoIP Fritzbox 7490: Gesprächspartner hören sich nicht bei internen Anrufen

IPsec VPNs unterschiedlicher Hersteller:
IPsec VPNs einrichten mit Cisco, Mikrotik, pfSense Firewall, FritzBox, Smartphone sowie Shrew Client Software

VPN IPsec Standort Kopplung mit Cisco VTI Tunnel Interface:
Cisco SVTI - Tunnel

IPsec VPN Standort Vernetzung mit GRE Tunnel plus dynamischem OSPF Routing auf Mikrotik Router:
Routing Frage welches Protokoll für Mobile Geräte
Zwischen Miktrotik und PFSense GRE Tunnel mit IPSec Verschlüsslung

Beachten wenn mit IPsec Proxy Dienste wie Squid etc. aktiv sind !:
PFsense VPN tunnel zur FritzBox 7390 (IPSec)

OpenVPN oder WireGuard statt (oder mit) IPsec:
OpenVPN Server installieren auf pfSense Firewall, Mikrotik. DD-WRT oder GL.inet Router
Merkzettel: VPN Installation mit OpenVPN
Merkzettel: VPN Installation mit Wireguard

back-to-topGemischte Firewall Themen


IP-TV (Magenta TV) auf pfSense und OPNsense:
https://www.heise.de/ct/artikel/MagentaTV-auf-pfSense-Co-4698826.html
Magenta TV hinter pfSense und Cisco c3560cx
IPv6 für bestimmte Domain od. Gerät umgehen

Gastnetz mit einem Login Captive Portal und Einmalpasswort auf pfSense einrichten:
WLAN oder LAN Gastnetz einrichten mit einem Captive Portal (Hotspot Funktion)
https://www.dfn.de/fileadmin/3Beratung/Betriebstagungen/bt64/BT64_Mobile ...

Captive Portal User Statistiken per PHP aus der pfSense/OPNsense auslesen:
Daten aus pfSense Firewall auslesen

Content-ID: 337198

Url: https://administrator.de/tutorial/ipsec-ikev2-vpn-fuer-mobile-benutzer-auf-der-pfsense-oder-opnsense-firewall-einrichten-337198.html

Ausgedruckt am: 28.12.2024 um 02:12 Uhr

the-buccaneer
the-buccaneer 05.09.2017 um 00:33:00 Uhr
Goto Top
Danke! Habs jetzt erst gesehen face-wink
Sollte mit Win8.1 natürlich genauso gehen. Da ich mich von der PfSense 2.2x nicht trennen kann, bleibt das für mich Zukunftsmusik...
LG
Buc
Spitzbube
Spitzbube 20.09.2017 um 20:26:04 Uhr
Goto Top
Erst mal vielen Dank für diese tolle Anleitung. Alles sehr gut und übersichtlich erklärt, aber was ist für den Fall, wenn ich hinter einem NAT Router wie der Fritzbox sitze. Muss da die Option NAT/BINAT translation nicht konfiguriert werden?
aqui
aqui 21.09.2017, aktualisiert am 29.09.2017 um 10:58:16 Uhr
Goto Top
Das ist auch kein Problem !
Du musst ja nur dafür sorgen das die dann an der FritzBox eingehenden IPsec Pakete auf der IP Adresse der dahinter kaskadierten pfSense Firewall an deren WAN Port landen.
Sprich in der FritzBox muss dann wie immer bei solchen Kaskaden ein Port Forwarding für das verwendete VPN Protokoll, was hier die IPsec Protokollkomponenten sind, eingerichtet werden als da sind:
UDP 500 (IKE)
UDP 4500 (NAT Traversal)
ESP Protokoll mit der IP Nummer 50 (Achtung kein UDP oder TCP 50, ESP ist ein eigenes IP Protokoll!)
Dann funktioniert das auch in einer Kaskade fehlerlos.
Oder....man terminiert das IPsec nicht auf der Firewall sondern auf der FritzBox davor selber.
Ich nehme das mal als Anregung das Tutorial zu erweitern für so ein Kaskadendesign face-wink
<edit>Ist erledigt...</edit>
Spitzbube
Spitzbube 21.09.2017 um 11:57:04 Uhr
Goto Top
Das Tutorial zu erweitern für so ein Kaskadendesign wäre eine Spitzensache. Zumal ich das nicht nur hier sondern auch in anderen Foren immer häufiger lese.

Was ich nicht verstehe ist IP Nummer 50:

ESP Protokoll mit der IP Nummer 50 (Achtung kein UDP oder TCP 50, ESP ist ein eigenes IP Protokoll!)

-> Bei der Fritzbox hab ich halt die Möglichkeit, die Portfreigabe direkt im Heimnetzgerät (Pfsense) einzutragen oder über die Freigabe dem Netzwerkgerät das Protokoll zu zuordnen. Mehr kann ich hier nicht einstellen.
aqui
aqui 21.09.2017 aktualisiert um 15:27:34 Uhr
Goto Top
Das Tutorial zu erweitern für so ein Kaskadendesign wäre eine Spitzensache.
Schon erledigt ! face-big-smile
Was ich nicht verstehe ist IP Nummer 50:
Guckst du hier:
https://de.wikipedia.org/wiki/IPsec#Encapsulating_Security_Payload_.28ES ...
Wie alle Protokolle im IP Stack hat ESP auch eine dedizierte Protokoll Nummer, eben die 50.
Nummer 80 ist z.B. das IP Protokoll selber und 84 TCP.
Nimm einen Wireshark Sniffer und sie es dir selber schwarz auf weiß an ! face-wink
Mehr kann ich hier nicht einstellen.
Das stimmt wenigstens für die FritzBox de facto nicht !
Du kannst es am obigen Screenshot im Tutorial sehen.

Hier auch nochmal am Beispiel eines PPTP VPN Protokoll dessen Protokollkomponenten in der FB ebenfalls dediziert einstellbar sind. PPTP besteht aus:
GRE IP Protokoll Nummer 47
TCP 1723

fbvpn
Entweder redest du von was anderem oder suchst an der falschen Stelle im FB Setup ?!
Spitzbube
Spitzbube 21.09.2017 um 16:09:57 Uhr
Goto Top
Achso, das meinst du! Ja klar ESP IP Nummer 50. Nee alles gut. So hab ich das auch. Was ich nicht so habe wie bei dir in der Grafik, ist die Adressierung. Bei der Fritzbox wird mir die Pfsense als XX.XX.XX.42 angezeigt, da ich wie in anderen Beiträgen geschrieben einen Business Vertrag von Unity Media habe. Zu diesem gehören 5 feste IP Adressen. Die erste IP also XX.XX.XX.41 hat die Fritzbox automatisch vom Provider bekommen und die XX.XX.XX.42 Pfsense. Am WAN Interface der Pfsense habe ich die XX.XX.XX.42 statisch und das Upstream GW auch statisch auf XX.XX.XX.41 zugewiesen. Internet hab ich.

Werde das aber mal um konfigurieren, dann hat halt die Pfsense die 192.168.178.254 und die Fritzbox 192.168.178.1. So spare ich mir die eine statische Adresse.

Diese Aussage fand ich auch noch sehr interessant:

Im VPN Client selber muss natürlich dann die WAN / Internet IP Adresse des davorliegenden Routers als VPN Gateway Zieladresse angegeben werden oder ggf. dort ein DynDNS Client aktiviert werden wenn ein Hostname verwendet wird bei wechselnder Internet IP Adresse.

Da dachte ich immer, muss ich die IP der Pfsense eingeben und nicht die der Fritzbox.

Frage: Mit welchem Tool machst du deine Grafiken?

Werde das heute Abend mal so konfigurieren und dann nochmals berichten.

Vielen Dank für deine Mühe face-smile
aqui
aqui 21.09.2017 um 17:48:57 Uhr
Goto Top
Bei der Fritzbox wird mir die Pfsense als XX.XX.XX.42 angezeigt
Wie es angezeigt wird ist erstmal völlig egal das ist kosmetisch.
Einzig wichtig ist in den Einstellungen an der FB das das Port Forwarding auf die WAN IP der pfSense zeigt die dort kaskadiert ist !
In der Kaskadenkonfig muss dann am pfSense WAN Port der Haken "Block private networks) entfernt werden.
Achtung !: Nur in einer Kaskaden Konfig NIEMALS mit einem "Nur" Modem am öffentlichen Internet.
Am WAN Interface der Pfsense habe ich die XX.XX.XX.42 statisch
OK, dann hast du ein eigenes öffentliches Subnetz. Dann kannst du den ganz Kram in einer Kaskaden Konfig natürlich vergessen. Dann hast du ja kein NAT Router davor und die öffentliche IP direkt an der pfSense.
Damit ist das ganze Kaskaden Kram für dich ja vollkommen überflüssig !
dann hat halt die Pfsense die 192.168.178.25
Häää ??? Ja was denn nun ?? Oben schreibst du die pfSense hat die öffentliche IP XX.XX.XX.42 am WAN Port ?!?
Bahnhof, ? Ägypten ?
Da dachte ich immer, muss ich die IP der Pfsense eingeben und nicht die der Fritzbox.
Nicht denken sondern mal nachdenken !!
Wie sollte das denn bitte gehen wenn die pfSense in so einer Kaskade arbeitet mit einem privaten IP Netz und somit auch privaten IP Adresse die im Internet NICHT geroutet werden ?!
Nicht nur das der VPN Client diese IP Adressen niemals im Leben erreichen könnte (...da nicht geroutet) zusätzlich könnte er auch niemals die dvorliegende NAT Firewall des Routers überwinden ohne Port Freigabe.
Doppelter grund also warum es nicht geht !
In so einem Kaskaden Design ist doch immer der davorliegende Router und dess IP Adresse der einzige Zugang zum Internet ! Logisch ! ...denn er hält ja die öffentliche IP Adresse des Providers ! Die pfSense dahinter ist ja im lokalen LAN, sprich Koppelnetz mit einer privaten nicht gerouteten RFC 1918 IP Adresse.
Folglich kann man aus dem Internet ja einzig und allein die pfSense nur über den davorliegenden Router und logischerweise dessen IP am WAN Port erreichen.
Wie sollte das deiner Meinung denn sonst anders gehen ???
Fazit: Einfach mal logisch nachdenken face-wink
Und kläre mal das Mysterium deiner unterschiedlichen WAN IP Adressierung, das versteht keiner hier... face-sad
Spitzbube
Spitzbube 21.09.2017 aktualisiert um 21:50:31 Uhr
Goto Top
Jetzt mal langsam mit der Braut face-smile

Und kläre mal das Mysterium deiner unterschiedlichen WAN IP Adressierung, das versteht keiner hier...

Hab ja nix umgestellt. Das war nur von mir falsch verstanden! Dachte, das ist bei mir kaskatiert. Aber wie du ja schreibst ist das ein eigenes öffentliches Subnetz und nicht kaskatiert!

OK, dann hast du ein eigenes öffentliches Subnetz. Dann kannst du den ganz Kram in einer Kaskaden Konfig natürlich vergessen. Dann hast du ja kein NAT Router davor und die öffentliche IP direkt an der pfSense.
Damit ist das ganze Kaskaden Kram für dich ja vollkommen überflüssig !


Aber warum sagt das IPSec Log dann: 14[IKE] <5> remote host is behind NAT? Das verstehe ich nicht!

Hab dir mal meine Settings als Anhang hochgeladen:

aktuelle Portfreigaben der Fritzbox

fritzbox_ohne

Vorbereiten der pfSense für die Basiskonfiguration:

cas

Server Zertifikat erstellen:

certificates

Mobiles Client IPsec auf der pfSense einrichten:

mobile clients

IPsec Phase 1 Konfiguration:

phase1

IPsec Phase 2 Konfiguration:

phase2

VPN Einstellungen:

tunnels

Pre Shared Key:

pre-shared keys


Firewall Rules:

firewall rules

VPN Log:

Sep 21 21:01:27 	charon 		14[NET] <6> sending packet: from XX.XX.XXX.42 (IP der Pfsense)[500] to 80.187.115.140 (IP der des iPhones T-Mobile LTE)[500] (473 bytes)
Sep 21 21:01:27 	charon 		14[IKE] <6> received retransmit of request with ID 0, retransmitting response
Sep 21 21:01:27 	charon 		14[ENC] <6> parsed IKE_SA_INIT request 0 [ SA KE No N(REDIR_SUP) N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) ]
Sep 21 21:01:27 	charon 		14[NET] <6> received packet: from 80.187.115.140 (IP der des iPhones T-Mobile LTE)[500] to XX.XX.XXX.42 (IP der Pfsense)[500] (604 bytes)
Sep 21 21:01:24 	charon 		14[NET] <6> sending packet: from XX.XX.XXX.42 (IP der Pfsense)[500] to 80.187.115.140 (IP der des iPhones T-Mobile LTE)[500] (473 bytes)
Sep 21 21:01:24 	charon 		14[IKE] <6> received retransmit of request with ID 0, retransmitting response
Sep 21 21:01:24 	charon 		14[ENC] <6> parsed IKE_SA_INIT request 0 [ SA KE No N(REDIR_SUP) N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) ]
Sep 21 21:01:24 	charon 		14[NET] <6> received packet: from 80.187.115.140 (IP der des iPhones T-Mobile LTE)[500] to XX.XX.XXX.42 (IP der Pfsense)[500] (604 bytes)
Sep 21 21:01:21 	charon 		14[NET] <6> sending packet: from XX.XX.XXX.42 (IP der Pfsense)[500] to 80.187.115.140 (IP der des iPhones T-Mobile LTE)[500] (473 bytes)
Sep 21 21:01:21 	charon 		14[IKE] <6> received retransmit of request with ID 0, retransmitting response
Sep 21 21:01:21 	charon 		14[ENC] <6> parsed IKE_SA_INIT request 0 [ SA KE No N(REDIR_SUP) N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) ]
Sep 21 21:01:21 	charon 		14[NET] <6> received packet: from 80.187.115.140 (IP der des iPhones T-Mobile LTE)[500] to XX.XX.XXX.42 (IP der Pfsense)[500] (604 bytes)
Sep 21 21:01:18 	charon 		14[NET] <6> sending packet: from XX.XX.XXX.42 (IP der Pfsense)[500] to 80.187.115.140 (IP der des iPhones T-Mobile LTE)[500] (473 bytes)
Sep 21 21:01:18 	charon 		14[ENC] <6> generating IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(FRAG_SUP) N(MULT_AUTH) ]
Sep 21 21:01:18 	charon 		14[IKE] <6> sending cert request for "C=DE, ST=BW, L=GP, O=Home, E=user@gmail.com, CN=vpnca, OU=Home"  
Sep 21 21:01:18 	charon 		14[IKE] <6> remote host is behind NAT
Sep 21 21:01:18 	charon 		14[IKE] <6> 80.187.115.140 (IP der des iPhones T-Mobile LTE) is initiating an IKE_SA
Sep 21 21:01:18 	charon 		14[ENC] <6> parsed IKE_SA_INIT request 0 [ SA KE No N(REDIR_SUP) N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) ]
Sep 21 21:01:18 	charon 		14[NET] <6> received packet: from 80.187.115.140 (IP der des iPhones T-Mobile LTE)[500] to XX.XX.XXX.42 (IP der Pfsense)[500] (604 bytes)
Sep 21 21:01:14 	charon 		14[NET] <bypasslan|5> sending packet: from XX.XX.XXX.42 (IP der Pfsense)[4500] to 80.187.115.140 (IP der des iPhones T-Mobile LTE)[17675] (80 bytes)
Sep 21 21:01:14 	charon 		14[ENC] <bypasslan|5> generating IKE_AUTH response 1 [ N(AUTH_FAILED) ]
Sep 21 21:01:14 	charon 		14[IKE] <bypasslan|5> peer supports MOBIKE
Sep 21 21:01:14 	charon 		14[IKE] <bypasslan|5> received ESP_TFC_PADDING_NOT_SUPPORTED, not using ESPv3 TFC padding
Sep 21 21:01:14 	charon 		14[CFG] <bypasslan|5> no alternative config found
Sep 21 21:01:14 	charon 		14[IKE] <bypasslan|5> peer requested EAP, config inacceptable
Sep 21 21:01:14 	charon 		14[CFG] <bypasslan|5> selected peer config 'bypasslan'  
Sep 21 21:01:14 	charon 		14[CFG] <5> looking for peer configs matching XX.XX.XXX.42 (IP der Pfsense)[pfsense]...80.187.115.140 (IP der des iPhones T-Mobile LTE)[10.25.123.172]
Sep 21 21:01:14 	charon 		14[ENC] <5> parsed IKE_AUTH request 1 [ IDi N(INIT_CONTACT) N(MOBIKE_SUP) IDr CPRQ(ADDR DHCP DNS MASK ADDR6 DHCP6 DNS6 (25)) N(ESP_TFC_PAD_N) N(NON_FIRST_FRAG) SA TSi TSr ]
Sep 21 21:01:14 	charon 		14[ENC] <5> unknown attribute type (25)
Sep 21 21:01:14 	charon 		14[NET] <5> received packet: from 80.187.115.140 (IP der des iPhones T-Mobile LTE)[17675] to XX.XX.XXX.42 (IP der Pfsense)[4500] (496 bytes)
Sep 21 21:01:14 	charon 		14[NET] <5> sending packet: from XX.XX.XXX.42 (IP der Pfsense)[500] to 80.187.115.140 (IP der des iPhones T-Mobile LTE)[500] (473 bytes)
Sep 21 21:01:14 	charon 		14[ENC] <5> generating IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(FRAG_SUP) N(MULT_AUTH) ]
Sep 21 21:01:14 	charon 		14[IKE] <5> sending cert request for "C=DE, ST=BW, L=GP, O=Home, E=user@gmail.com, CN=vpnca, OU=Home"  
Sep 21 21:01:14 	charon 		14[IKE] <5> remote host is behind NAT
Sep 21 21:01:14 	charon 		14[IKE] <5> 80.187.115.140 (IP der des iPhones T-Mobile LTE) is initiating an IKE_SA
Sep 21 21:01:14 	charon 		14[ENC] <5> parsed IKE_SA_INIT request 0 [ SA KE No N(REDIR_SUP) N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) ]
Sep 21 21:01:14 	charon 		14[NET] <5> received packet: from 80.187.115.140 (IP der des iPhones T-Mobile LTE)[500] to XX.XX.XXX.42 (IP der Pfsense)[500] (604 bytes) 

Hoffe, es ist alles soweot ersichtlich.

Grüße
Spitzbube
aqui
aqui 22.09.2017 um 10:39:35 Uhr
Goto Top
Aber wie du ja schreibst ist das ein eigenes öffentliches Subnetz und nicht kaskatiert!
Warum schreibst du dann das du eine Kaskade benutzt face-sad
Zitieren tut man übrigens immer mit einer spitzen Klammer vor dem Zitat und nicht mit Doppelsternchen. Dann wird es nur fett... face-sad
Aber warum sagt das IPSec Log dann: 14[IKE] <5> remote host is behind NAT? Das verstehe ich nicht!
Mal nachdenken.... Der VPN Client nutzt NAT Traversal (UDP 4500). Dadurch erkennt der Server das NAT im Spiel ist auch wenn es das nicht ist. Kann ja aber mal sein das der Client hinter einem NAT Router ist wie im Hotel, Hotspot usw. oder einen Provider nutzt der Carrier Grade NAT macht. Das machen meist die Billig Provider mit einfachen nur Surf Accounts weil sie keine freien IPv4 Adressen mehr haben....
aktuelle Portfreigaben der Fritzbox
Wäre ja wenn du NICHT in einer Kaskade arbeitest absolut sinnfrei und auch kontraproduktiv !
Erschwerend kommt dazu das die FB selber VPN Router ist und "denkt" das eingehende IPsec ist für sie selber. Hier muss man also in der FB IPsec deaktivieren bzw. es darf keinerlei VPN Konfig vorhanden sein. Ansonsten forwardet die FB die IPsec Frames nicht und blockt sie !
Das bekommst du übrigens ganz einfach raus indem du mal einen Laptop statt der pfSense anschliesst am gleichen Port. Laptop mit gleicher IP wie die pfSense und pfSense abgezogen.
Dann startest du einen Wireshark Sniffer auf dem Laptop
Jetzt aktivierst du den VPN Client und checkst ob dort eingehende IPsec Pakete (IKE, ESP) ankommen !
Ist das der Fall klappt das Forwarding. Kommen sie nicht blockt die FB.
Ohne Wioreshark geht das auch sehr einfach mit der Paket Sniffer Funktion direkt in der pfSense unter "Diagnostics" !!
Wie gesagt...eigentlich alles sinnfrei denn du arbeitest ja eben NICHT in einer NAT Kaskade wie du selber sagst. Folglich ist dann auch Port Forwarding im Router davor sinnlos. Deine FB arbeizet dann vermutlich nur als reines Modem.
Vorbereiten der pfSense für die Basiskonfiguration:
Was ist das für ein merkwürdiges GUI ?? Farben sind nicht pfSense Default ?
Die Email Adresse ist fehlerhaft ! Aber wohl gewollt anonymisiert ?!
Sonst sieht das soweit gut aus wenn du dich explizit ans o.a. Tutorial gehalten hast.

Wenn das ein längerer "Akt" hier wird solltest du einen separaten Thread aufmachen mit einem hiesigen Verweis darauf um das Tutorial hier nicht unnötig aufzublähen.
Spitzbube
Spitzbube 24.09.2017 aktualisiert um 08:27:27 Uhr
Goto Top
Moin hab das mal in diesem Thema (Mobile Einwahl IPSec VPN von iPhone iPad T-Mobile zur Pfsense)neu zusammen gepackt.

Was ist das für ein merkwürdiges GUI ?? Farben sind nicht pfSense Default ? Nein, dass ist ein mitgeliefertes anderes Theme angenehmer für meine Augen.

Die Email Adresse ist fehlerhaft ! Aber wohl gewollt anonymisiert ?! Ja, anonymisiert!
PRO4NETWORK
PRO4NETWORK 04.03.2018 um 19:42:12 Uhr
Goto Top
Hallo aqui,

vielen Dank für Ihre super Anleitung.
Ich habe diese entsprechende Umgesetzt und konfiguriert.

Leider stelle ich nach zwei Tagen fest, das keine VPN Einwahl mehr stattfinden kann.
Im Windows komme folgende Fehlermeldung.

"Die Netzwerkverbindung zwischen Ihrem Computer und dem VPN Server konnte nicht hergestellt werden, da der Remoteserver nicht antwortet.
Das Verbindungsproblem wird möglicherweise verursacht, weil eins der Netzwerkgeräte (zum Beispiel Firewall, NAT, Router usw.) zwischen Ihrem Computer und dem Remoteserver nicht für das Zulassen von VPN-Verbindungen konfiguriert ist."

Haben Sie da eine erklärung für.
Ich habe keine Änderungen vorgenommen, die WAN Anbindung beider Netze (pfsense / Remote) haben sich nicht geändert.
Würde mich über eine Idee der Problemlösung sehr freuen....

Vielen Dank
aqui
aqui 05.03.2018, aktualisiert am 26.03.2018 um 11:19:21 Uhr
Goto Top
Der VPN Server antwortet nicht oder nicht mehr auf dort eingehende Client VPN Pakete.
Ohne weitere konkrete Tests, kann man da jetzt nur spekulieren woran das liegt, denn es gibt ja 2 Optionen:
  • Entweder die Client Pakete bleiben irgendwo hängen und es kommt gar nichts am VPN Server an
  • Es kommt was an am Server aber die Firewall blockt es
Hier wäre am Client mal ein Wireshark Trace sehr hilfreich gewesen oder am Server einmal ein Paket Trace über das Diagnostics Menü am WAN Port.
So bleibt jetzt nur spekulieren... face-sad
Bleiben wir mal bei den Standard Fehlern:
  • Von wo kommen die VPN Clients ? Falls Mobilfunk, filtert der Provider hier ggf. oder nutzt er RFC 1918 Netze mit CGN (Provider NAT) ?
  • NAT Traversal am VPN Client aktiviert ?
  • Auf der Firewall mit einer WAN Regel die Ports UDP 500, 4500 und das ESP Protokoll auf die WAN Port IP Adress der pfSense als Ziel freigegeben ?
  • Unter Diagnostics -> Packet Capture am WAN Port checken ob dort IPsec Pakete eingehen. Hier mal auf die Absender IP, ESP, UDP 500, 4500 den Traffic einschränken um nicht alles mitzusniffern.
  • WAS sagt das VPN Log der pfSense (wichtig !) ?
  • Was sagt das Log des Clients ?
Etwas mehr Detailinfos und Tests wären sehr hilfreich hier für eine zielführende Hilfe.
Xplosive
Xplosive 28.03.2018 aktualisiert um 13:17:13 Uhr
Goto Top
Hallo aqui und der Rest ;)

danke für das tolle VPN Tutourial. Ich hab mal ne Frage zu IPTV von der Telekom und VPN:

Ist es gernell möglich, dass man quasi in einem öffentlichen WLAN sich ins VPN einloggt, um dann das IPTV der Telekom zu streamen?

Leider klappt das bei mir nicht, obwohl ich im IGMP Proxy die Adresse 10.98.1.0/24 eingetragen habe (siehe VPN > IPsec -> Mobile Clients: Virtual Adress pool) und unter Firewall -> Rules -> IPsec auch die IP-Pakete-Option bei einer "allow all" Regel aktiviert habe.

Hab ich noch etwas vergessen oder einen Denkfehler?
Lieben Dank und viele Grüße
aqui
aqui 28.03.2018 aktualisiert um 13:41:08 Uhr
Goto Top
Ja, das sollte gehen. Voraussetzung dafür ist aber das der VPN Router/Firewall PIM Routing supportet. PIM muss dann auch für das virtuelle VPN Interface aktiviert sein.
Bevor du das angehst solltest du testen ob IP-TV im lokalen LAN fehlerfrei rennt ?! Ist das denn der Fall ?
Infos zu Multicast und PIM findest du hier:
https://www.youtube.com/watch?v=AvbSMBKBZgY

Ein sehr einfaches und effizentes lokales Testsetup findest du hier:
Fehlersuche im lokalem Netzwerk (RSTP, MRP, Multicast)
Xplosive
Xplosive 28.03.2018 aktualisiert um 14:50:22 Uhr
Goto Top
Hi aqui,

ja bisher rennt das IPTV im LAN fehlerfrei. Als Router kommt das apu2 Board mit der aktuellen pfsense zum Einsatz. Wird hier PIM-Routing unterstützt? Ein virtuelles Interface habe ich für VPN noch nicht. Wie wird das eingerichtet?

Grüße
aqui
aqui 28.03.2018 um 14:52:51 Uhr
Goto Top
Wird das eingerichtet?
Ja, automatisch wenn du dein VPN ein richtest. Was auch immer du da machst PPTP, IPsec, OpenVPN, L2TP usw.
Das rennt dann schon so bei dir:
https://blog.tausys.de/2014/10/16/telekom-iptv-mit-pfsense/
bzw.
https://forum.pfsense.org/index.php?topic=122731.0
PIM kann die pfSense nicht aber das lässt sich mit IGMP Proxy lösen.
Praktisch hab ich das noch nicht getestet. Wäre aber mal ein Aufbau wert face-wink
Xplosive
Xplosive 28.03.2018 aktualisiert um 15:12:16 Uhr
Goto Top
Ja die Anleitungen habe ich bei der Einrichtung auch benutzt. Wie gesagt im LAN funktioniert das IPTV. Nur eben nicht über VPN (IPSec)

Ein weiteres Downstream-Interface (auf LAN Interface) hab ich im IGMP Proxy bereits angelegt mit der Adresse 10.98.1.0/24 aus der IPSec Konfiguration (siehe VPN > IPsec -> Mobile Clients: Virtual Adress pool) Was muss ich sonst noch aktivieren?
juergwin
juergwin 19.08.2018 um 16:36:20 Uhr
Goto Top
danke für die super Anleitung.

ich nutze den Windows 10 VPN-Client.
Bei mir funktioniert der Verbindungsaufbau jedoch nur, wenn ich die
VPN Verbindung mittels der 3 Befehle mit PowerShell anlege.

Wenn ich die VPN-Verbindung mittels Client-Setup im Windows
Netzwerk- und Freigabecenter erstelle schlägt der Verbindungsaufbau
mit folgender Fehlermeldung fehl:
"Verbindung mit VPN-Verbindung nicht möglich
Fehler in Richtlinienübereinstimmung",

Die im Client-Setup einsehbaren Einstellungen sind für die mittels PowerShell
und für die mittels Client-Setup erstellte Verbindung identisch.

Mein Problem ist, dass ich von einem Windows 7-Client ebenfalls eine
Verbindung zur PFSense erstellen möchte. Hier ist jedoch die Erstellung
der Verbindung mittels PowerShell nicht möglich ist.

Ich habe auch deshalb eine Verbindung mittels Client-Setup erstellt und
erhalte hier beim Verbindungsaufbau folgende Fehlermeldung:
"Fehler 13801: IKE-Authentifizierung-Anmeldeinformationen sind nicht akzeptabel"


Gruß

Jürgen
aqui
aqui 19.08.2018 um 17:51:21 Uhr
Goto Top
Windows 7 supportet m.E. kein IKEv2 oder nur mit einem Einfriff in die Registry. Deshalb schlägt die Verbindung auf einen IKEv2 VPN Server fehl. Hier musst du vermutlich den Shrew Soft Client verwenden.
Alternativ müsstest du den VPN Server mit IKEv1 aufsetzen dann rennt der Win 7 Client aber Win 10 nicht mehr denn der bordeigene Client supportet m.E. nur noch IKEv2.
Microsoft Dilemma... face-sad
juergwin
juergwin 20.08.2018 um 11:31:08 Uhr
Goto Top
danke für die schnelle Antwort.

Den erforderliche DWORD-Eintrag in die Registry hatte ich bereits vorgenommen.

Ich verstehe noch nicht weshalb es bei Win 10 nur bei Erstellung der Verbindung
mittels Powershell funkioniert.

Gruß

Jürgen
aqui
aqui 21.08.2018 aktualisiert um 12:27:43 Uhr
Goto Top
Ich verstehe noch nicht weshalb es bei Win 10 nur bei Erstellung der Verbindung mittels Powershell funkioniert.
Das versteht wohl auch nur MS selber....oder ggf. einer der Winblows Gurus hier face-wink
pipen1976
pipen1976 09.10.2018 um 13:32:44 Uhr
Goto Top
Vielen Dank für die Super Anleitung. Ich habe die Anleitung befolgt, bekomme aber leider bei der VPN Verbindung mit Windows 10 eine Fehlermeldung. Mit einem Android Handy und StrongSwan funktioniert es ohne Probleme. Die Fehlermeldung am Client ist:

ike authentifizierung anmeldeinformationen sind nicht akzeptabel

Der Log in der pfSense sieht so aus:

Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid d5:2e:13:c1:ab:e3:49:da:e8:b4:95:94:ef:7c:38:43:60:64:66:bd
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid 59:79:12:de:61:75:d6:6f:c4:23:b7:77:13:74:c7:96:de:6f:88:72
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid d3:94:8a:4c:62:13:2a:19:2e:cc:af:72:8a:7d:36:d7:9a:1c:dc:67
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid 6c:ca:bd:7d:b4:7e:94:a5:75:99:01:b6:a7:df:d4:5d:1c:09:1c:cc
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid ab:30:d3:af:4b:d8:f1:6b:58:69:ee:45:69:29:da:84:b8:73:94:88
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid 42:32:b6:16:fa:04:fd:fe:5d:4b:7a:c3:fd:f7:4c:40:1d:5a:43:af
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid f0:63:ba:7c:9a:16:74:4a:9c:db:54:ec:23:cd:67:29:8e:7c:49:4d
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid a5:06:8a:78:cf:84:bd:74:32:dd:58:f9:65:eb:3a:55:e7:c7:80:dc
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid e2:7f:7b:d8:77:d5:df:9e:0a:3f:9e:b4:cb:0e:2e:a9:ef:db:69:77
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid 5f:f3:24:6c:8f:91:24:af:9b:5f:3e:b0:34:6a:f4:2d:5c:a8:5d:cc
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid 6d:aa:9b:09:87:c4:d0:d4:22:ed:40:07:37:4d:19:f1:91:ff:de:d3
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid 83:31:7e:62:85:42:53:d6:d7:78:31:90:ec:91:90:56:e9:91:b9:e3
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid 7e:95:9f:ed:82:8e:2a:ed:c3:7c:0d:05:46:31:ef:53:97:cd:48:49
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid 3e:51:59:8b:a7:6f:54:5c:77:24:c5:66:eb:aa:fb:3e:2b:f3:ac:4f
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid 3e:18:e5:44:f6:bd:4d:77:50:28:c9:40:3e:5c:74:f5:4c:d9:60:29
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid 3e:22:d4:2c:1f:02:44:b8:04:10:65:61:7c:c7:6b:ae:da:87:29:9c
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid b1:81:08:1a:19:a4:c0:94:1f:fa:e8:95:28:c1:24:c9:9b:34:ac:c7
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid 21:0f:2c:89:f7:c4:cd:5d:1b:82:5e:38:d6:c6:59:3b:a6:93:75:ae
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid 23:4b:71:25:56:13:e1:30:dd:e3:42:69:c9:cc:30:d4:6f:08:41:e0
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid bb:c2:3e:29:0b:b3:28:77:1d:ad:3e:a2:4d:bd:f4:23:bd:06:b0:3d
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid b0:19:89:e7:ef:fb:4a:af:cb:14:8f:58:46:39:76:22:41:50:e1:ba
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid ee:e5:9f:1e:2a:a5:44:c3:cb:25:43:a6:9a:5b:d4:6a:25:bc:bb:8e
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid 90:2f:82:a3:7c:47:97:01:1e:0f:4b:a5:af:13:13:c2:11:13:47:ea
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid 22:f1:9e:2e:c6:ea:cc:fc:5d:23:46:f4:c2:e8:f6:c5:54:dd:5e:07
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid 67:ec:9f:90:2d:cd:64:ae:fe:7e:bc:cd:f8:8c:51:28:f1:93:2c:12
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid 17:4a:b8:2b:5f:fb:05:67:75:27:ad:49:5a:4a:5d:c4:22:cc:ea:4e
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid 68:33:0e:61:35:85:21:59:29:83:a3:c8:d2:d2:e1:40:6e:7a:b3:c1
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid 9c:a9:8d:00:af:74:0d:dd:81:80:d2:13:45:a5:8b:8f:2e:94:38:d6
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid 4f:9c:7d:21:79:9c:ad:0e:d8:b9:0c:57:9f:1a:02:99:e7:90:f3:87
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid da:67:aa:54:74:54:9c:0e:6f:bc:92:f2:fa:97:9a:1a:93:62:d1:13
Oct 9 13:27:32 charon 15[IKE] <16> received cert request for unknown ca with keyid ce:89:a4:e6:01:85:b1:71:4a:a7:10:db:d7:f4:7a:f3:0b:b4:cb:72
Oct 9 13:27:32 charon 15[IKE] <16> received 58 cert requests for an unknown ca
Oct 9 13:27:32 charon 15[CFG] <16> looking for peer configs matching 192.168.0.152[%any]...192.168.0.123[192.168.0.123]
Oct 9 13:27:32 charon 15[CFG] <16> candidate "bypasslan", match: 1/1/24 (me/other/ike)
Oct 9 13:27:32 charon 15[CFG] <16> candidate "con-mobile", match: 1/1/1052 (me/other/ike)
Oct 9 13:27:32 charon 15[CFG] <con-mobile|16> selected peer config 'con-mobile'
Oct 9 13:27:32 charon 15[IKE] <con-mobile|16> initiating EAP_IDENTITY method (id 0x00)
Oct 9 13:27:32 charon 15[IKE] <con-mobile|16> processing INTERNAL_IP4_ADDRESS attribute
Oct 9 13:27:32 charon 15[IKE] <con-mobile|16> processing INTERNAL_IP4_DNS attribute
Oct 9 13:27:32 charon 15[IKE] <con-mobile|16> processing INTERNAL_IP4_NBNS attribute
Oct 9 13:27:32 charon 15[IKE] <con-mobile|16> processing INTERNAL_IP4_SERVER attribute
Oct 9 13:27:32 charon 15[IKE] <con-mobile|16> peer supports MOBIKE
Oct 9 13:27:32 charon 15[IKE] <con-mobile|16> authentication of 'pfSense' (myself) with RSA signature successful
Oct 9 13:27:32 charon 15[IKE] <con-mobile|16> sending end entity cert "CN=pfSense, C=DE, ST=Bayern, L=Bodenmais, O=Weikl"
Oct 9 13:27:32 charon 15[ENC] <con-mobile|16> generating IKE_AUTH response 1 [ IDr CERT AUTH EAP/REQ/ID ]
Oct 9 13:27:32 charon 15[NET] <con-mobile|16> sending packet: from 192.168.0.152[4500] to 192.168.0.123[4500] (1488 bytes)
Oct 9 13:27:35 charon 12[JOB] <con-mobile|15> deleting half open IKE_SA with 192.168.0.123 after timeout
Oct 9 13:27:35 charon 12[IKE] <con-mobile|15> IKE_SA con-mobile[15] state change: CONNECTING => DESTROYING
Oct 9 13:28:02 charon 12[JOB] <con-mobile|16> deleting half open IKE_SA with 192.168.0.123 after timeout
Oct 9 13:28:02 charon 12[IKE] <con-mobile|16> IKE_SA con-mobile[16] state change: CONNECTING => DESTROYING

Hat jemand eine Idee?

Gruß Christian
aqui
aqui 11.10.2018, aktualisiert am 21.10.2018 um 13:51:50 Uhr
Goto Top
Er meckert eine "unknown" CA vom Client an.
So wie es aussieht hast du vergessen auf dem Winblows 10 Rechner das mit der pfSense generierte Zertifikat einzuspielen:
IPsec IKEv2 VPN für mobile Benutzer auf der pfSense oder OPNsense Firewall einrichten
Kann das sein ??
Lösung: Zertifikat vergessen als Server Zertifikat zu deklarieren !
pipen1976
pipen1976 11.10.2018 um 12:50:01 Uhr
Goto Top
Hallo aqui,

eigentlich ist es drin.
certmgr

Gruß Christian
137443
137443 11.10.2018 aktualisiert um 13:02:00 Uhr
Goto Top
Zitat von @pipen1976:

Hallo aqui,

eigentlich ist es drin.
certmgr

Gruß Christian
Ein CA-Zertifikat gehört in den ComputerStore, nicht in den des aktuellen Benutzers.

Gruß l
aqui
aqui 11.10.2018 aktualisiert um 13:08:10 Uhr
Goto Top
Ja, das wird sicher der Fehler sein !!!
Siehe Tutorial: "Dann "Lokale Computer" und "Weiter" auswählen und Security Abfrage abnicken." face-wink
Denn wenn es mit Strongswan funktioniert dann ist das ein Indiz das alles richtig gemacht wurde mit dem Zertifikat, denn sonst würde das dort auch nicht klappen logischerweise.
Unbedingt dann das Zertifikat wieder aus dem Aktuellen Benutzer löschen !
Gib mal ein Feedback ob es das war...
pipen1976
pipen1976 11.10.2018 aktualisiert um 14:06:57 Uhr
Goto Top
Genau so ist es. Das CA-Zertifikat gehört in den ComputerStore. Dannach funktioniert auch sofort die VPN Verbindung.
Wer lesen kann ist klar im Vorteil......
Vielen Dank aqui und lummel.
135624
135624 21.10.2018 um 13:16:55 Uhr
Goto Top
Hi,

vielleicht noch ein kurzer Hinweis zu diesem Fehler. Ich hatte den auch. Mit meinem Android und StronSwan funktioniert dann deine tolle Anleitung wunderbar. Ich habe sogar 2 Verbindungen, die in unterschiedliche Netze geroutet werden hinbekommen.

Auf dem Windows 10 Client bekomme ich dann aber genau den gleichen Fehler wie pipen1976. Das Zertifikat ist unter ComputerKonto entsprechend der Anleitung hinterlegt.

Der Client gibt in der GUI IKE-Authentifizierung-Anmeldeinformationen sind nicht akzeptabel als Fehlermeldung aus. Im Windows-Log steht "Ursachencode" 13801.

Nach einer kurzen Google-Suche findet man folgendes:
We may check it by the following steps: On VPN server, run mmc, add snap-in “certificates”, expand certificates-personal-certificates, double click the certificate installed, click detail for “enhanced key usage”, verify if there is “server authentication” below.

Quelle: Antwort von Anne He https://social.technet.microsoft.com/Forums/ie/en-US/771bf5ec-7017-4fd3- ...

Lösung war, das das Zertifikat bei der pfsense nicht, wie in deiner Anleitung beschrieben, auf Server-Zertifikat gestellt war. (kann ja mal schnell passieren, dass man sich verklickt ;) )

VG
Green14

PS: Ich hatte auch den Fehler "Fehler 633 - das Modem (oder ein anderes Gerät) wird bereits verwendet". Lösung: https://support.microsoft.com/de-de/help/885959/error-633-the-modem-or-o ... (ist ein reines Windows-Problem). Auch wenn laut netstat nichts auf dem Port war, habe ich es eingerichtet und hatte den Fehler nicht mehr.
aqui
aqui 21.10.2018, aktualisiert am 16.01.2023 um 14:20:01 Uhr
Goto Top
Danke für das Feedback !
Ich habe das Tutorial oben nochmal entsprechend angepasst und es dicker gekennzeichnet das das Zertifikat immer als Server Zertifikat zu generieren ist !
pipen1976
pipen1976 13.11.2018 um 11:32:09 Uhr
Goto Top
Hallo,

so pfSense ist installiert. Alles funktioniert so wie es sein sollte, bis auf ein kleines DNS Problem. Wenn ich jetzt mit einem Mobilen Gerät (Notebook Win10) eine VPN Verbindung aufbaue dann habe ich ein DNS Problem. Die Netzlaufwerke sind mit DNS Namen gemappt. Das mobile Gerät kann bei Verbindung nicht richtig auflösen. Per IP Adresse ist das Laufwerk erreichbar. Das mobile Gerät bekommt ein Virtuelles Netz 10.98.1.0/24. Mein LAN hat 192.168.0.0/24. Wie bekomme ich das jetzt am elegantesten hin das bei der VPN Verbindung die Laufwerke aufgelöst werden können?

Gruß Christian
aqui
aqui 16.11.2018, aktualisiert am 23.02.2019 um 11:46:31 Uhr
Goto Top
Das kommt daher das dein DNS Server vermutlich noch der ist, der am Client aktiv ist. Das ist dann ganz sicher wohl ein Internet DNS eines Providers, der logischerweise dann deine internen DNS Namen nicht kennt. Woher auch ?
Deshalb laufen die ins Nirwana und es gehen nur IPs.
Fazit:
Du musst entweder beim Dialin auf den remoten DNS mit den lokalen Namen umstellen oder...
Die Hostnamen der lokalen Rechner/Server auf die du zugreifen musst ganz einfach in die lokale hosts oder lmhosts Datei des Rechners statisch eintragen.
XP-Home mit 2 Kabelgebundenen und WLAN PCs
Beides fixt das "Problem" !
pipen1976
pipen1976 20.11.2018 um 11:30:58 Uhr
Goto Top
Danke für die Lösung meines Problem´s.
aqui
aqui 20.11.2018 um 13:13:07 Uhr
Goto Top
Immer gerne wieder....
Interessant (und auch hilfreich) wäre es für die Forums Community gewesen mal ein Feedback zu geben WIE du es denn nun final gelöst hast ?!
Datax87
Datax87 10.03.2019 um 15:41:49 Uhr
Goto Top
Hallo,

versuche mich gerade an der hier gezeigten IPSec-Konfiguration.

Bin gerade bei dem Schritt,
wo man die Phase 1 konfiguriert (ein "Proposal" für die Phase 1 festlegen).

Bei "Phase 1 Proposal (Authentication)" beim Punkt "Authentication Method" soll “EAP-MSChapv2” ausgewählt werden,
leider gibt es diesen Punkt bei mir gar nicht.

Ich nutze die aktuelle Version der "pfsense"-Firewall (Version 2.4.4 Release p1),
habe von dem genannten Problem auch einen Screenshot mit angehängt.

Bei mir sind bei "Authentication Method" lediglich die Optionen "Mutual RSA" sowie "Mutual PSK" auswählbar ^^.

Woran kann das liegen?

Ist "“EAP-MSChapv2” inzwischen aus der "pfsense"-Firewall entfernt worden (ggf. zu unsicher!?)
oder könnte ich einen Fehler bei der Konfiguration gemacht haben?
phase_1_konfiguration
aqui
aqui 11.03.2019 aktualisiert um 01:23:09 Uhr
Goto Top
Kann das sein das vergessen hast zuerst die Mobile Clients zu aktivieren und dort die entsprechenden Parameter zu setzen und in der Phase 1 dann oben die “Key Exchange version” vergessen hast auf IKEv2 zu setzen ??
Irgendwas hast du auf alle Fälle vergessen !
Also bitte nochmal alle Schritte in Ruhe ansehen und Schritt für Schritt abarbeiten !
Die Auswahl gibt es dort natürlich definitiv ! Guckst du hier:
ike
mtb931
mtb931 16.03.2019 aktualisiert um 18:37:25 Uhr
Goto Top
Erst einmal ein dickes Dankeschön für die detaillierten Tutorials zur pfsense. Ich bin Netzwerkanfänger und hoffe dass Ihr mich nicht gleich zerreist.
Die pfSens Firewall habe ich aqui's Tutorial erfolgreich eingerichtet.
Das VPN Tutorial hier habe ich mehrmals einschließlich auch der Kommentare von pipen1976, der ein auf den ersten Blick ähnlich gelagertes Problem hatte, durchgearbeitet. Leider ohne Erfolg. Nun brauche ich glaube ich Eure Hilfe.

Problem:
Keine VPN-Verbindung mit WIN 10 - Fehlermeldung IKE-Authentifizierung - Anmeldeinformationen sind nicht akzeptabel / ABER VPN-Verbindung über Androidgeräte Strong Swan Client und identischem Zertifikat funktioniert perfekt

System:
pfsense 2.4.4 rel p2 als Kaskade hinter fritzbox 7490, Client WIN10 1803

Mit meinem laienhaften Verständnis meine ich aus dem IPSEC Log (siehe unten) der pfsense zu erkennen, dass es am Zertifikat hängt.

Das Zertifikat wurde unter LokalerComputer installiert:
k-zertifikat in compustore


Die alternativen DNS Namen habe ich gem. Anleitung versucht einzutragen (durchgestrichen ist Adresse unter der die Fritzbox von außen erreichbar ist):
k-zertifikat_02

k-zertifikat_01

pfSense Name:
k-pfsense_name

Zertifikat in der pfsense aktiv:
k-pfsense_certificate

Die VPN Verbindung wurde wie hier in der Anleitung beschrieben mit der powershell ohne splittunneling eingerichtet.

Hat von Euch jemand eine Idee was ich bei der WIN10 VPN Konfiguration falsch mache ?

pfsense Log:
Mar 16 10:34:09 charon 12[NET] <con-mobile|33> sending packet: from 10.19.8.254[4500] to xxx [24198] (484 bytes)
Mar 16 10:34:09 charon 12[NET] <con-mobile|33> sending packet: from 10.19.8.254[4500] to xxx [24198] (1236 bytes)
Mar 16 10:34:09 charon 12[ENC] <con-mobile|33> generating IKE_AUTH response 1 [ EF(2/2) ]
Mar 16 10:34:09 charon 12[ENC] <con-mobile|33> generating IKE_AUTH response 1 [ EF(1/2) ]
Mar 16 10:34:09 charon 12[ENC] <con-mobile|33> splitting IKE message (1648 bytes) into 2 fragments
Mar 16 10:34:09 charon 12[ENC] <con-mobile|33> generating IKE_AUTH response 1 [ IDr CERT AUTH EAP/REQ/ID ]
Mar 16 10:34:09 charon 12[IKE] <con-mobile|33> sending end entity cert "CN=pfsense, C=GE, ST=Germany, L=Ingolstadt, O=mm, OU=m"
Mar 16 10:34:09 charon 12[IKE] <con-mobile|33> authentication of 'pfsense' (myself) with RSA signature successful
Mar 16 10:34:09 charon 12[IKE] <con-mobile|33> peer supports MOBIKE
Mar 16 10:34:09 charon 12[IKE] <con-mobile|33> processing INTERNAL_IP6_SERVER attribute
Mar 16 10:34:09 charon 12[IKE] <con-mobile|33> processing INTERNAL_IP6_DNS attribute
Mar 16 10:34:09 charon 12[IKE] <con-mobile|33> processing INTERNAL_IP6_ADDRESS attribute
Mar 16 10:34:09 charon 12[IKE] <con-mobile|33> processing INTERNAL_IP4_SERVER attribute
Mar 16 10:34:09 charon 12[IKE] <con-mobile|33> processing INTERNAL_IP4_NBNS attribute
Mar 16 10:34:09 charon 12[IKE] <con-mobile|33> processing INTERNAL_IP4_DNS attribute
Mar 16 10:34:09 charon 12[IKE] <con-mobile|33> processing INTERNAL_IP4_ADDRESS attribute
Mar 16 10:34:09 charon 12[IKE] <con-mobile|33> initiating EAP_IDENTITY method (id 0x00)
Mar 16 10:34:09 charon 12[CFG] <con-mobile|33> selected peer config 'con-mobile'
Mar 16 10:34:09 charon 12[CFG] <33> candidate "con-mobile", match: 1/1/1052 (me/other/ike)
Mar 16 10:34:09 charon 12[CFG] <33> candidate "bypasslan", match: 1/1/24 (me/other/ike)
Mar 16 10:34:09 charon 12[CFG] <33> looking for peer configs matching 10.19.8.254[%any]...xxx [192.168.43.71]
Mar 16 10:34:09 charon 12[IKE] <33> received 51 cert requests for an unknown ca
...
5c:b8:69:fe:8d:ef:c1:ed:66:27:ee:b2:12:0f:72:1b:b8:0a:0e:04
Mar 16 10:34:09 charon 12[IKE] <33> received cert request for unknown ca with keyid 4a:5c:75:22:aa:46:bf:a4:08:9d:39:97:4e:bd:b4:a3:60:f7:a0:1d
Mar 16 10:34:09 charon 12[IKE] <33> received cert request for "CN=pfsense, C=GE, ST=Germany, L=Ingolstadt, O=mm, OU=m"
...
Mar 16 10:34:09 charon 12[IKE] <33> received cert request for unknown ca with keyid 87:c1:62:a6:79:1e:bb:b9:37:a8:fe:4e:2f:35:0e:ff:00:4b:eb:e0
Mar 16 10:34:09 charon 12[ENC] <33> parsed IKE_AUTH request 1 [ IDi CERTREQ N(MOBIKE_SUP) CPRQ(ADDR DNS NBNS SRV ADDR6 DNS6 SRV6) SA TSi TSr ]
Mar 16 10:34:09 charon 12[ENC] <33> received fragment #3 of 3, reassembled fragmented IKE message (1344 bytes)
Mar 16 10:34:09 charon 12[ENC] <33> parsed IKE_AUTH request 1 [ EF(3/3) ]
Mar 16 10:34:09 charon 12[NET] <33> received packet: from xxx [24198] to 10.19.8.254[4500] (356 bytes)
Mar 16 10:34:09 charon 12[ENC] <33> received fragment #2 of 3, waiting for complete IKE message
Mar 16 10:34:09 charon 12[ENC] <33> parsed IKE_AUTH request 1 [ EF(2/3) ]
Mar 16 10:34:09 charon 12[NET] <33> received packet: from xxx [24198] to 10.19.8.254[4500] (580 bytes)
Mar 16 10:34:09 charon 12[ENC] <33> received fragment #1 of 3, waiting for complete IKE message
Mar 16 10:34:09 charon 12[ENC] <33> parsed IKE_AUTH request 1 [ EF(1/3) ]
Mar 16 10:34:09 charon 12[NET] <33> received packet: from xxx [24198] to 10.19.8.254[4500] (580 bytes)
Mar 16 10:34:09 charon 16[JOB] next event in 19s 998ms, waiting
Mar 16 10:34:09 charon 16[JOB] next event in 19s 998ms, waiting
Mar 16 10:34:09 charon 12[NET] <33> sending packet: from 10.19.8.254[500] to xxx [12513] (473 bytes)
Mar 16 10:34:09 charon 12[ENC] <33> generating IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(FRAG_SUP) N(MULT_AUTH) ]
Mar 16 10:34:09 charon 12[IKE] <33> sending cert request for "C=GE, ST=Germany, L=Ingolstadt, O=mm, E=m-my@online.de, CN=vpnca, OU=m"
Mar 16 10:34:09 charon 16[JOB] next event in 19s 999ms, waiting
Mar 16 10:34:09 charon 16[JOB] next event in 19s 999ms, waiting
Mar 16 10:34:09 charon 12[IKE] <33> remote host is behind NAT
Mar 16 10:34:09 charon 12[IKE] <33> local host is behind NAT, sending keep alives
Mar 16 10:34:08 charon 12[CFG] <33> selected proposal: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
Mar 16 10:34:08 charon 12[CFG] <33> configured proposals: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
Mar 16 10:34:08 charon 12[CFG] <33> received proposals: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
Mar 16 10:34:08 charon 12[CFG] <33> proposal matches
Mar 16 10:34:08 charon 12[CFG] <33> selecting proposal:
Mar 16 10:34:08 charon 12[IKE] <33> IKE_SA (unnamed)[33] state change: CREATED => CONNECTING
Mar 16 10:34:08 charon 12[IKE] <33> xxx is initiating an IKE_SA
Mar 16 10:34:08 charon 12[ENC] <33> received unknown vendor ID: 01:52:8b:bb:c0:06:96:12:18:49:ab:9a:1c:5b:2a:51:00:00:00:02
Mar 16 10:34:08 charon 12[IKE] <33> received Vid-Initial-Contact vendor ID
Mar 16 10:34:08 charon 12[IKE] <33> received MS-Negotiation Discovery Capable vendor ID
Mar 16 10:34:08 charon 12[IKE] <33> received MS NT5 ISAKMPOAKLEY v9 vendor ID
Mar 16 10:34:08 charon 12[CFG] <33> found matching ike config: 10.19.8.254...%any with prio 1052
Mar 16 10:34:08 charon 12[CFG] <33> candidate: 10.19.8.254...%any, prio 1052
Mar 16 10:34:08 charon 12[CFG] <33> candidate: %any...%any, prio 24
Mar 16 10:34:08 charon 12[CFG] <33> looking for an IKEv2 config for 10.19.8.254...xxx
Mar 16 10:34:08 charon 12[ENC] <33> parsed IKE_SA_INIT request 0 [ SA KE No N(FRAG_SUP) N(NATD_S_IP) N(NATD_D_IP) V V V V ]
Mar 16 10:34:08 charon 12[NET] <33> received packet: from xxx [12513] to 10.19.8.254[500] (544 bytes)
k-zertifikat_01
aqui
aqui 16.03.2019 aktualisiert um 15:52:39 Uhr
Goto Top
Ich bin Netzwerkanfänger und hoffe dass Ihr mich nicht gleich zerreist.
Keine Sorge, alles gut face-wink
Keine VPN-Verbindung mit WIN 10 - Fehlermeldung IKE-Authentifizierung - Anmeldeinformationen sind nicht akzeptabel
Das ist die typische Fehlermeldung wenn du das exportierte Zertifikat nicht oder nicht richtig in Windows mit dem Cert Manager importiert hast !! Oder generell bei der Erstellung ein Fehler gemacht wurde.
Genau dann kommt diese Fehlermeldung !
Möglich auch das du das Zertifikat vor der Umstellung auf ein eigenes exportiert hast und dann ein neues erstellt hast und vergessen hast das neue zu importieren oder vergessen hast das alte importierte zu löschen !
Das ist sehr wichtig sonst kommt der Win Client ins Straucheln und quittiert das mit dieser Fehlermeldung !
Beachtet man das, klappt es fehlerlos...!
meine ich aus dem IPSEC Log (siehe unten) der pfsense zu erkennen, dass es am Zertifikat hängt.
So ist es !! face-wink
Und zwar ist deine CA unbekannt ! Irgend etwas ist also mit der Erstellung oder dem Export bzw. Import des Zertifikats schiefgelaufen. DA solltest du nochmal ansetzen.
Vermutlich wie oben das du mal das Zertifikat gewechselt hast oder sowas....
Lösche das importierte Zertifikat nochmal komplett raus aus Windows und exportiere und importiere es neu.
Das sollte das Problem fixen.
mit der powershell ohne splittunneling eingerichtet.
Dann mit einem Gateway Redirect so das sämtlicher Traffic in den Tunnel geroutet wird ?? Oder wie ist das zu verstehen.
So oder so hast du ein Problem mit dem Zertifikat was du erstmal fixen musst !

(P.S.: Editiere bitte mal das obige Posting und lösche die ganzen "received cert request for unknown ca with keyid " Zeilen bis auf 2oder 3 weg. Es reicht wenn man das einmal sieht. Nur um das Tutorial hier nicht unnötig aufzublähen ! Ggf. auch etwas anonymisieren face-wink http://www.utrace.de/?query=109.41.194.92 )
mtb931
mtb931 16.03.2019 um 22:45:05 Uhr
Goto Top
Danke für's Verständnis. Log hab ich gekürzt und etwas anonymisiert.
Um sicher zugehen habe ich das Zertifikat in WIN mit der certmgr gelöscht. In der pfsense das Zertifikat unter "certivicates" und die CA unter "CAs" gelöscht und nach Anleitung noch einmal erstellt.
Unter "CAs" wie beschrieben den Export der .crt durchgeführt und in WIN importiert - Lokaler Computer - das neue Zertifikat steht jetzt wie im Bild der Anleitung drin.
Phase 1 angepasst - das neu erstellte Server-Zertifikat ausgewählt.
VPN Verbindung wie beschrieben mit Powershell erstellt.

Ergebnis:
Die Android Geräte mit Strong Swan funktionieren erwartungsgem. nach dem Wechsel auf das neue Zertifikat einwandfrei.
WIN10 --> Fehlermeldung - ungültiges Aufkommen erhalten

Im pfsense LOG gibt es immer noch die die "received cert request for unknown ca" Zeilen, welche auf ein Problem mit dem Zertifikat hindeuten.
Danach hat sich aber etwas verändert - ich gehe jedoch davon aus, dass es mit dem Zertifikat immer noch nicht passt.
Bin etwas ratlos.
LOG pfsense:
Mar 16 21:10:25 charon 13[CFG] <con-mobile|1> lease 172.19.8.1 by 'vpnuser' went offline
Mar 16 21:10:25 charon 13[IKE] <con-mobile|1> IKE_SA con-mobile[1] state change: DELETING => DESTROYING
Mar 16 21:10:25 charon 13[NET] <con-mobile|1> sending packet: from 10.19.8.254[4500] to xxx[26163] (80 bytes)
Mar 16 21:10:25 charon 13[ENC] <con-mobile|1> generating INFORMATIONAL response 6 [ ]
Mar 16 21:10:25 charon 13[IKE] <con-mobile|1> IKE_SA deleted
Mar 16 21:10:25 charon 13[IKE] <con-mobile|1> IKE_SA con-mobile[1] state change: ESTABLISHED => DELETING
Mar 16 21:10:25 charon 13[IKE] <con-mobile|1> deleting IKE_SA con-mobile[1] between 10.19.8.254[pfsense]...xxx[192.168.43.71]
Mar 16 21:10:25 charon 13[IKE] <con-mobile|1> received DELETE for IKE_SA con-mobile[1]
Mar 16 21:10:25 charon 13[ENC] <con-mobile|1> parsed INFORMATIONAL request 6 [ D ]
Mar 16 21:10:25 charon 13[NET] <con-mobile|1> received packet: from xxx[26163] to 10.19.8.254[4500] (80 bytes)
Mar 16 21:10:25 charon 13[NET] <con-mobile|1> sending packet: from 10.19.8.254[4500] to xxx[26163] (256 bytes)
Mar 16 21:10:25 charon 13[ENC] <con-mobile|1> generating IKE_AUTH response 5 [ AUTH CPRP(ADDR SUBNET U_BANNER) N(AUTH_LFT) N(MOBIKE_SUP) N(ADD_4_ADDR) N(ADD_4_ADDR) N(ADD_4_ADDR) N(ADD_4_ADDR) N(ADD_4_ADDR) N(ADD_4_ADDR) N(NO_PROP) ]
Mar 16 21:10:25 charon 13[CHD] <con-mobile|1> CHILD_SA con-mobile{1} state change: CREATED => DESTROYING
Mar 16 21:10:25 charon 13[IKE] <con-mobile|1> failed to establish CHILD_SA, keeping IKE_SA
Mar 16 21:10:25 charon 13[IKE] <con-mobile|1> no acceptable proposal found
Mar 16 21:10:25 charon 13[CFG] <con-mobile|1> configured proposals: ESP:AES_GCM_16_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_16_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_16_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_12_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_12_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_12_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_8_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_8_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_8_256/MODP_2048/NO_EXT_SEQ
Mar 16 21:10:25 charon 13[CFG] <con-mobile|1> received proposals: ESP:AES_CBC_256/HMAC_SHA2_256_128/NO_EXT_SEQ
Mar 16 21:10:25 charon 13[CFG] <con-mobile|1> no acceptable ENCRYPTION_ALGORITHM found
...
Mar 16 21:10:25 charon 13[CFG] <con-mobile|1> no acceptable ENCRYPTION_ALGORITHM found
Mar 16 21:10:25 charon 13[CFG] <con-mobile|1> selecting proposal:
Mar 16 21:10:25 charon 13[CFG] <con-mobile|1> found matching child config "con-mobile" with prio 12
Mar 16 21:10:25 charon 13[CFG] <con-mobile|1> candidate "con-mobile" with prio 10+2
Mar 16 21:10:25 charon 13[CFG] <con-mobile|1> 172.19.8.1/32|/0
Mar 16 21:10:25 charon 13[CFG] <con-mobile|1> proposing traffic selectors for other:
Mar 16 21:10:25 charon 13[CFG] <con-mobile|1> 0.0.0.0/0|/0
Mar 16 21:10:25 charon 13[CFG] <con-mobile|1> proposing traffic selectors for us:
Mar 16 21:10:25 charon 13[CFG] <con-mobile|1> looking for a child config for 0.0.0.0/0|/0 ::/0|/0 === 0.0.0.0/0|/0 ::/0|/0
Mar 16 21:10:25 charon 13[IKE] <con-mobile|1> building UNITY_BANNER attribute
Mar 16 21:10:25 charon 13[IKE] <con-mobile|1> building INTERNAL_IP4_SUBNET attribute
Mar 16 21:10:25 charon 13[IKE] <con-mobile|1> no virtual IP found for %any6 requested by 'vpnuser'
Mar 16 21:10:25 charon 13[IKE] <con-mobile|1> peer requested virtual IP %any6
Mar 16 21:10:25 charon 13[IKE] <con-mobile|1> assigning virtual IP 172.19.8.1 to peer 'vpnuser'
Mar 16 21:10:25 charon 13[CFG] <con-mobile|1> assigning new lease to 'vpnuser'
Mar 16 21:10:25 charon 13[IKE] <con-mobile|1> peer requested virtual IP %any
Mar 16 21:10:25 charon 02[JOB] next event in 19s 646ms, waiting
Mar 16 21:10:25 charon 02[JOB] next event in 19s 646ms, waiting
Mar 16 21:10:25 charon 13[IKE] <con-mobile|1> maximum IKE_SA lifetime 28745s
Mar 16 21:10:25 charon 02[JOB] next event in 19s 646ms, waiting
Mar 16 21:10:25 charon 13[IKE] <con-mobile|1> scheduling reauthentication in 28205s
Mar 16 21:10:25 charon 13[IKE] <con-mobile|1> IKE_SA con-mobile[1] state change: CONNECTING => ESTABLISHED
Mar 16 21:10:25 charon 13[IKE] <con-mobile|1> IKE_SA con-mobile[1] established between 10.19.8.254[pfsense]...xxx[192.168.43.71]
Mar 16 21:10:25 charon 13[IKE] <con-mobile|1> authentication of 'pfsense' (myself) with EAP
Mar 16 21:10:25 charon 13[IKE] <con-mobile|1> authentication of '192.168.43.71' with EAP successful
Mar 16 21:10:25 charon 13[ENC] <con-mobile|1> parsed IKE_AUTH request 5 [ AUTH ]
Mar 16 21:10:25 charon 13[NET] <con-mobile|1> received packet: from xxx[26163] to 10.19.8.254[4500] (112 bytes)
Mar 16 21:10:25 charon 13[NET] <con-mobile|1> sending packet: from 10.19.8.254[4500] to xxx[26163] (80 bytes)
Mar 16 21:10:25 charon 13[ENC] <con-mobile|1> generating IKE_AUTH response 4 [ EAP/SUCC ]
Mar 16 21:10:25 charon 13[IKE] <con-mobile|1> EAP method EAP_MSCHAPV2 succeeded, MSK established
Mar 16 21:10:25 charon 13[ENC] <con-mobile|1> parsed IKE_AUTH request 4 [ EAP/RES/MSCHAPV2 ]
Mar 16 21:10:25 charon 13[NET] <con-mobile|1> received packet: from xxx[26163] to 10.19.8.254[4500] (80 bytes)
Mar 16 21:10:25 charon 13[NET] <con-mobile|1> sending packet: from 10.19.8.254[4500] to xxx[26163] (144 bytes)
Mar 16 21:10:25 charon 13[ENC] <con-mobile|1> generating IKE_AUTH response 3 [ EAP/REQ/MSCHAPV2 ]
Mar 16 21:10:25 charon 13[ENC] <con-mobile|1> parsed IKE_AUTH request 3 [ EAP/RES/MSCHAPV2 ]
Mar 16 21:10:25 charon 13[NET] <con-mobile|1> received packet: from xxx[26163] to 10.19.8.254[4500] (144 bytes)
Mar 16 21:10:25 charon 11[NET] <con-mobile|1> sending packet: from 10.19.8.254[4500] to xxx[26163] (112 bytes)
Mar 16 21:10:25 charon 11[ENC] <con-mobile|1> generating IKE_AUTH response 2 [ EAP/REQ/MSCHAPV2 ]
Mar 16 21:10:25 charon 11[IKE] <con-mobile|1> initiating EAP_MSCHAPV2 method (id 0xEC)
Mar 16 21:10:25 charon 11[IKE] <con-mobile|1> received EAP identity 'vpnuser'
Mar 16 21:10:25 charon 11[ENC] <con-mobile|1> parsed IKE_AUTH request 2 [ EAP/RES/ID ]
Mar 16 21:10:25 charon 11[NET] <con-mobile|1> received packet: from xxx[26163] to 10.19.8.254[4500] (96 bytes)
Mar 16 21:10:25 charon 11[NET] <con-mobile|1> sending packet: from 10.19.8.254[4500] to xxx[26163] (276 bytes)
Mar 16 21:10:25 charon 11[NET] <con-mobile|1> sending packet: from 10.19.8.254[4500] to xxx[26163] (1236 bytes)
Mar 16 21:10:25 charon 11[ENC] <con-mobile|1> generating IKE_AUTH response 1 [ EF(2/2) ]
Mar 16 21:10:25 charon 11[ENC] <con-mobile|1> generating IKE_AUTH response 1 [ EF(1/2) ]
Mar 16 21:10:25 charon 11[ENC] <con-mobile|1> splitting IKE message (1440 bytes) into 2 fragments
Mar 16 21:10:25 charon 11[ENC] <con-mobile|1> generating IKE_AUTH response 1 [ IDr CERT AUTH EAP/REQ/ID ]
Mar 16 21:10:25 charon 11[IKE] <con-mobile|1> sending end entity cert "CN=pfsense, C=DE, L=Ingolstadt"
Mar 16 21:10:25 charon 11[IKE] <con-mobile|1> authentication of 'pfsense' (myself) with RSA signature successful
Mar 16 21:10:25 charon 11[IKE] <con-mobile|1> peer supports MOBIKE
Mar 16 21:10:25 charon 11[IKE] <con-mobile|1> processing INTERNAL_IP6_SERVER attribute
Mar 16 21:10:25 charon 11[IKE] <con-mobile|1> processing INTERNAL_IP6_DNS attribute
Mar 16 21:10:25 charon 11[IKE] <con-mobile|1> processing INTERNAL_IP6_ADDRESS attribute
Mar 16 21:10:25 charon 11[IKE] <con-mobile|1> processing INTERNAL_IP4_SERVER attribute
Mar 16 21:10:25 charon 11[IKE] <con-mobile|1> processing INTERNAL_IP4_NBNS attribute
Mar 16 21:10:25 charon 11[IKE] <con-mobile|1> processing INTERNAL_IP4_DNS attribute
Mar 16 21:10:25 charon 11[IKE] <con-mobile|1> processing INTERNAL_IP4_ADDRESS attribute
Mar 16 21:10:25 charon 11[IKE] <con-mobile|1> initiating EAP_IDENTITY method (id 0x00)
Mar 16 21:10:25 charon 11[CFG] <con-mobile|1> selected peer config 'con-mobile'
Mar 16 21:10:25 charon 11[CFG] <1> candidate "con-mobile", match: 1/1/1052 (me/other/ike)
Mar 16 21:10:25 charon 11[CFG] <1> candidate "bypasslan", match: 1/1/24 (me/other/ike)
Mar 16 21:10:25 charon 11[CFG] <1> looking for peer configs matching 10.19.8.254[%any]...xxx[192.168.43.71]
Mar 16 21:10:25 charon 11[IKE] <1> received 52 cert requests for an unknown ca
aqui
aqui 16.03.2019 aktualisiert um 23:05:32 Uhr
Goto Top
Das Tutorial hatte nach einem kosmetischen Update noch ein paar Fehler. Die sind aber mit neuen Bildern und Text jetzt korrigiert.
Habe das eben auf 2 verschiedenen pfSense HW Plattformen und jeweils 4 Clients aller Betriebssysteme nochmal getestet.
Funktioniert absolut fehlerlfrei. Der Fehler liegt irgendwo in deinem Zertifikat.
Im Zweifel löschst du die CA nochmal komplett und erstellst die neu. Die IPsec VPN Konfig musst du nicht ändern.
mtb931
mtb931 27.03.2019 um 22:36:30 Uhr
Goto Top
Danke für die Unterstützung. Habe Konfiguration aus dem Tutorial noch einmal gelöscht und von vorne mit dem Einrichten der CA bis zur WIN10 Client Konfiguration durchgearbeitet.
Verflixt - ich komm nicht weiter.
Die Fehlermeldung WIN10 VPN Verbindung : "Fehlermeldung IKE-Authentifizierung - Anmeldeinformationen sind nicht akzeptabel" belibt.
Der StrongSwan VPN Client auf den Androiden funktioniert wie einwandfrei.
Um das Tutorial Posting nicht weiter aufzublähen - gibt es vielleicht eine Chance für eine direkte Hilfe ?
aqui
aqui 28.03.2019 um 10:39:47 Uhr
Goto Top
Diese Fehlermeldung kommt wenn man das Zertifikat NICHT oder falsch importiert !!
Irgendwas machst du da noch falsch.
Hab es gerade hier testweise mit aktueller pfSense Firmware und aktuellem Win10 aufgesetzt.... Funktioniert fehlerfrei auf 3 ! Windows 10 Rechnern !
gublgubl
gublgubl 27.04.2019 um 23:17:43 Uhr
Goto Top
Vielen Dank fuer diese super Anleitung. Es hat alles auf anhieb funktioniert, da alles gut erklaert ist.

Ein kleines Problem habe ich allerdings nun, was ich nicht beheben kann.
Die Verbindung wird aufgebaut und ich kann das remote netzwerk von windows 10 aus erreichen.
Nach einer gewissen Zeit geht diese allerdings verloren, der Tunnelstatus bleibt aber auf aktiv. Da das ganze Neuland fuer micht ist, weis ich nicht, wo ich anfangen soll zu suchen. Ich habe mal versucht die Timeouts hochzusetzen, das hatte allerdings keinen Effekt. Nach einigem Lesen vermute ich, dass die Neuaushandlung der Phase 2 nicht funktioniert?

Apr 27 20:14:45	charon: 10[ENC] <con-mobile|34> generating CREATE_CHILD_SA response 184 [ N(NO_PROP) ]
Apr 27 20:14:45	charon: 10[CHD] <con-mobile|34> CHILD_SA con-mobile{2463} state change: CREATED => DESTROYING
Apr 27 20:14:45	charon: 10[IKE] <con-mobile|34> failed to establish CHILD_SA, keeping IKE_SA
Apr 27 20:14:45	charon: 10[IKE] <con-mobile|34> no acceptable proposal found
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> configured proposals: ESP:AES_CBC_256/HMAC_SHA2_256_128/MODP_2048/NO_EXT_SEQ, ESP:AES_CBC_256/HMAC_SHA2_384_192/MODP_2048/NO_EXT_SEQ, ESP:AES_CBC_256/HMAC_SHA2_512_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_16_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_16_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_16_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_12_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_12_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_12_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_8_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_8_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_8_256/MODP_2048/NO_EXT_SEQ
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> received proposals: ESP:AES_CBC_256/HMAC_SHA2_256_128/NO_EXT_SEQ
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> no acceptable ENCRYPTION_ALGORITHM found
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> selecting proposal:
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> no acceptable ENCRYPTION_ALGORITHM found
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> selecting proposal:
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> no acceptable ENCRYPTION_ALGORITHM found
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> selecting proposal:
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> no acceptable ENCRYPTION_ALGORITHM found
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> selecting proposal:
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> no acceptable ENCRYPTION_ALGORITHM found
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> selecting proposal:
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> no acceptable ENCRYPTION_ALGORITHM found
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> selecting proposal:
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> no acceptable ENCRYPTION_ALGORITHM found
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> selecting proposal:
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> no acceptable ENCRYPTION_ALGORITHM found
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> selecting proposal:
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> no acceptable ENCRYPTION_ALGORITHM found
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> selecting proposal:
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> no acceptable INTEGRITY_ALGORITHM found
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> selecting proposal:
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> no acceptable INTEGRITY_ALGORITHM found
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> selecting proposal:
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> no acceptable DIFFIE_HELLMAN_GROUP found
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> selecting proposal:
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> found matching child config "con-mobile" with prio 4  
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> candidate "con-mobile" with prio 2+2  
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> 10.0.10.200/32|/0
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> proposing traffic selectors for other:
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> 10.0.0.0/24|/0
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> proposing traffic selectors for us:
Apr 27 20:14:45	charon: 10[CFG] <con-mobile|34> looking for a child config for 0.0.0.0/0|/0 ::/0|/0 === 0.0.0.0/0|/0 ::/0|/0
Apr 27 20:14:45	charon: 10[ENC] <con-mobile|34> parsed CREATE_CHILD_SA request 184 [ SA No TSi TSr ]
Apr 27 20:14:45	charon: 10[NET] <con-mobile|34> received packet: from 92.666.666.255[4500] to 666.666.20.201[4500] (304 bytes)
aqui
aqui 28.04.2019, aktualisiert am 29.04.2019 um 08:13:41 Uhr
Goto Top
Es hat alles auf anhieb funktioniert, da alles gut erklaert ist.
Danke für die Blumen face-smile
Was böse ist: no acceptable ENCRYPTION_ALGORITHM found
Da stimmt irgendwas mit deinen angebotenen Encryption Optionen nicht bzw. ein Mismatch der zum Abbruch führt.
Auch die DH Group stimmt nicht.
Du solltest nochmal ganz genau überprüfen das du auch wirklich überall die Group 14 verwendest in Client UND Server ! Du hast definitiv einen Fehler in der Eingabe der Schlüsselparameter gemacht ! Das zeigen die IPsec Fehlermeldungen deutlich !
Eine saubere Einwahl sähe im pfSense Log unter "IPsec" so aus:
Apr 29 08:02:11	charon		15[CFG] <con-mobile|2> config: 192.168.1.0/24|/0, received: 0.0.0.0/0|/0 => match: 192.168.1.0/24|/0
Apr 29 08:02:11	charon		15[CFG] <con-mobile|2> selecting traffic selectors for us:
Apr 29 08:02:11	charon		15[CFG] <con-mobile|2> selected proposal: ESP:AES_CBC_256/HMAC_SHA2_256_128/NO_EXT_SEQ
Apr 29 08:02:11	charon		15[CFG] <con-mobile|2> configured proposals: ESP:AES_CBC_256/HMAC_SHA2_256_128/MODP_2048/NO_EXT_SEQ, ESP:AES_CBC_256/HMAC_SHA2_384_192/MODP_2048/NO_EXT_SEQ, ESP:AES_CBC_256/HMAC_SHA2_512_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_16_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_16_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_16_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_12_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_12_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_12_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_8_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_8_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_8_256/MODP_2048/NO_EXT_SEQ
Apr 29 08:02:11	charon		15[CFG] <con-mobile|2> received proposals: ESP:AES_CBC_256/HMAC_SHA2_256_128/NO_EXT_SEQ
Apr 29 08:02:11	charon		15[CFG] <con-mobile|2> proposal matches
Apr 29 08:02:11	charon		15[CFG] <con-mobile|2> selecting proposal:
Apr 29 08:02:11	charon		15[CFG] <con-mobile|2> found matching child config "con-mobile" with prio 4
Apr 29 08:02:11	charon		15[CFG] <con-mobile|2> candidate "con-mobile" with prio 2+2
Apr 29 08:02:11	charon		15[CFG] <con-mobile|2> 10.111.222.1/32|/0
Apr 29 08:02:11	charon		15[CFG] <con-mobile|2> proposing traffic selectors for other:
Apr 29 08:02:11	charon		15[CFG] <con-mobile|2> 192.168.1.0/24|/0
Apr 29 08:02:11	charon		15[CFG] <con-mobile|2> proposing traffic selectors for us:
Apr 29 08:02:11	charon		15[IKE] <con-mobile|2> assigning virtual IP 10.111.222.1 to peer 'user1'
Apr 29 08:02:11	charon		15[CFG] <con-mobile|2> reassigning offline lease to 'user1'
Apr 29 08:02:11	charon		15[IKE] <con-mobile|2> maximum IKE_SA lifetime 28742s
Apr 29 08:02:11	charon		15[IKE] <con-mobile|2> scheduling reauthentication in 28202s
Apr 29 08:02:11	charon		15[IKE] <con-mobile|2> IKE_SA con-mobile[2] state change: CONNECTING => ESTABLISHED
Apr 29 08:02:11	charon		15[IKE] <con-mobile|2> IKE_SA con-mobile[2] established between 10.99.1.99[pfsense]...88.1.2.3[dialin.vodafone.de] 
Beachte oben die Aushandlung der Proposals !
Deine o.a Fehlermeldungen sind wenigstens nicht normal und sollten NICHT auftauchen !
gublgubl
gublgubl 02.05.2019 um 19:37:27 Uhr
Goto Top
Danke fuer den Hinweis
Ich habe die logs durchgeschaut und bekomme genau die gleichen Angaben, nur beim "Rekey" geht was schief denke ich.
Es sieht bei der ersten Einwahl genau so aus und da funktioniert auch alles wunderbar. Alle Parameter stimmen mit dem Log ueberein.
active_connection

Habe schon einiges ausprobiert, wie z.B. DPD disabled

Ist es sinnvoll den rekey zu disablen? Fuer Windows 7 wird es anscheinen empfohlen
https://wiki.strongswan.org/projects/strongswan/wiki/WindowsClients#CHIL ...

May 2 17:32:40	charon: 12[CFG] <con-mobile|14> configured proposals: ESP:AES_CBC_256/HMAC_SHA2_256_128/MODP_2048/NO_EXT_SEQ, ESP:AES_CBC_256/HMAC_SHA2_384_192/MODP_2048/NO_EXT_SEQ, ESP:AES_CBC_256/HMAC_SHA2_512_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_16_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_12_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_8_256/MODP_2048/NO_EXT_SEQ
May 2 17:32:40	charon: 12[CFG] <con-mobile|14> 10.0.10.200/32|/0
May 2 17:32:40	charon: 12[CFG] <con-mobile|14> proposing traffic selectors for other:
May 2 17:32:40	charon: 12[CFG] <con-mobile|14> 10.0.0.0/24|/0
May 2 17:32:40	charon: 12[CFG] <con-mobile|14> proposing traffic selectors for us:
May 2 17:32:40	charon: 12[IKE] <con-mobile|14> activating CHILD_REKEY task
May 2 17:32:40	charon: 12[IKE] <con-mobile|14> activating new tasks
May 2 17:32:40	charon: 12[IKE] <con-mobile|14> queueing CHILD_REKEY task
May 2 17:32:37	charon: 16[CFG] vici client 405 disconnected
May 2 17:32:37	charon: 16[CFG] vici client 405 requests: list-sas
May 2 17:32:37	charon: 11[CFG] vici client 405 registered for: list-sa
May 2 17:32:37	charon: 05[CFG] vici client 405 connected
May 2 17:32:35	charon: 13[CFG] vici client 404 disconnected
May 2 17:32:35	charon: 13[CFG] vici client 404 requests: list-sas
May 2 17:32:35	charon: 13[CFG] vici client 404 registered for: list-sa
May 2 17:32:35	charon: 08[CFG] vici client 404 connected
May 2 17:32:32	charon: 14[CFG] vici client 403 disconnected
May 2 17:32:32	charon: 14[CFG] vici client 403 requests: list-sas
May 2 17:32:32	charon: 14[CFG] vici client 403 registered for: list-sa
May 2 17:32:32	charon: 09[CFG] vici client 403 connected
May 2 17:32:31	charon: 09[IKE] <con-mobile|14> nothing to initiate
May 2 17:32:31	charon: 09[IKE] <con-mobile|14> activating new tasks
May 2 17:32:31	charon: 09[CHD] <con-mobile|14> CHILD_SA con-mobile{63} state change: CREATED => DESTROYING
May 2 17:32:31	charon: 09[CHD] <con-mobile|14> CHILD_SA con-mobile{17} state change: REKEYING => INSTALLED
May 2 17:32:31	charon: 09[IKE] <con-mobile|14> CHILD_SA rekeying failed, trying again in 9 seconds
May 2 17:32:31	charon: 09[IKE] <con-mobile|14> failed to establish CHILD_SA, keeping IKE_SA
May 2 17:32:31	charon: 09[CFG] <con-mobile|14> configured proposals: ESP:AES_CBC_256/HMAC_SHA2_256_128/MODP_2048/NO_EXT_SEQ, ESP:AES_CBC_256/HMAC_SHA2_384_192/MODP_2048/NO_EXT_SEQ, ESP:AES_CBC_256/HMAC_SHA2_512_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_16_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_12_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_8_256/MODP_2048/NO_EXT_SEQ
May 2 17:32:31	charon: 09[IKE] <con-mobile|14> received NO_PROPOSAL_CHOSEN notify, no CHILD_SA built
May 2 17:32:31	charon: 09[ENC] <con-mobile|14> parsed CREATE_CHILD_SA response 44 [ N(NO_PROP) ]
May 2 17:32:31	charon: 09[NET] <con-mobile|14> received packet: from 666.117.140.211[4500] to 666.76.59.91[4500] (80 bytes)
May 2 17:32:31	charon: 09[NET] <con-mobile|14> sending packet: from 666.76.59.91[4500] to 666.117.140.211[4500] (704 bytes)
May 2 17:32:31	charon: 09[ENC] <con-mobile|14> generating CREATE_CHILD_SA request 44 [ N(REKEY_SA) N(ESP_TFC_PAD_N) SA No KE TSi TSr ]
May 2 17:32:31	charon: 09[CHD] <con-mobile|14> CHILD_SA con-mobile{17} state change: INSTALLED => REKEYING
May 2 17:32:31	charon: 09[IKE] <con-mobile|14> establishing CHILD_SA con-mobile{63} reqid 2
May 2 17:32:31	charon: 09[CFG] <con-mobile|14> configured proposals: ESP:AES_CBC_256/HMAC_SHA2_256_128/MODP_2048/NO_EXT_SEQ, ESP:AES_CBC_256/HMAC_SHA2_384_192/MODP_2048/NO_EXT_SEQ, ESP:AES_CBC_256/HMAC_SHA2_512_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_16_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_12_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_8_256/MODP_2048/NO_EXT_SEQ
May 2 17:32:31	charon: 09[CFG] <con-mobile|14> 10.0.10.200/32|/0
May 2 17:32:31	charon: 09[CFG] <con-mobile|14> proposing traffic selectors for other:
May 2 17:32:31	charon: 09[CFG] <con-mobile|14> 10.0.0.0/24|/0
May 2 17:32:31	charon: 09[CFG] <con-mobile|14> proposing traffic selectors for us:
May 2 17:32:31	charon: 09[IKE] <con-mobile|14> activating CHILD_REKEY task
May 2 17:32:31	charon: 09[IKE] <con-mobile|14> activating new tasks
May 2 17:32:31	charon: 09[CHD] <con-mobile|14> CHILD_SA con-mobile{62} state change: CREATED => DESTROYING
May 2 17:32:31	charon: 09[CHD] <con-mobile|14> CHILD_SA con-mobile{17} state change: REKEYING => INSTALLED
May 2 17:32:31	charon: 09[IKE] <con-mobile|14> CHILD_SA rekeying failed, trying again in 13 seconds
May 2 17:32:31	charon: 09[IKE] <con-mobile|14> failed to establish CHILD_SA, keeping IKE_SA
mrsunfire
mrsunfire 07.06.2019 aktualisiert um 09:28:43 Uhr
Goto Top
Bei mir hat die Anleitung bis einschließlich Windows 10 1809 einwandfrei funktioniert. Mit 1903 jedoch wird keine Verbindung mehr aufgebaut. Auf der pfSense sieht man auch erst gar keinen Verbindungsversuch. Hat sich hier also etwas geändert? Habe es nun auf 2 Systemen getestet, bei beiden das selbe Problem.

EDIT: ok das Problem liegt wirklich an 1903, aber nicht an der Konfiguration. Man darf die Verbindung nicht über die Taskleiste herstellen, sondern muss es über Einstellungen machen. Dann klappt es.
DasBrot
DasBrot 08.06.2019 aktualisiert um 11:55:19 Uhr
Goto Top
Kann ich bestätigen. Mit 1903 geht es nicht mehr.
Unter welchen Einstellungen klappt bei dir die Verbindung ?
Unter Netzwerkverbindungen öffnet sich bei mir auch nur wieder das Kontext Menu aus der Taskleiste, mit welchem es nicht geht.

Eventuell wäre dies auch ein Frage für einen Baum höher. Hier wird ja ein anderes Problem besprochen.


Edit
Ok auch wenn ich den Kommentar oben absetze ist er in diesem Thema .... Mein Fehler. Habe den "Baum" falsch verstanden.
aqui
aqui 08.06.2019 aktualisiert um 11:59:36 Uhr
Goto Top
Ja was denn nun ?? Der eine sagt 1809, der andere 1903....sehr verwirrend. face-sad
Fakt ist das es mit allen Win 10 Versionen bis 1809 einschliesslich fehlerlos funltioniert ! Getestet an 5 unterschiedlichen HW Plattformen.
Wenn man die Verbindung nicht über die Taskleiste herstellen kann, sondern nur über Einstellungen, dann ist das ja wohl ganz klar ein Bug in dieser Windows Version. Zeigt aber auch das es grundsätzlich ja mit dieser Version klappt und nur der Aufruf intern in Win 10 (1903) Fehler behaftet ist. Also kein Fehler des IPsec Protokolls oder der Firewall selber.
1903 ist ja so oder so die "Skandalversion" mit der man vermutlich generell vorsichtig sein sollte und das Update zurückstellen sollte in den Update Settings.
DasBrot
DasBrot 08.06.2019 um 12:05:39 Uhr
Goto Top
Ja ich habe es korrigiert. Ich meinte natürlich die 1903 .... Habe einen weiteren Client getestet. Ab 1903 lässt sich die Verbindung nicht mehr via Taskleiste aufbauen.
Das es an Windows liegt ist unstrittig. Sie werden es aber genau so unstrittig nicht für uns ändern, so das wir einen anderen Weg finden müssen.
aqui
aqui 08.06.2019 aktualisiert um 12:13:51 Uhr
Goto Top
Na ja Shortcut auf die Einstellungen oder kleine Batch geht ja auch face-wink
Oder warten auf den ersten Patch für 1903...
https://social.technet.microsoft.com/Forums/en-US/821b5675-743b-4d52-87a ...
DasBrot
DasBrot 08.06.2019 um 12:40:28 Uhr
Goto Top
Ja so geht es ja erst mal.
Beim Erstellen kannte ich diese Möglichkeit noch nicht. Da bekommt man etwas Bammel ;) Der Link scheint aber nicht direkt mit der 1903 zu tun zu haben, scheinbar hatten einige wenige das Problem schon vorher. Hoffen wir mal auf einen Bug nicht das es ein wie auch immer entartetes neues Win 10 Feature ist. welches das Menu verhindert.
aqui
aqui 08.06.2019, aktualisiert am 19.06.2019 um 18:05:38 Uhr
Goto Top
Bei MS weiss man nie ob das "Bug oder Feature" ist ! face-wink
Ist aber wohl sicher ein Bug den andere Komponenten anderer Hersteller haben die gleiche Problematik mit der 1903:
VPN Verbindung funktioniert nach Windowsupdate nicht mehr
aqui
aqui 27.06.2019, aktualisiert am 10.07.2019 um 16:05:40 Uhr
Goto Top
Update:
Heute einmal 2 Winblows 10 Pro Rechner über das Media Creation Tool von einer bestehenden 1809 auf die aktuelle 1903 upgedatet um den Fehler zu reproduzieren. Und siehe da....
Es funktioniert mit aktuellen (Stand heute) 1903 auch über die Taskleiste fehlerfrei !! Das o.a. Problem lässt sich nicht mehr reproduzieren !
Vermutlich hat M$ es in der Zwischenzeit gepatcht....

1902-3

Dashboard mit aktivem VPN User:
1902-2

Ping des lokalen USB LAN Interfaces der pfSense:
1902-1
(Das LAN Interface klappt selbstredend auch !)

Case closed ! face-wink
mrsunfire
mrsunfire 16.07.2019 um 12:59:59 Uhr
Goto Top
Bei meiner 1903 geht es noch immer nicht über die Taskleiste. Weiterhin bekomme ich auch nicht mehr als 30 MBit/s netto Datendurchsatz und das trotz i5 CPU und AES-NI crypto unter den Advanced Settings.
aqui
aqui 17.07.2019 aktualisiert um 09:26:18 Uhr
Goto Top
Welchen 1903er Build nutzt du ? So ist die Aussage logischerweise wenig hilfreich.
Was den Durchsatz angeht gibt es 2 Faktoren. Bandbreite der Internet Anbindung des Clients und dessen Leistungsfähigkeit. Dazu leider keinerlei Aussage von dir. face-sad
An der Firewall mit der CPU Ausstattung wird es dann ganz sicher nicht liegen. Die kannst du als Ursache sicher ausschließen, denn die schafft Wirespeed.
mrsunfire
mrsunfire 18.07.2019 aktualisiert um 08:09:30 Uhr
Goto Top
Aktuellste Version, siehe Bild. Klicke ich via Taskleiste auf die VPN Verbindung, bleibt es bei "Verbindung wird hergestellt" hängen und es kommt keine Anmeldemaske. Interessanterweise bekomme ich aktuell auf meiner Hauptmaschine nun auch die Meldung "Falscher Parameter", obwohl die Verbindung mal funktioniert hat. Im Log der pfSense bleibt es dann hier hängen:

unbenannt2

Jul 18 08:02:13	charon		10[JOB] <179> deleting half open IKE_SA with 192.168.1.20 after timeout
Jul 18 08:01:43	charon		10[NET] <179> sending packet: from xxx[500] to 192.168.1.20[500] (473 bytes)
Jul 18 08:01:43	charon		10[ENC] <179> generating IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(FRAG_SUP) N(MULT_AUTH) ]
Jul 18 08:01:43	charon		10[IKE] <179> sending cert request for "xxx"  
Jul 18 08:01:43	charon		10[CFG] <179> selected proposal: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
Jul 18 08:01:43	charon		10[IKE] <179> 192.168.1.20 is initiating an IKE_SA
Jul 18 08:01:43	charon		10[ENC] <179> received unknown vendor ID: xxx
Jul 18 08:01:43	charon		10[IKE] <179> received Vid-Initial-Contact vendor ID
Jul 18 08:01:43	charon		10[IKE] <179> received MS-Negotiation Discovery Capable vendor ID
Jul 18 08:01:43	charon		10[IKE] <179> received MS NT5 ISAKMPOAKLEY v9 vendor ID
Jul 18 08:01:43	charon		10[ENC] <179> parsed IKE_SA_INIT request 0 [ SA KE No N(FRAG_SUP) N(NATD_S_IP) N(NATD_D_IP) V V V V ]
Jul 18 08:01:43	charon		10[NET] <179> received packet: from 192.168.1.20[500] to xxx[500] (544 bytes)

Die Anbindung hat einen Upstream von 40 MBit/s. Zuvor gingen auch via LAN nicht mehr durch. Habe dann MSS Clamping in den Advanced Options von IPsec auf 1350 gesetzt. Damit schaffe ich via LAN nun knapp 200 MBit/s, was aber auch zu wenig ist. Die CPU ist dabei nicht mal 30% ausgelastet. Es ist übrigens inzwischen eine i7 CPU. WAN aber weiterhin je nach Anwendung maximal 25-30, meist eher 10-15 MBit/s. TCP/UDP ist dabei egal.
unbenannt
aqui
aqui 18.07.2019, aktualisiert am 16.01.2023 um 14:24:11 Uhr
Goto Top
Schon komisch, denn hier klappt es mit 5 Rechnern unterschiedlicher Hardware völlig fehlerlos mit der o.a. Build Nummer.
Sieht dann wohl doch eher so aus als ob es doch eine Stellschraube unter Winblows 1903 ist. Nur welche...??? Das ist die große Frage...
Ist die Pest mit diesen Updates...
Das hier hast du beachtet?
mrsunfire
mrsunfire 18.07.2019 um 14:30:47 Uhr
Goto Top
Auch ein anderes System mit gleichem Build hat das selbe Problem.

Kannst Du zum Geschwindigkeitsthema oder dem Parameterfehler etwas sagen?
aqui
aqui 19.07.2019 um 10:16:40 Uhr
Goto Top
Was meinst du mit Parameterfehler ? Hier rennt ein APU3 mit aktiviertem AES NI Support mit guten 550 MBit was auch ein realistischer Wert ist. Mit deiner CPU sollten noch mehr drin sein.
mrsunfire
mrsunfire 19.07.2019 um 11:38:37 Uhr
Goto Top
Siehe meinen Post darüber. Windows 10 sagt "Falscher Parameter". Ich habe mich genau an die Anleitung gehalten. Auf einer anderen Maschine geht es problemlos. Wie kann ich untersuchen warum die Geschwindigkeit so gering ist? Alle Einstellungen sind der Anleitung hier identisch.
mrsunfire
mrsunfire 20.07.2019 um 07:49:56 Uhr
Goto Top
Habe die VPN Verbindung auf dem Windows 10 Client noch mal neu angelegt. Nun bekomme ich "Fehler in Richtlinienübermittlung" mit dem Code 13868. Verstehe es nicht mehr...
aqui
aqui 20.07.2019, aktualisiert am 07.10.2019 um 11:48:50 Uhr
Goto Top
Habe es gerade mal nachgestellt auf einem frisch installierten 1903. Klappt fehlerlos auch aus der Taskleiste. Exakt wie oben beschrieben.
Sieht doch nach irgendeiner Stellschraube im 1903 aus....
Am Windows 10 wurde nur Cortana totgelegt, der Sperrschirm deaktiviert:
https://www.heise.de/select/ct/2019/13/softlinks/yqbc?wt_mc=pred.red.ct. ...
Sowie alle überflüssige Software deinstalliert.
Nach o.a. Tutorial das VPN angelegt und klappt auf Anhieb.
Was gerne mal vergessen wird ist das Zertifikat, was sich dann in den o.a. Fehlern äußert.
Allerdings scheint es wohl trotzdem noch manchmal unerklärliche Aussetzer bei der VPN Taskleiste zu geben.
Auch das ct' Magazin empfiehlt dann den Standard Workaround:
https://www.heise.de/select/ct/2019/21/1570459863818446#titel_1570459863 ...

Was die Performance angeht kann es nicht an deiner HW liegen. Die CPU hat genügend Reserven sofern der Krypto Support aktiviert ist.
Es kann sein du ggf. Autonegotiation Probleme am LAN oder WAN Port hast. Ggf. MTU bzw. MSS aber das sollte automatisch auf dem richtigen Wert stehen. Wenn nicht kommt es zu Fragmentierung was erheblich an de Performance kratzt. Über die CPU Last kannst du das im Dashboard sehen.
Autonegotiation ggf. an den NIC Port Countern. Dort sollten keine Error Frames zu sehen sein.
mrsunfire
mrsunfire 21.07.2019 um 08:13:19 Uhr
Goto Top
Meine NIC's stehen alle fix auf 1000base-T full-duplex. MTU ist keine gesetzt. Die CPU Last geht nie über 30%, auch wenn der Speed nicht durch kommt.
msense
msense 21.07.2019 um 20:09:27 Uhr
Goto Top
Dank dieser Anleitung kann ich nun eine VPN Verbindung von W10 und IOS mit der pfsense herstellen !
msense
msense 21.07.2019 aktualisiert um 23:29:22 Uhr
Goto Top
Hier noch ergänzende Hinweise:

Powershell Skript
Mit folgendem kann man den Parameter einfach nach Bedarf adaptieren. Ja, $false und nicht vorhanden sind ident, aber man muss suchen wie die Parameter für true sind. Damit wird das aber klar.
-SplitTunneling --> -SplitTunneling:$false

Phase1 - Interface
Das kann tricky sein, folgender Hinweis:
Wenn man mit dem WAN am ISP hängt und man hat zb Domains mit fester IP adresse registiert mit der/denen man per VPN zugreifen will, kann es sein dass die WAN IP und die Domain IP die am WAN mit ankommt NICHT ident sind. Man muss dann das Interface auf die richtige Domain IP stellen. Am besten ist es, wenn man vorher schon mal den Zugriff auf die internen Server via http eingerichtet und getestet hat, denn dann weis man dass das soweit funktioniert. (Hinweis, ein Alias für die zugewiesene statische Domain IP ist da sehr hilfreich).

W10x64 Build 1903
Bei mir kann man über die Taskleiste das VPN nicht starten. Man muss das dz. über die VPN Einstellungen machen. Wann das wieder geht...??
Nachtrag: siehe Manuelle VPN Wahl per Link

IOS12.3.1
Die Einstellungen gehen sehr einfach. Allerdings hat IOS hier auch einen Bug:
Man MUSS dz User und PWD als Parameter fest eintragen, sonst gibt es keinen Connect. Im pfsense log wäre alles ok, nur wird die Verbindung nicht final aufgebaut. Einen Bugreport bei Apple habe ich geschrieben.

Wunsch
Das Einzige was ich mir noch wünschen würde wäre zu wissen wie man das Stammzertifikat so exportiert/verarbeitet dass es mit einem Passwort geschützt ist, es aber genauso eingebunden werden kann wie beschrieben.
aqui
aqui 22.07.2019 um 10:51:04 Uhr
Goto Top
Danke für das Feedback !
Bei mir kann man über die Taskleiste das VPN nicht starten. Man muss das dz. über die VPN Einstellungen machen.
Wie gesagt...hier klappt es bei 5 komplett neu installierten 1903ern Professional und 3 Maschinen die per Update von 1809 auf 1903 gezogen wurden (auch Prof.) fehlerlos !!
Die 5 neuen 1903er mit einem Media Creation Tool mit Auswahl (Edition: May 2019) installiert.
Fragt sich dann nur warum das dann klappt ??
IOS12.3.1
Kann ich auch nicht ganz bestätigen. Aktuelles iPad und iPhone 7 sowie diverse X hier mit 12.3.1. Dort reicht es zumindestens NUR den Usernamen einzutragen. Das Passwort kann man auf abfragen stellen. Auch das klappt fehlerlos ! Egal ob man das nun komplett einträgt oder nur das Passwort abfragt. (pfSense 2.4.4 p3 latest)
mrsunfire
mrsunfire 27.07.2019 um 10:51:46 Uhr
Goto Top
Die Neuinstallation des WAN-Miniport (IKEv2) Treibers hat bei mir geholfen dass es wieder funktioniert!
aqui
aqui 29.07.2019 um 13:06:53 Uhr
Goto Top
Perfekt ! 👍
dschlich
dschlich 06.10.2019 um 14:24:19 Uhr
Goto Top
Hallo aqui,

erstmal danke für das sehr gute tutorial, was mir heute Nacht viele Erfolgserlebnisse während meinen ersten Stunden mit pfSense beschert hat!

Eine Frage habe ich allerdings und ich komme nicht weiter...

Mein Setup..
iphone via LTE -> IP-Speedport -> pfsense.

Was geht....
Ich kann mich via ssh auf meine geräte z.B. Raspberry connecten, aber wenn ich z.b. https://www.wieistmeineip.de/ aufrufe, dann bekomme ich stets die IP, welche mein Iphone vom ISP zugewiesenen bekam gemeldet und nicht wie ich annehmen würde die IP meines meines Speedport-ISP`s, also Tcom....?
Fazit, ich "surfe" also nicht "durch" das VPN...
Kann es irgendwie sein, dass mein iphone (safari) denkt es bekommt alles ausser "meiner" privaten netze nicht aus dem tunnel? Wie kann ich dafür sorgen, dass mein iphone alles, also 0.0.0.0 über den Tunnel abwickelt?

Ich habe die Option "Liste mit zugänglichenNetzwerken dem Gerät zur Verfügung stellen" gecheckt, aber wie / wo konfiguriere ich das , oder bin ich schon auf dem Holzweg?

Wäre cool, wenn du eine idee hättest.

VG Daniel
aqui
aqui 06.10.2019 aktualisiert um 21:25:54 Uhr
Goto Top
viele Erfolgserlebnisse während meinen ersten Stunden mit pfSense beschert hat!
So sollte es sein ! face-wink
iphone via LTE -> IP-Speedport -> pfsense.
Fazit, ich "surfe" also nicht "durch" das VPN...
Das ist klar, denn die Konfig zeigt eine Split Tunneling Konfig. Sprich nur die remoten LAN Netzwerke werden durch den Tunnel geschickt. Lokaler Internet Traffic bleibt lokal.
Die Lösung alles in den VPN Tunnel zu routen, also ein Gateway Redirect zu machen, ist aber kinderleicht. Du musst nur eine Default Route auf den Tunnel eintragen. Das o.a. Tutorial erklärt diese Option im Detail im Kapitel "Alles in den Tunnel routen...".
dschlich
dschlich 07.10.2019 um 23:36:59 Uhr
Goto Top
Hi aqui,

danke, da war es wohl doch zu spät für mch und ich habe diesen Absatz in der Nacht überlesen.

Ich habs gerade getestet, zuerst hatte ich keinen Erfolg, aber nachdem ich in Phase 1 unter Mobile Clients den Haken bei "Netzwerk-Liste >>x<< Liste mit zugänglichenNetzwerken dem Gerät zur Verfügung stellen" entfernte schnurrte es wie ein Kätzchen, danke!

VG Daniel
aqui
aqui 08.10.2019 aktualisiert um 11:34:20 Uhr
Goto Top
Intuitiv richtig gemacht und danke für das hilfreiche Feedback !
Ich hab das Tutorial entsprechend in diesem Punkt nochmal angepasst. face-wink
DasBrot
DasBrot 07.11.2019 aktualisiert um 13:48:00 Uhr
Goto Top
Hallo, @mrsunfire
Die hast geschrieben das du nach Neuinstallation des WMiniport treibers die VPN Verbindung wieder aus der Taskleiste heraus benutzen kannst.
Oder habe ich den Post im falschen Kontext gesehen ? Gab es da noch weitere Schritte ?
Ich habe das Problem weiterhin mit 14 Clients. Das Löschen und neustarten aller Miniport treiber aus dem Gerätemanager brachte keinen Erfolg
Gruß
Bernd

EDIT:
Ich bin einen Schritt weiter. Zumindest kommt jetzt die Benutzerauthentifizierung wieder.
Mittels dieser Anleitung :

Am Rechner als Benutzer mit „Administrator-Rechten“ anmelden
Den Registry Edit öffen
Zum Schlüssel „HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Control Panel\Settings\Network“ navigieren
Den Eigentümer des Schlüssel-Ordner „Network“ ändern
Im Berechtigungen-Fenster „Erweitert“ auswählen
Im Fenster „Erweiterte Sicherheitseinstellungen“ bei Besitzer auf „Ändern“ klicken (am oberen Rand des Fensters)
Deinen Benutzernamen eingeben und Änderungen speicheren
Fenster für „Erweiterte Sicherheitseinstellungen“ schließen
Nun „Admininistratoren“ im Berechtigungsfenster auswählen
Sicherstellen, das „Vollzugiff“ ausgewählt ist und die Einstellungen übernehmen.
Doppelklick auf den Schlüssel „ReplaceVan“ und den Wert von 0 auf 2 ändern
Letzteres ist wohl nur die Ansicht. Aber wenn ich es auf 0 belasse kommt die Abfrage nicht

Allerdings erscheint dann eine Fehlermeldung Fehler 87 falscher Parameter.... Ich probiere noch etwas rum.
DasBrot
DasBrot 06.04.2020 um 12:53:54 Uhr
Goto Top
Hallo, Ich nutze die Roadwarrior nach dieser Anleitung bereits länger erfolgreich. (Windows 10 Clients)

Was ich jedoch nicht hin bekomme ist das der Tunnel längere Zeit auch ohne Aktivität bestehen bleibt.

Nach unterschiedlicher Zeit verliert der Client die Verbindung, der Tunnel wird jedoch auf Windows 10 Seite offen angezeigt.
Ich habe Einstellungen seitens Windows auf Standard belassen, und nur die Shell Befehle abgesendet. Ich vermute etwas passt nicht zusammen, das der Tunnel nach einiger Zeit nicht mehr nutzbar ist. Das können 10 Minuten sein, oder auch 20. Grundsätzlich spricht nix dagegen den ungenutzten Tunnel zu beenden. Aber die Zeit bis dahin, womit hängt diese zusammen ? Und warum zeigt die Netzwerkverbindung Windows 10 immer noch verbunden an ?

lg
Bernd.
aqui
aqui 06.04.2020 aktualisiert um 18:19:01 Uhr
Goto Top
Passiert hier nicht. Jedenfalls nicht mit einem Apple VPN Client ! Welchen Client verwendest du ?
Leider sagst du dazu nichts. face-sad Möglich das der kein Rekeying macht wenn die Lifetime abgelaufen ist was eigentlich nicht der Fall sein sollte. Liegt diese Zeit unter 1 Stunde oder genau da ?
Du kannst testweise mal die Lifetime der P2 verdoppeln auf 2 Stunden = 7200 und checken ob sich da was verändert. Wenn ja dann ggf. einen größeren Wert verwenden, der aber nicht größer sein sollte als die 8 Stunden (28800) der P1.
DasBrot
DasBrot 07.04.2020 um 09:55:59 Uhr
Goto Top
Hollo, und vielen Dank.
Sorry nicht ausführlich genug geschrieben. Ich meinte nach Anleitung auf Windows 10, also mit Boardmitteln ohne externen Client.
Mit der Lifetime versuche ich mal. Witzig ist das ich eine pfsense habe wo das Problem nicht auftritt. Ich kann jedoch keinen Unterschied ausmachen in der Config. Ausser das diese Verbindung das Passwort gespeichert hat.

Die Verbindung bricht unterhalb einer Stunde ab. Ich melde mich, wenn ich mehr weis.
Gruß
Bernd.
aqui
aqui 07.04.2020 um 10:00:27 Uhr
Goto Top
Tritt hier wie gesagt auch nirgendwo auf. Kann es sein das der Client der Buhmann ist. Z.B. den Energiesparmodus unter Winblows auf dem VPN Adapter oder dem Primär Adapter der die VPN Verbindung hält aktiv ? Dann deaktiviert der Rechner den Client im Energiesparmode. Das ist vermutlich eher dann die Ursache ?!
Das also auch mal checken in den Energieeinstellungen.
Frank93
Frank93 21.04.2020 um 00:26:51 Uhr
Goto Top
Erstmal vielen Dank für die tolle Anleitung. War auch für mich als Halb Laie gut anwendbar.
Genutzt werden zwei Internetanschlüsse mit Multi-WAN, Failover und Load Balance.

Folgende Fragen hätte ich noch.
1. Wie kann ich Nutzern nur bestimmte Zugangsberechtigungen geben, z. B. nur auf einen Serverdienst?
  • Die ganzen Nutzer für das VPN lege ich unter Pre-Shared-Keys an.
  • Unter "Tunnels" -> "Phase 2" habe ich zwei Einträge. Einmal wie in der Anleitung beschrieben, mit "Scheunentor" (gedacht für Admin) und einen mit einer Adresse der nur auf einen Serverdienst (Nutzer) soll.
Wie kann ich jetzt Nutzer 1 erlauben, dass er ggf. auf das gesamte Netz zugreifen darf. Nutzer 2 jedoch nur auf die Adresse mit den bestimmten Dienst zugreifen darf?
Kann ich das innerhalb der VPN Umgebung machen, muss ich es über Regeln in der FW definieren, muss ich eine neue Phase 1 und 2 aufmachen oder ist das gar nicht möglich?

2. Ich nutze Multi-WAN auf der pfSense. In der Phase 1 kann man ja auch als Interface, eine Gateway Gruppe auswählen. Wenn sich z. B. mehrere Benutzer gleichzeitig aufschalten wollen, kann dann die Last auf beide Anschlüsse verteilt werden oder geht das eigentlich gar nicht und es muss immer eine feste IP des Anschlusses pro Tunnel angegeben werden?
Habe eine Anleitung gefunden, dass mit einem Dyndns Dienst Mulit-WAN möglich wäre.

3. Sollte im Multi-WAN Betrieb für das VPN unter "System / Advanced / Miscellaneous --> Use sticky connections" verwendet werden?
Bei einem Webmail Anbieter hatte ich schon das Problem, dass die Verbindung nicht zustande kam, da anscheinend die Pakete immer über die zwei Leitungen rausgegangen sind. Aktiviere ich den Dienst, halbiert sich im Speedtest aber auch die Geschwindigkeit.. face-sad

Waren jetzt viele Fragen und sage schon einmal vielen Dank vorab.
aqui
aqui 21.04.2020 aktualisiert um 09:29:00 Uhr
Goto Top
Wie kann ich Nutzern nur bestimmte Zugangsberechtigungen geben, z. B. nur auf einen Serverdienst?
Wenn das immer für alle Nutzer gleich ist, z.B. alle dürfen nur RDP auf Server xyz machen, dann machst du das ganz normal über das Firewall Regelwerk auf dem VPN Interface. Das wäre sehr einfach.
Wenn du pro User individuelle regeln setzen wisst, dann wird es etwas aufwendiger, denn dann musst du jedem User immer eine feste IP Adresse zuweisen und dann bezogen auf die individuelle IP Adresse dort ebenso das Regelwerk setzen. Die Vergabe vom individuellen User IPs ist über die Userverwaltung regelbar.
Mit anderen Worten: Es geht immer über die Regeln.
kann dann die Last auf beide Anschlüsse verteilt werden
Das geht nur wenn du den VPN Clients einigermaßen wechselseitig mal die eine, mal die andere WAN IP Adresse konfigurierst und so eine quasi Verteilung über das Dialin machst. Es muss also VPN User getriggert sein, was auch klar ist, denn der VPN User initiiert ja die Verbindung nicht die FW.
dass mit einem Dyndns Dienst Mulit-WAN möglich wäre.
Das wäre auch eine Idee wenn der Dienst sowas supportet. Das wäre ein DNS Balancing. Das der DynDNS Dienst auf einen DNS Anfrage des Hostnamens mal die eine und mal die andere WAN IP im Round Robin Verfahren ausgibt. Das ginge natürlich auch und ist durchaus üblich.
Use sticky connections" verwendet werden?
Müsste nicht zwingend. Es geht ja rein nur um die eingehenden VPN Verbindungen der Clients und NICHT um ausgehende Verbindungen für die das dual WAN Balancing ja eigentlich gilt. Durch die eingehende VPN Session bestimmt man ja fest die IP mit der man arbeitet und die bleibt auch.
da anscheinend die Pakete immer über die zwei Leitungen rausgegangen sind.
Das ist technisch unmöglich und zeugt eher von einer Fehlkonfiguration. Vermutlich hast du damit einen internen Mail Server mit Port Forwarding bedient und dann die outbound Sessions des Mail Servers über den Balancer laufen lassen. Das ist dann natürlich tödlich und ein typischer Anfänger Konfig Fehler. Sowas kann dann logischerweise nicht gehen.
Waren jetzt viele Fragen
Nöö, passt schon... face-wink
Frank93
Frank93 21.04.2020 um 12:17:17 Uhr
Goto Top
Zitat von @aqui:
Vielen Dank für die rasche Antwort.

Zum Verständnis, ob ich die Ipsec Anleitung vom Prinzip verstanden habe, folgende etwas längere Ausführung. Hoffe dadurch wird ersichtlich, ob ich a) es überhaupt einigermaßen verstanden habe und b) wo mein gedanklicher Knoten liegt. Meine Gedanken sind aus der Anwendersicht beschrieben und anhand der Gliederungspunkte der Anleitung.

Um die Verwirklichung um folgendes Szenario geht es:
Es gibt ein LAN 1 und LAN 2. An "Nutzergruppen" soll es Admins und Nutzer geben. Die Admins sollen auf beide LANs zugreifen dürfen. Die Nutzer jedoch nur auf einen bestimmten Dienst innerhalb des LAN2 (Zugriff auf Dateien auf Server, die im Datei-Explorer angezeigt werden sollen).

Die Einrichtung des VPN hat nach der Erstellung des Zertifikats und Einrichtung der Clients, drei Schritte (entsprechend der Anleitung):

1. Mobiles Client IPsec VPN auf der pfSense einrichten
Hier ermögliche ich überhaupt den Betrieb des VPN und vergebe einen IP-Adressbereich innerhalb der pfSense. Jeder angelegte Nutzer landet ja in diesem Adress-Bereich und die FW vergibt die Adressen nach dem Motto "wer zuerst kommt, malt zuerst".
Habe es so wie in der Anleitung konfiguriert.
2. IPsec Phase 1 Konfiguration:
Hier bestimme ich u. a. über welches Gateway die mobilen Nutzer rein kommen.
Habe es so wie in der Anleitung konfiguriert.
3. IPsec Phase 2 Konfiguration:
A) Das Local Network setzt man jetzt wie gewünscht. Normal ist immer “LAN subnet”, also das lokale LAN an der pfSense. Sollen weitere lokale Netzwerke an der pfSense (ggf. VLANs) in den Tunnel geroutet werden, dann werden sie hier eingetragen. (Bsp: 192.168.0.0 /16 routet alle 192.168er Netze in den VPN Tunnel)
B) ACHTUNG: Wer den gesamten Client Traffic in den Tunnel routen will setzt “Local Network” auf “Network”, und gibt 0.0.0.0 als Adresse und /0 für das Subnet ein.


"A" verstehe ich so, dass ich bestimmen kann, welcher Teil meines Netzwerkes von "außen" erreichbar ist.
"B" verstehe ich jedoch so, dass der komplette Traffic des Notebooks über den VPN gelenkt wird. Habe wo gelesen, dass dies sinnig wäre, wenn man z. B. in einem öffentlichen WLAN ist.

Hier habe ich mich dafür entschieden, dass der gesamte Traffic in den Tunnel geroutet werden soll für die Nutzer, da die Zugriffsrechte für die Nutzer "Verwalter" und "Nutzer" ja innerhalb der FW-Regeln-IPsec geregelt werden.

Benutzername und Passwörter für den VPN Zugriff einrichten:
Hier lege ich für jede Person einen Namen (Verwalter 1 bis 4, Nutzer 1 bis XX) und PW an.
Oder müsste hier in der pfSense über "System / User Manager" auch noch eine Anlegung von Benutzern erfolgen?

Firewall Regeln für IPsec einrichten
Entsprechend Ihrer Antwort, definiere ich hier auf welche Ressourcen die "Verwalter" und "Nutzer" Zugriff erlangen.

Hoffe ich habe das Prinzip einigermaßen richtig verstanden und angewandt.

Die offene Frage für mich ist jetzt, wie ich innerhalb der FW-Regeln-Ipsec, die Zugriffe für "Verwalter" und "Nutzer" regle.
Gehe davon aus, dass ich "Aliases" einrichten muss für "Verwalter" und "Nutzer".
Hierfür brauche ich ja aber IP-Adressen. Und die Adressvergabe erfolgt ja nach der ersten Anmeldung (Status / Ipsec / Leases) und bleibt dann gleich, oder?
Kann ich somit die Nutzertrennung erst einrichten, wenn sich alle das 1. Mal angemeldet haben?

Entschuldigung, dass die Ausführung etwas lang geworden ist. Hoffe jedoch es wird dadurch etwas leichter zu erkennen, wo mein gedanklicher Knoten liegt.

Gruß
aqui
aqui 21.04.2020 aktualisiert um 12:33:32 Uhr
Goto Top
Entschuldigung, dass die Ausführung etwas lang geworden ist.
Es ist besser du bewegst das in einen komplett neuen Thread um hier das Tutorial nicht unnötig mit Detailfragen aufzublähen und damit für andere unübersichtlicher zu machen.
"A" verstehe ich so, dass ich bestimmen kann, welcher Teil meines Netzwerkes von "außen" erreichbar ist.
Nein, damit bestimmt man welchen IP Flow mit IPsec encryptet wird und in den Tunnel fliesst.
Die offenen Frage kannst du nur darüber lösen das du den Nutzern feste Absender IP Adressen verteilst. Damit gibt es zu jedem benutzer eine feste IP auf die man dann wieder "Nutzer" und "Verwalter" Regeln anwenden kann.
Aber am besten in einem separaten Thread mit Verweis hier. face-wink
Frank93
Frank93 22.04.2020 um 12:24:47 Uhr
Goto Top
Patrickz
Patrickz 22.04.2020 um 14:58:53 Uhr
Goto Top
Vielen Dank @aqui für das tolle Tutorial.
Ich nutze OPNsense 20.1.4 und konnte erfolgreich eine Split-VPN einrichten.
Allerdings wird bei der Always on VPN nicht ins Internet geroutet. Ich habe wie im Tutorial beschrieben als Netzwerk 0.0.0.0/0 angegeben. Lediglich unter den Firewall Regeln wird die Option Gateway von "Standard" immer wieder nach dem Speichern auf "nothing selected" geändert. Haben Sie eine Idee was ich noch falsch gemacht haben könnte oder handelt es sich hierbei um ein bug?
Dankeschön
aqui
aqui 23.04.2020 aktualisiert um 11:24:39 Uhr
Goto Top
Danke für die Blumen. face-wink
Die 0.0.0.0/0er Route in der Firewall einzugeben ist nur die halbe Miete. Beim Windows Client musst du das z.B. auch noch zusätzlich customizen. Siehe oben in der Beschreibung des Windows 10 Clients. Dort entweder die 0.0.0.0/0er Route auch eingeben oder SplitTunneling Parameter auf False im PowerShell Setup setzen. Dann klappt das auch fehlerlos.
Wenn du Windows als VPN Client hast hilft immer ein route print in der Eingabeaufforderung um die Routing Tabelle bei aktivem VPN Client zu checken. Dort sollte dann die Default Route auf das Tunnel Interface zeigen.
Patrickz
Patrickz 24.04.2020 um 15:23:48 Uhr
Goto Top
Vielen Dank für die Antwort. Ich habe gestern nochmal probiert mit ihrem Hinweis die Always VPN Lösung unter Windows 10 sowie Android umzusetzen.
Mit dem Befehl route print bekam ich folgende Ausgabe(Per LTE mit dem Internet Verbunden + aktivierte VPN):
Netwerkziel 0.0.0.0 Netzmaske 0.0.0.0 Gateway 10.164.59.XX Schnittstelle 10.164.59.YY Metrik 4536
Netwerkziel 0.0.0.0 Netzmaske 0.0.0.0 Gateway Auf Verbindung Schnittstelle 10.0.100.2 Metrik 46
Für mich sieht das so erstmal korrekt aus. Jedoch habe ich nur Zugriff zum Intranet und nicht zu Internet.
Ich befürchte das bei OPNsense irgendeine route nicht funktioniert. Haben Sie noch einen Tipp für mich?
aqui
aqui 25.04.2020 um 09:50:42 Uhr
Goto Top
mit ihrem Hinweis
In einem Forum duzt man sich in der Regel also bitte nicht so förmlich ! "You can say you to me...!" face-wink
In der o.a. Routing Tabelle:
Netwerkziel 0.0.0.0 Netzmaske 0.0.0.0 Gateway 10.164.59.XX Schnittstelle 10.164.59.YY Metrik 4536
Netwerkziel 0.0.0.0 Netzmaske 0.0.0.0 Gateway Auf Verbindung Schnittstelle 10.0.100.2 Metrik 46

würde dann die 10.0.100.2 Schnittstelle bevorzugt, da bessere Metrik.
Beim Routing ist es so das der niedrigere Wert die bessere Metrik darstellt und Microsoft sich hoffentlich auch an diesen Standard hält.
Habs hier gerade nochmal mit einer pfSense getestet und damit funktioniert das fehlerlos.
Patrickz
Patrickz 25.04.2020 um 13:16:03 Uhr
Goto Top
Ja ich bin noch nicht so Forum erfahren, in aller Regel Google ich mich tot bis ich es schaffe aber hier kam ich nicht weiter.
Danke für die Erklärung aber nach meinem Verständnis müsste damit die Client Seite richtig eingestellt sein. 10.0.100.2 ist mein VPN Netz. Das Intranet also Webseiten aus dem lokalen Netz funktionieren über die dauerhafte VPN nur nicht das WWW.
Ich muss doch nicht Serverseitig(OPNsense) noch eine eigene Route erstellen?
aqui
aqui 25.04.2020 um 15:05:52 Uhr
Goto Top
nach meinem Verständnis müsste damit die Client Seite richtig eingestellt sein. 10.0.100.2 ist mein VPN Netz.
Nicht nur nach deinem. Dann ist auch alles richtig.
Was sagt denn ein Traceroute z.B. auf die 8.8.8.8 ? Geht das über den VPN Tunnel ins Internet ?
Ich muss doch nicht Serverseitig(OPNsense) noch eine eigene Route erstellen?
Nein, natürlich nicht, denn die hat hat ja schon (hoffentlich) eine Default Route ins Internet face-wink !
Patrickz
Patrickz 25.04.2020 um 16:58:06 Uhr
Goto Top
Zitat von @aqui:
Nicht nur nach deinem. Dann ist auch alles richtig.
Das beruhigt mich schonmal.
Zitat von @aqui:
Was sagt denn ein Traceroute z.B. auf die 8.8.8.8 ? Geht das über den VPN Tunnel ins Internet ?
tracert 10.0.2.1
Ist mit einem Hop direkt im Intranet.
tracert 8.8.8.8
Gibt 30 Hops a je "Zeitüberschreitung der Anforderung" an.
Über das Webinterface der OPNsense kann ich leider jedoch keine Tests aus dem VPN Netz machen. Oder gibt es da eine Möglichkeit?
aqui
aqui 26.04.2020 um 09:00:25 Uhr
Goto Top
Bitte lagere das Troubleshooting in einen separaten Thread aus mit hiesigem Verweis um das Tutorial hier nicht unnötig aufzublähen und damit unübersichtlich zu machen !
Danke !
12ha34
12ha34 19.09.2020 um 12:51:41 Uhr
Goto Top
Hallo aqui,

danke für die Anleitung, ich habe diese nachvollzogen und auch eine Verbindung über Android hinbekommen. Bei meinen WIn10 Rechnern bekomme ich allerdings die bekannte Fehlermeldung "ike-authentifizierung-anmeldeinformationen sind nicht akzeptabel" Ich habe die Zertifikate meiner pfSense 2.4.5-Release-p1kontolliert.Die CA in den Computer Store importiert etc..

Auf den Netgate-Seiten habe ich folgenden Workaround gefunden und den Registry Eintrag wie folgt gesetzt:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\RasMan\Parameters\ --> DisableIKENameEkuCheck=1

Damit bekomme ich eine IPSec Verbindung von WIN10 aus. Laut Netgate sollte das mit neueren pfSense Versionen nicht nötig sein. Ich denke ich habe ein EKU Problem. Da aber das Abschalten des EKU Checks ein Sicherheitsrisiko darstellt, möchte ich das ungern tun. Gibt es da eine Lösung wie ich das EKU des Serverzertifikates anpassen kann? Was benötigt WIN 10 überhabt. Mein aktuelles Zertifikat hat folgende Einträge:
eku

Wie sieht das bei Euch aus? Was kann man verändern, damit auch ohne DisableIKENameEkuCheck=1 eine Verbindung aufgebaut wird.

Danke und Grüße ha
aqui
aqui 19.09.2020 aktualisiert um 14:52:00 Uhr
Goto Top
Kann ich bei Windows 10 (1909) hier leider nicht nachvollziehen. Auch auf einem frisch installierten Win 10, 1909 Client funktioniert es fehlerlos.
Ob das bei der 2004er Version auch so ist kann ich in Ermangelung dieser aktuell nicht testen. Leider fehlt bei dir die Win 10 Versionsangabe (Suchfeld und dann winver)
Die Fehlermeldung lässt auch eher auf einen Fehler in den Krypto Credentials schliessen. Hast du die noch einmal wasserdicht gecheckt ? (AES 256 und Hashing)
12ha34
12ha34 19.09.2020 aktualisiert um 15:20:07 Uhr
Goto Top
Die Windowsversion lautet: 1909 (Build 18363.1082)

Einstellungen sind denke ich korrekt.

p1

p2
aqui
aqui 20.09.2020 um 10:26:50 Uhr
Goto Top
Einstellungen sind denke ich korrekt.
Das ist ja nur eine Seite ! Davon das die korrekt ist gehen wir mal aus. Aber wie sieht es auf dem Windows Client aus ??
Wie gesagt, hier auf einen frisch installierten 1909er Client fehlerlos !
12ha34
12ha34 20.09.2020 aktualisiert um 11:23:42 Uhr
Goto Top
Ich habe die Einstellungen im Win Client über die PowerShell Befehle gemacht. Ein Test mit einem frischen 2004er brachte auch keinen Erfolg. Ich chaue mal ob ich noch ein 1909er Intsallationsmedium habe und teste das mal mit einer frischen Installation.

Die pfSense (2.4.5) hatte ich frisch aufgesetzt und meine alten Einstellungen inklusive OpenVPN Certifikaten (User) über ein Backup zurückgespielt. Könnte das damit zusammenhängen?
aqui
aqui 20.09.2020 aktualisiert um 12:15:33 Uhr
Goto Top
Könnte das damit zusammenhängen?
Eigentlich nicht, denn das Backup stellt ja alles genau so wieder her wie es war inklusive Zertifikaten. Solange die also noch gültig sind (Zeit) und auch Uhrzeit und Datum von Client und Server stimmen sollte es nicht daran liegen.
Was noch hilfreich wäre, wäre das Log der pfSense wenn der Client sich einwählt. Das ist in der Regel erheblich aussagekräftiger als das was Winblows ausgibt. Leider fehlte die Info oben... face-sad
Hilfreich ist es das Log reverse anzuzeigen das die aktuellste Message immer zuerst oben steht und es ggf. zu löschen bevor man mit dem Client den Tunnel aufbaut.
log1
log2
Unter IPsec findet man dann eine meist sinnvollere Debugging Message.
12ha34
12ha34 20.09.2020 um 13:19:27 Uhr
Goto Top
Das ist der Log mit einem fehlgeschlagenem Anmeldeversuch.

Sep 20 12:51:26	charon		09[JOB] <con-mobile|32> deleting half open IKE_SA with xx.xx.xx.237 (IP Client) after timeout
Sep 20 12:50:56	charon		09[NET] <con-mobile|32> sending packet: from xx.xx.xx.161 (WAN IP pfSense)[4500] to xx.xx.xx.237 (IP Client)[1641] (372 bytes)
Sep 20 12:50:56	charon		09[NET] <con-mobile|32> sending packet: from xx.xx.xx.161 (WAN IP pfSense)[4500] to xx.xx.xx.237 (IP Client)[1641] (1236 bytes)
Sep 20 12:50:56	charon		09[ENC] <con-mobile|32> generating IKE_AUTH response 1 [ EF(2/2) ]
Sep 20 12:50:56	charon		09[ENC] <con-mobile|32> generating IKE_AUTH response 1 [ EF(1/2) ]
Sep 20 12:50:56	charon		09[ENC] <con-mobile|32> splitting IKE message (1536 bytes) into 2 fragments
Sep 20 12:50:56	charon		09[ENC] <con-mobile|32> generating IKE_AUTH response 1 [ IDr CERT AUTH EAP/REQ/ID ]
Sep 20 12:50:56	charon		09[IKE] <con-mobile|32> sending end entity cert "CN=pfSense, C=DE, ST=Sxxxxx, L=Rxxxxx, O=Sxxx myHome"  
Sep 20 12:50:56	charon		09[IKE] <con-mobile|32> authentication of 'pfSense' (myself) with RSA signature successful  
Sep 20 12:50:56	charon		09[IKE] <con-mobile|32> peer supports MOBIKE
Sep 20 12:50:56	charon		09[IKE] <con-mobile|32> initiating EAP_IDENTITY method (id 0x00)
Sep 20 12:50:56	charon		09[CFG] <con-mobile|32> selected peer config 'con-mobile'  
Sep 20 12:50:56	charon		09[CFG] <32> looking for peer configs matching xx.xx.xx.161 (WAN IP pfSense)[%any]...xx.xx.xx.237 (IP Client)[192.168.43.38]
Sep 20 12:50:56	charon		09[IKE] <32> received 47 cert requests for an unknown ca
Sep 20 12:50:56	charon		09[IKE] <32> received cert request for "CN=vpnca, C=DE, ST=Sxxxxx, L=Rxxxxx, O=Sxxx myHome"  
Sep 20 12:50:56	charon		09[ENC] <32> parsed IKE_AUTH request 1 [ IDi CERTREQ N(MOBIKE_SUP) CPRQ(ADDR DNS NBNS SRV ADDR6 DNS6 SRV6) SA TSi TSr ]
Sep 20 12:50:56	charon		09[ENC] <32> received fragment #3 of 3, reassembled fragmented IKE message (1264 bytes)
Sep 20 12:50:56	charon		09[ENC] <32> parsed IKE_AUTH request 1 [ EF(3/3) ]
Sep 20 12:50:56	charon		09[NET] <32> received packet: from xx.xx.xx.237 (IP Client)[1641] to xx.xx.xx.161 (WAN IP pfSense)[4500] (276 bytes)
Sep 20 12:50:56	charon		09[ENC] <32> received fragment #2 of 3, waiting for complete IKE message
Sep 20 12:50:56	charon		09[ENC] <32> parsed IKE_AUTH request 1 [ EF(2/3) ]
Sep 20 12:50:56	charon		09[NET] <32> received packet: from xx.xx.xx.237 (IP Client)[1641] to xx.xx.xx.161 (WAN IP pfSense)[4500] (580 bytes)
Sep 20 12:50:56	charon		09[ENC] <32> received fragment #1 of 3, waiting for complete IKE message
Sep 20 12:50:56	charon		09[ENC] <32> parsed IKE_AUTH request 1 [ EF(1/3) ]
Sep 20 12:50:56	charon		09[NET] <32> received packet: from xx.xx.xx.237 (IP Client)[1641] to xx.xx.xx.161 (WAN IP pfSense)[4500] (580 bytes)
Sep 20 12:50:56	charon		09[NET] <32> sending packet: from xx.xx.xx.161 (WAN IP pfSense)[500] to xx.xx.xx.237 (IP Client)[11618] (481 bytes)
Sep 20 12:50:56	charon		09[ENC] <32> generating IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(FRAG_SUP) N(CHDLESS_SUP) N(MULT_AUTH) ]
Sep 20 12:50:56	charon		09[IKE] <32> sending cert request for "CN=vpnca, C=DE, ST=Sxxxxx, L=Rxxxxx, O=Sxxx myHome"  
Sep 20 12:50:56	charon		09[IKE] <32> remote host is behind NAT
Sep 20 12:50:56	charon		09[CFG] <32> selected proposal: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
Sep 20 12:50:56	charon		09[IKE] <32> xx.xx.xx.237 (IP Client) is initiating an IKE_SA
Sep 20 12:50:56	charon		09[ENC] <32> received unknown vendor ID: 01:52:8b:bb:c0:06:96:12:18:49:ab:9a:1c:5b:2a:51:00:00:00:02
Sep 20 12:50:56	charon		09[IKE] <32> received Vid-Initial-Contact vendor ID
Sep 20 12:50:56	charon		09[IKE] <32> received MS-Negotiation Discovery Capable vendor ID
Sep 20 12:50:56	charon		09[IKE] <32> received MS NT5 ISAKMPOAKLEY v9 vendor ID
Sep 20 12:50:56	charon		09[ENC] <32> parsed IKE_SA_INIT request 0 [ SA KE No N(FRAG_SUP) N(NATD_S_IP) N(NATD_D_IP) V V V V ]
Sep 20 12:50:56	charon		09[NET] <32> received packet: from xx.xx.xx.237 (IP Client)[11618] to xx.xx.xx.161 (WAN IP pfSense)[500] (544 bytes)
aqui
aqui 20.09.2020 aktualisiert um 13:52:46 Uhr
Goto Top
Mmmhhh...Timeout klingt erstmal komisch ?! Bedeutet das dort irgendwas nicht ankommt.
Hast du am WAN Port eine entsprechende Regel eingerichtet die:
  • UDP 500 (IKE/ISAKMP)
  • UDP 4500 (NAT Traversal)
  • und das ESP Protokoll (IP Nummer 50, Achtung kein Port 50 !)
entsprechend auf die WAN IP Adresse der Firewall passieren lässt ?
Zudem wenn die pfSense in einer Router Kaskade arbeitet (und auch nur dann !!) sollte am WAN Port unten der Haken beim Blocken der RFC 1918 IP Netze entfernt werden.
12ha34
12ha34 20.09.2020 um 15:33:58 Uhr
Goto Top
Die Ports bzw. ESP sind offen, vom Handy kann ich über strongSwan eine Verbindung aufbauen.

Die pfSense baut die Verbindung über PPOE zum Provider selber auf. Sollte also alles passen.

Was ich auch nicht einordnen kann, wenn ich auf dem Windows PC die Prüfung des EKU in der Registry abschalte, wird auch eine Verbindung aufgebaut.

Ich weiß nicht so recht was icht testen und ob ich auf pfSense oder Win Seite suchen soll.
aqui
aqui 20.09.2020 um 17:10:34 Uhr
Goto Top
Vermutlich ist das de facto ein Win 10 Client Problem und auch noch Client spezifisch, denn es lässt sich hier wie gesagt nicht nachstellen in einer frisch aufgesetzten Win 10 Pro Edition 1909.
Hattest du vorher ggf. mal einen anderen bzw. externen IPsec Client installiert und den nicht wieder vollständig entfernt ?
12ha34
12ha34 20.09.2020 um 20:16:40 Uhr
Goto Top
Einen IPsec nicht aber Openvpn und einen Cisco Client, Cisco kann ich aber nicht deinstallieren.
Ich werde mal weiter forschen und wenn es was zu berichten gibt, posten.

Danke noch mal und Grüße
coloridolo
coloridolo 21.09.2020 um 08:51:57 Uhr
Goto Top
Hallo,

vielen Dank für die präzise Anleitung zur Einrichtung eines VPN mit OPNSense/pfsense! Hat bei mir mit OPNSense fast problemlos funktioniert. Es gab nur zwei kleine Stolpersteine bei der Einrichtung des Windows 10 Clients (Win 10 Pro 2004):

  • ich musste ein P12-Zertifkat (das den User-Key enthält) importieren, damit die Verbindung zustande kommt (nicht die CRT-Datei)
p12-cert
  • der Befehl für die Konfiguration des Routing musste noch den Parameter '-AllUserConnection' enthalten, damit das lokale Netz verfügbar war:
Add-VpnConnectionRoute -ConnectionName "pfSense" -DestinationPrefix 192.168.1.0/24 -AllUserConnection -PassThru  

Evtl. ist das in anderen Fällen auch so.
aqui
aqui 21.09.2020 um 09:12:20 Uhr
Goto Top
Einen IPsec nicht aber Openvpn und einen Cisco Client, Cisco kann ich aber nicht deinstallieren.
Bahnhof ?? Was sollen uns diese kryptischen Zeilen sagen ???
Wenn der Cisco IPsec Client drauf ist dann wird es ganz sicher daran liegen. Du kannst aber auch mit dem Cisco Client eine IPsec Verbindung auf die pfSense eröffnen. Du musst da dann nur Xauth aktivieren.
Das sollte dann aber in einem separaten Thread passieren um hier das Tutorial nicht unnötig aufzublähen.

@coloridolo
Danke für das Feedback. Ggf. behandelt das der OPNsense Fork etwas anders ?!
12ha34
12ha34 02.10.2020 um 16:55:01 Uhr
Goto Top
Ich habe noch ein wenig zum "ike-authentifizierung-anmeldeinformationen sind nicht akzeptabel" Problem gesucht und eine Lösung (zumindest für mich) gefunden, die ich euch nicht vorenthalten will. Ich habe ein Zertifikat erzeugt wie oben in der Anleitung beschreiben erzeugt. Ich habe dann zusätzlich die kürze Variante "pfsense.meinedomain" und den DynDNS-Namen der pfSense als Alternative DNS-Namen ergänzt und konnte mich ohne Fehler von meinem WIN10 einwählen.
Vielleicht hilft es ja auch anderen weiter.

Grüße
aqui
aqui 02.10.2020 um 17:06:37 Uhr
Goto Top
Danke für das Feedback. Hab es oben mal als optional im Tutorial mit hinzugefügt da das bei richtiger und vollständiger DNS Konfig eigentlich nicht nötig ist. Aber sicher ist sicher und wenns geholfen hat ist das ja Beweis genug... face-wink
12ha34
12ha34 03.10.2020 um 10:14:53 Uhr
Goto Top
Meinst du die DNS Konfiguration der pfSense? Ich habe noch mal Kombinationen mit und ohne verkürztem DNS Eintarg und DynDNS Hostnamen probiert und tatsächlich hat am Ende der alternative FQDN Eintrag des Hostnamen des DynDNS Service den Erfolg für mich gebracht.

Grüße und danke noch mal für die Anleitung.
aqui
aqui 03.10.2020 um 10:35:16 Uhr
Goto Top
Wichtig ist das man im General Setup einen FQDN Namen vergibt wie pfsense.intern oder wenn man mehr Standard konform sein möchte wie pfsense.meinnetz.home.arpa. (Siehe dazu auch HIER !)
Zudem sollte man den DNS auf der Firewall richtig einstellen. Forwarder (Default) immer deaktivieren, denn der fragt statt den Provider DNS immer die Root Server was sehr ungünstig ist in Bezug auf Antwortszeiten.
Deshalb:
back-to-topDNS Forwarder deaktivieren:
dns1
back-to-topDNS Resolver AKTIVIEREN:
dns2
back-to-top...und dort den Forwarding Mode aktivieren:
dns3

Dann sollte es eigentlich auch immer mit nur Hostname und FQDN laufen. Es schadet aber nicht wenn man deine "kurze" Version zur Sicherheit auch immer mit dazu nimmt um sicher zu gehen das es klappt.
HanDoku
HanDoku 12.10.2020 aktualisiert um 13:17:39 Uhr
Goto Top
Eine Frage zum Abschnitt Mobiles Client IPsec VPN auf der pfSense einrichten: Den Clients wird ja eine IP aus einem ansonsten ungenutzten IP Netzwerk zugewiesen, bspw. die 10.10.10.1. Können Sie dann trotzdem "ganz normal" über die IP-Adressen des LANs, an das sie so angebunden sind auf die anderen Netzwerkteilnehmer zugreifen, also bspw. über 192.168.0.18?

Und über welche IP sind die Clients dann aus dem LAN erreichbar? Bei unserem alten Router haben Sie eine Adresse aus dem IP-Pool des LAN bekommen.
aqui
aqui 12.10.2020 aktualisiert um 13:44:43 Uhr
Goto Top
Den Clients wird ja eine IP aus einem ansonsten ungenutzten IP Netzwerk zugewiesen, bspw. die 10.10.10.1
Das ist richtig ! Das ist quasi das VPN IP Segment. Das kannst du dir so vorstellen als ob das ein weiteres, separates IP Netzwerk ist was noch an der Firewall klemmt und über sie geroutet wird. Genauso wie mit einem Kabel nur das es eben VPN ist. Clients im VPN Netz haben dann also immer eine 10.10.10.0er Absender IP. Was du übrigens auf dem Client auch ganz einfach selber ansehen kannst wenn du dir die NIC IP Adressen einmal ausgeben lässt (ipconfig = Winblows, ifconfig = unixoide OS).
Können Sie dann trotzdem "ganz normal" über die IP-Adressen des LANs, an das sie so angebunden sind auf die anderen Netzwerkteilnehmer zugreifen
Ja natürlich ! Warum sollten sie es deiner Meinung nach denn nicht können ? Wenn du ein WLAN Segment an der Firewall dran hast können diese Clients doch auch auf die LAN Clients zugreifen ?!
Voraussetzung ist natürlich das du entsprechende Firewall Regeln eingerichtet hast, das ist klar.
Und über welche IP sind die Clients dann aus dem LAN erreichbar?
Na komm....diese simple Frage solltest du dir doch eigentlich auch selber beantworten können ! Das hast du ja oben schon gemacht: <Deine eigenen Worte:> "Den Clients wird ja eine IP aus einem ansonsten ungenutzten IP Netzwerk zugewiesen, bspw. die 10.10.10.1" Warum fragst du also ??
Alle VPN Clients kannst du aus dem LAN natürlich auch über ihre 10.10.10.x IP Adresse erreichen. Simplestes IP Routing, Netzwerk Grundschule 1. Klasse. face-wink
Bei unserem alten Router haben Sie eine Adresse aus dem IP-Pool des LAN bekommen.
Dann hast du aber ganz sicher kein IPsec Native als VPN Protokoll benutzt sondern L2TP mit IPsec. Da sieht die (IP) Welt etwas anders aus.
HanDoku
HanDoku 13.10.2020 um 11:29:00 Uhr
Goto Top
Wir bekommen einen Verbindungsaufbau hin, werden aber regelmäßig nach wenigen Minuten mit der Meldung "failed to establish CHILD_SA, keeping IKE_SA / no acceptable proposal found" wieder rausgekickt. Das betrifft sowohl Mac OS als auch iOS.

Kennst Du den Effekt? So sieht das Log aus:

Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> lease 10.10.10.1 by 'admin@example.com' went offline  
Oct 13 10:40:05	charon		10[CHD] <con-mobile|4> CHILD_SA con-mobile{3} state change: INSTALLED => DESTROYING
Oct 13 10:40:05	charon		10[IKE] <con-mobile|4> IKE_SA con-mobile[4] state change: DELETING => DESTROYING
Oct 13 10:40:05	charon		10[NET] <con-mobile|4> sending packet: from 37.24.xx.xx[4500] to 192.168.10.18[4500] (80 bytes)
Oct 13 10:40:05	charon		10[ENC] <con-mobile|4> generating INFORMATIONAL response 1 [ ]
Oct 13 10:40:05	charon		10[IKE] <con-mobile|4> IKE_SA deleted
Oct 13 10:40:05	charon		10[IKE] <con-mobile|4> IKE_SA con-mobile[4] state change: ESTABLISHED => DELETING
Oct 13 10:40:05	charon		10[IKE] <con-mobile|4> deleting IKE_SA con-mobile[4] between 37.24.xx.xx[pfSense]...192.168.10.18[192.168.10.18]
Oct 13 10:40:05	charon		10[IKE] <con-mobile|4> received DELETE for IKE_SA con-mobile[4]
Oct 13 10:40:05	charon		10[ENC] <con-mobile|4> parsed INFORMATIONAL request 1 [ D ]
Oct 13 10:40:05	charon		10[NET] <con-mobile|4> received packet: from 192.168.10.18[4500] to 37.24.xx.xx[4500] (80 bytes)
Oct 13 10:40:05	charon		10[NET] <con-mobile|4> sending packet: from 37.24.xx.xx[4500] to 192.168.10.18[4500] (80 bytes)
Oct 13 10:40:05	charon		10[ENC] <con-mobile|4> generating CREATE_CHILD_SA response 0 [ N(NO_PROP) ]
Oct 13 10:40:05	charon		10[CHD] <con-mobile|4> CHILD_SA con-mobile{4} state change: CREATED => DESTROYING
Oct 13 10:40:05	charon		10[CHD] <con-mobile|4> CHILD_SA con-mobile{3} state change: REKEYING => INSTALLED
Oct 13 10:40:05	charon		10[CHD] <con-mobile|4> CHILD_SA con-mobile{3} state change: INSTALLED => REKEYING
Oct 13 10:40:05	charon		10[IKE] <con-mobile|4> failed to establish CHILD_SA, keeping IKE_SA
Oct 13 10:40:05	charon		10[IKE] <con-mobile|4> no acceptable proposal found
Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> configured proposals: ESP:AES_CBC_256/HMAC_SHA2_256_128/MODP_2048/NO_EXT_SEQ, ESP:AES_CBC_256/HMAC_SHA2_384_192/MODP_2048/NO_EXT_SEQ, ESP:AES_CBC_256/HMAC_SHA2_512_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_16_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_16_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_16_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_12_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_12_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_12_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_8_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_8_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_8_256/MODP_2048/NO_EXT_SEQ
Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> received proposals: ESP:AES_CBC_256/HMAC_SHA2_256_128/NO_EXT_SEQ
Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> no acceptable ENCRYPTION_ALGORITHM found
Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> selecting proposal:
Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> no acceptable ENCRYPTION_ALGORITHM found
Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> selecting proposal:
Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> no acceptable ENCRYPTION_ALGORITHM found
Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> selecting proposal:
Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> no acceptable ENCRYPTION_ALGORITHM found
Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> selecting proposal:
Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> no acceptable ENCRYPTION_ALGORITHM found
Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> selecting proposal:
Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> no acceptable ENCRYPTION_ALGORITHM found
Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> selecting proposal:
Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> no acceptable ENCRYPTION_ALGORITHM found
Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> selecting proposal:
Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> no acceptable ENCRYPTION_ALGORITHM found
Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> selecting proposal:
Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> no acceptable ENCRYPTION_ALGORITHM found
Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> selecting proposal:
Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> no acceptable INTEGRITY_ALGORITHM found
Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> selecting proposal:
Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> no acceptable INTEGRITY_ALGORITHM found
Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> selecting proposal:
Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> no acceptable DIFFIE_HELLMAN_GROUP found
Oct 13 10:40:05	charon		10[CFG] <con-mobile|4> selecting proposal:
Oct 13 10:40:05	charon		10[ENC] <con-mobile|4> parsed CREATE_CHILD_SA request 0 [ N(REKEY_SA) SA No TSi TSr ]
Oct 13 10:40:05	charon		10[NET] <con-mobile|4> received packet: from 192.168.10.18[4500] to 37.24.xx.xx[4500] (192 bytes)
Oct 13 10:40:04	charon		13[IKE] <con-mobile|3> IKE_SA con-mobile[3] state change: DELETING => DESTROYING
Oct 13 10:40:04	charon		13[NET] <con-mobile|3> sending packet: from 37.24.xx.xx[4500] to 192.168.10.18[4500] (80 bytes)
Oct 13 10:40:04	charon		13[ENC] <con-mobile|3> generating INFORMATIONAL response 7 [ ]
Oct 13 10:40:04	charon		13[IKE] <con-mobile|3> IKE_SA deleted
Oct 13 10:40:04	charon		13[IKE] <con-mobile|3> IKE_SA con-mobile[3] state change: REKEYED => DELETING
Oct 13 10:40:04	charon		13[IKE] <con-mobile|3> deleting IKE_SA con-mobile[3] between 37.24.xx.xx[pfSense]...192.168.10.18[192.168.10.18]
Oct 13 10:40:04	charon		13[IKE] <con-mobile|3> received DELETE for IKE_SA con-mobile[3]
Oct 13 10:40:04	charon		13[ENC] <con-mobile|3> parsed INFORMATIONAL request 7 [ D ]
Oct 13 10:40:04	charon		13[NET] <con-mobile|3> received packet: from 192.168.10.18[4500] to 37.24.xx.xx[4500] (80 bytes)
Oct 13 10:40:04	charon		13[NET] <con-mobile|3> sending packet: from 37.24.xx.xx[4500] to 192.168.10.18[4500] (432 bytes)
Oct 13 10:40:04	charon		13[ENC] <con-mobile|3> generating CREATE_CHILD_SA response 6 [ SA No KE ]
Oct 13 10:40:04	charon		13[IKE] <con-mobile|3> IKE_SA con-mobile[3] state change: ESTABLISHED => REKEYED
Oct 13 10:40:04	charon		13[IKE] <con-mobile|3> rescheduling reauthentication in 27505s after rekeying, lifetime reduced to 28045s
Oct 13 10:40:04	charon		13[IKE] <con-mobile|3> IKE_SA con-mobile[4] rekeyed between 37.24.xx.xx[pfSense]...192.168.10.18[192.168.10.18]
Oct 13 10:40:04	charon		13[IKE] <con-mobile|3> maximum IKE_SA lifetime 28701s
Oct 13 10:40:04	charon		13[IKE] <con-mobile|3> scheduling reauthentication in 28161s
Oct 13 10:40:04	charon		13[IKE] <con-mobile|3> IKE_SA con-mobile[4] state change: CONNECTING => ESTABLISHED
Oct 13 10:40:04	charon		13[CFG] <con-mobile|3> selected proposal: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
Oct 13 10:40:04	charon		13[CFG] <con-mobile|3> configured proposals: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
Oct 13 10:40:04	charon		13[CFG] <con-mobile|3> received proposals: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
Oct 13 10:40:04	charon		13[CFG] <con-mobile|3> proposal matches
Oct 13 10:40:04	charon		13[CFG] <con-mobile|3> selecting proposal:
Oct 13 10:40:04	charon		13[IKE] <con-mobile|3> IKE_SA con-mobile[4] state change: CREATED => CONNECTING
Oct 13 10:40:04	charon		13[IKE] <con-mobile|3> 192.168.10.18 is initiating an IKE_SA
Oct 13 10:40:04	charon		13[ENC] <con-mobile|3> parsed CREATE_CHILD_SA request 6 [ SA No KE ]
Oct 13 10:40:04	charon		13[NET] <con-mobile|3> received packet: from 192.168.10.18[4500] to 37.24.xx.xx[4500] (416 bytes)
Oct 13 10:39:40	charon		13[IKE] <con-mobile|3> nothing to initiate
Oct 13 10:39:40	charon		13[IKE] <con-mobile|3> activating new tasks
Oct 13 10:39:40	charon		13[ENC] <con-mobile|3> parsed INFORMATIONAL response 12 [ ]
Oct 13 10:39:40	charon		13[NET] <con-mobile|3> received packet: from 192.168.10.18[4500] to 37.24.xx.xx[4500] (80 bytes)
Oct 13 10:39:40	charon		13[NET] <con-mobile|3> sending packet: from 37.24.xx.xx[4500] to 192.168.10.18[4500] (80 bytes)
Oct 13 10:39:40	charon		13[ENC] <con-mobile|3> generating INFORMATIONAL request 12 [ ]
Oct 13 10:39:40	charon		13[IKE] <con-mobile|3> activating IKE_DPD task
Oct 13 10:39:40	charon		13[IKE] <con-mobile|3> activating new tasks
Oct 13 10:39:40	charon		13[IKE] <con-mobile|3> queueing IKE_DPD task
Oct 13 10:39:40	charon		13[IKE] <con-mobile|3> sending DPD request
Oct 13 10:39:05	charon		13[IKE] <con-mobile|3> nothing to initiate
(...)
Oct 13 10:33:14	charon		02[IKE] <con-mobile|3> activating new tasks
Oct 13 10:33:14	charon		02[ENC] <con-mobile|3> parsed INFORMATIONAL response 1 [ ]
Oct 13 10:33:14	charon		02[NET] <con-mobile|3> received packet: from 192.168.10.18[4500] to 37.24.xx.xx[4500] (80 bytes)
Oct 13 10:33:14	charon		02[NET] <con-mobile|3> sending packet: from 37.24.xx.xx[4500] to 192.168.10.18[4500] (80 bytes)
Oct 13 10:33:14	charon		02[ENC] <con-mobile|3> generating INFORMATIONAL request 1 [ ]
Oct 13 10:33:14	charon		02[IKE] <con-mobile|3> activating IKE_DPD task
Oct 13 10:33:14	charon		02[IKE] <con-mobile|3> activating new tasks
Oct 13 10:33:14	charon		02[IKE] <con-mobile|3> queueing IKE_DPD task
Oct 13 10:33:14	charon		02[IKE] <con-mobile|3> sending DPD request
Oct 13 10:32:39	charon		02[IKE] <con-mobile|3> nothing to initiate
Oct 13 10:32:39	charon		02[IKE] <con-mobile|3> activating new tasks
Oct 13 10:32:39	charon		02[ENC] <con-mobile|3> parsed INFORMATIONAL response 0 [ ]
Oct 13 10:32:39	charon		02[NET] <con-mobile|3> received packet: from 192.168.10.18[4500] to 37.24.xx.xx[4500] (80 bytes)
Oct 13 10:32:39	charon		02[NET] <con-mobile|3> sending packet: from 37.24.xx.xx[4500] to 192.168.10.18[4500] (80 bytes)
Oct 13 10:32:39	charon		02[ENC] <con-mobile|3> generating INFORMATIONAL request 0 [ ]
Oct 13 10:32:39	charon		02[IKE] <con-mobile|3> activating IKE_DPD task
Oct 13 10:32:39	charon		02[IKE] <con-mobile|3> activating new tasks
Oct 13 10:32:39	charon		02[IKE] <con-mobile|3> queueing IKE_DPD task
Oct 13 10:32:39	charon		02[IKE] <con-mobile|3> sending DPD request
Oct 13 10:32:04	charon		15[NET] <con-mobile|3> sending packet: from 37.24.xx.xx[4500] to 192.168.10.18[4500] (336 bytes)
Oct 13 10:32:04	charon		15[ENC] <con-mobile|3> generating IKE_AUTH response 5 [ AUTH CPRP(ADDR SUBNET U_BANNER) N(ESP_TFC_PAD_N) SA TSi TSr N(AUTH_LFT) N(MOBIKE_SUP) N(ADD_4_ADDR) N(ADD_4_ADDR) N(ADD_4_ADDR) ]
Oct 13 10:32:04	charon		15[CHD] <con-mobile|3> CHILD_SA con-mobile{3} state change: INSTALLING => INSTALLED
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> CHILD_SA con-mobile{3} established with SPIs ca7d94ae_i 0a3416e5_o and TS 192.168.0.0/24|/0 === 10.10.10.1/32|/0
Oct 13 10:32:04	charon		15[CHD] <con-mobile|3> SPI 0x0a3416e5, src 37.24.xx.xx dst 192.168.10.18
Oct 13 10:32:04	charon		15[CHD] <con-mobile|3> adding outbound ESP SA
Oct 13 10:32:04	charon		15[CHD] <con-mobile|3> SPI 0xca7d94ae, src 192.168.10.18 dst 37.24.xx.xx
Oct 13 10:32:04	charon		15[CHD] <con-mobile|3> adding inbound ESP SA
Oct 13 10:32:04	charon		15[CHD] <con-mobile|3> using HMAC_SHA2_256_128 for integrity
Oct 13 10:32:04	charon		15[CHD] <con-mobile|3> using AES_CBC for encryption
Oct 13 10:32:04	charon		15[CHD] <con-mobile|3> CHILD_SA con-mobile{3} state change: CREATED => INSTALLING
Oct 13 10:32:04	charon		15[CFG] <con-mobile|3> config: 10.10.10.1/32|/0, received: ::/0|/0 => no match
Oct 13 10:32:04	charon		15[CFG] <con-mobile|3> config: 10.10.10.1/32|/0, received: 0.0.0.0/0|/0 => match: 10.10.10.1/32|/0
Oct 13 10:32:04	charon		15[CFG] <con-mobile|3> selecting traffic selectors for other:
Oct 13 10:32:04	charon		15[CFG] <con-mobile|3> config: 192.168.0.0/24|/0, received: ::/0|/0 => no match
Oct 13 10:32:04	charon		15[CFG] <con-mobile|3> config: 192.168.0.0/24|/0, received: 0.0.0.0/0|/0 => match: 192.168.0.0/24|/0
Oct 13 10:32:04	charon		15[CFG] <con-mobile|3> selecting traffic selectors for us:
Oct 13 10:32:04	charon		15[CFG] <con-mobile|3> selected proposal: ESP:AES_CBC_256/HMAC_SHA2_256_128/NO_EXT_SEQ
Oct 13 10:32:04	charon		15[CFG] <con-mobile|3> configured proposals: ESP:AES_CBC_256/HMAC_SHA2_256_128/MODP_2048/NO_EXT_SEQ, ESP:AES_CBC_256/HMAC_SHA2_384_192/MODP_2048/NO_EXT_SEQ, ESP:AES_CBC_256/HMAC_SHA2_512_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_16_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_16_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_16_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_12_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_12_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_12_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_8_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_8_256/MODP_2048/NO_EXT_SEQ, ESP:AES_GCM_8_256/MODP_2048/NO_EXT_SEQ
Oct 13 10:32:04	charon		15[CFG] <con-mobile|3> received proposals: ESP:AES_CBC_256/HMAC_SHA2_256_128/NO_EXT_SEQ, ESP:AES_CBC_256/HMAC_SHA2_256_128/NO_EXT_SEQ, ESP:AES_CBC_256/HMAC_SHA2_256_128/NO_EXT_SEQ, ESP:AES_CBC_128/HMAC_SHA1_96/NO_EXT_SEQ, ESP:3DES_CBC/HMAC_SHA1_96/NO_EXT_SEQ
Oct 13 10:32:04	charon		15[CFG] <con-mobile|3> proposal matches
Oct 13 10:32:04	charon		15[CFG] <con-mobile|3> selecting proposal:
Oct 13 10:32:04	charon		15[CFG] <con-mobile|3> found matching child config "con-mobile" with prio 4  
Oct 13 10:32:04	charon		15[CFG] <con-mobile|3> candidate "con-mobile" with prio 2+2  
Oct 13 10:32:04	charon		15[CFG] <con-mobile|3> 10.10.10.1/32|/0
Oct 13 10:32:04	charon		15[CFG] <con-mobile|3> proposing traffic selectors for other:
Oct 13 10:32:04	charon		15[CFG] <con-mobile|3> 192.168.0.0/24|/0
Oct 13 10:32:04	charon		15[CFG] <con-mobile|3> proposing traffic selectors for us:
Oct 13 10:32:04	charon		15[CFG] <con-mobile|3> looking for a child config for 0.0.0.0/0|/0 ::/0|/0 === 0.0.0.0/0|/0 ::/0|/0
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> building UNITY_BANNER attribute
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> building INTERNAL_IP4_SUBNET attribute
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> no virtual IP found for %any6 requested by 'admin@example.com'  
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> peer requested virtual IP %any6
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> assigning virtual IP 10.10.10.1 to peer 'admin@example.com'  
Oct 13 10:32:04	charon		15[CFG] <con-mobile|3> reassigning offline lease to 'admin@example.com'  
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> peer requested virtual IP %any
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> maximum IKE_SA lifetime 28525s
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> scheduling reauthentication in 27985s
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> IKE_SA con-mobile[3] state change: CONNECTING => ESTABLISHED
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> IKE_SA con-mobile[3] established between 37.24.xx.xx[pfSense]...192.168.10.18[192.168.10.18]
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> authentication of 'pfSense' (myself) with EAP  
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> authentication of '192.168.10.18' with EAP successful  
Oct 13 10:32:04	charon		15[ENC] <con-mobile|3> parsed IKE_AUTH request 5 [ AUTH ]
Oct 13 10:32:04	charon		15[NET] <con-mobile|3> received packet: from 192.168.10.18[4500] to 37.24.xx.xx[4500] (112 bytes)
Oct 13 10:32:04	charon		15[NET] <con-mobile|3> sending packet: from 37.24.xx.xx[4500] to 192.168.10.18[4500] (80 bytes)
Oct 13 10:32:04	charon		15[ENC] <con-mobile|3> generating IKE_AUTH response 4 [ EAP/SUCC ]
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> EAP method EAP_MSCHAPV2 succeeded, MSK established
Oct 13 10:32:04	charon		15[ENC] <con-mobile|3> parsed IKE_AUTH request 4 [ EAP/RES/MSCHAPV2 ]
Oct 13 10:32:04	charon		15[NET] <con-mobile|3> received packet: from 192.168.10.18[4500] to 37.24.xx.xx[4500] (80 bytes)
Oct 13 10:32:04	charon		15[NET] <con-mobile|3> sending packet: from 37.24.xx.xx[4500] to 192.168.10.18[4500] (144 bytes)
Oct 13 10:32:04	charon		15[ENC] <con-mobile|3> generating IKE_AUTH response 3 [ EAP/REQ/MSCHAPV2 ]
Oct 13 10:32:04	charon		15[ENC] <con-mobile|3> parsed IKE_AUTH request 3 [ EAP/RES/MSCHAPV2 ]
Oct 13 10:32:04	charon		15[NET] <con-mobile|3> received packet: from 192.168.10.18[4500] to 37.24.xx.xx[4500] (160 bytes)
Oct 13 10:32:04	charon		15[NET] <con-mobile|3> sending packet: from 37.24.xx.xx[4500] to 192.168.10.18[4500] (112 bytes)
Oct 13 10:32:04	charon		15[ENC] <con-mobile|3> generating IKE_AUTH response 2 [ EAP/REQ/MSCHAPV2 ]
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> initiating EAP_MSCHAPV2 method (id 0xC4)
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> received EAP identity 'admin@example.com'  
Oct 13 10:32:04	charon		15[ENC] <con-mobile|3> parsed IKE_AUTH request 2 [ EAP/RES/ID ]
Oct 13 10:32:04	charon		15[NET] <con-mobile|3> received packet: from 192.168.10.18[4500] to 37.24.xx.xx[4500] (96 bytes)
Oct 13 10:32:04	charon		15[NET] <con-mobile|3> sending packet: from 37.24.xx.xx[4500] to 192.168.10.18[4500] (404 bytes)
Oct 13 10:32:04	charon		15[NET] <con-mobile|3> sending packet: from 37.24.xx.xx[4500] to 192.168.10.18[4500] (1236 bytes)
Oct 13 10:32:04	charon		15[ENC] <con-mobile|3> generating IKE_AUTH response 1 [ EF(2/2) ]
Oct 13 10:32:04	charon		15[ENC] <con-mobile|3> generating IKE_AUTH response 1 [ EF(1/2) ]
Oct 13 10:32:04	charon		15[ENC] <con-mobile|3> splitting IKE message (1568 bytes) into 2 fragments
Oct 13 10:32:04	charon		15[ENC] <con-mobile|3> generating IKE_AUTH response 1 [ IDr CERT AUTH EAP/REQ/ID ]
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> sending end entity cert "CN=pfSense, C=DE, ST=NRW, L=Cologne, O=Office, OU=CEO"  
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> authentication of 'pfSense' (myself) with RSA signature successful  
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> peer supports MOBIKE
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> received ESP_TFC_PADDING_NOT_SUPPORTED, not using ESPv3 TFC padding
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> processing INTERNAL_IP6_DNS attribute
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> processing INTERNAL_IP6_DHCP attribute
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> processing INTERNAL_IP6_ADDRESS attribute
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> processing INTERNAL_IP4_NETMASK attribute
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> processing INTERNAL_IP4_DNS attribute
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> processing INTERNAL_IP4_DHCP attribute
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> processing INTERNAL_IP4_ADDRESS attribute
Oct 13 10:32:04	charon		15[IKE] <con-mobile|3> initiating EAP_IDENTITY method (id 0x00)
Oct 13 10:32:04	charon		15[CFG] <con-mobile|3> selected peer config 'con-mobile'  
Oct 13 10:32:04	charon		15[CFG] <3> candidate "con-mobile", match: 20/1/1052 (me/other/ike)  
Oct 13 10:32:04	charon		15[CFG] <3> candidate "bypasslan", match: 1/1/24 (me/other/ike)  
Oct 13 10:32:04	charon		15[CFG] <3> looking for peer configs matching 37.24.xx.xx[pfSense]...192.168.10.18[192.168.10.18]
Oct 13 10:32:04	charon		15[ENC] <3> parsed IKE_AUTH request 1 [ IDi N(INIT_CONTACT) N(MOBIKE_SUP) IDr CPRQ(ADDR DHCP DNS MASK ADDR6 DHCP6 DNS6) N(ESP_TFC_PAD_N) N(NON_FIRST_FRAG) SA TSi TSr ]
Oct 13 10:32:04	charon		15[NET] <3> received packet: from 192.168.10.18[4500] to 37.24.xx.xx[4500] (496 bytes)
Oct 13 10:32:04	charon		15[NET] <3> sending packet: from 37.24.xx.xx[500] to 192.168.10.18[500] (481 bytes)
Oct 13 10:32:04	charon		15[ENC] <3> generating IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(FRAG_SUP) N(CHDLESS_SUP) N(MULT_AUTH) ]
Oct 13 10:32:04	charon		15[IKE] <3> sending cert request for "CN=internal-ca, C=DE, ST=NRW, L=Cologne, O=Office, OU=CEO"  
Oct 13 10:32:04	charon		15[CFG] <3> selected proposal: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
Oct 13 10:32:04	charon		15[CFG] <3> configured proposals: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
Oct 13 10:32:04	charon		15[CFG] <3> received proposals: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048, IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/ECP_256, IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_1536, IKE:AES_CBC_128/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_1024, IKE:3DES_CBC/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_1024
Oct 13 10:32:04	charon		15[CFG] <3> proposal matches
Oct 13 10:32:04	charon		15[CFG] <3> selecting proposal:
Oct 13 10:32:04	charon		15[IKE] <3> IKE_SA (unnamed)[3] state change: CREATED => CONNECTING
Oct 13 10:32:04	charon		15[IKE] <3> 192.168.10.18 is initiating an IKE_SA
Oct 13 10:32:04	charon		15[CFG] <3> found matching ike config: 37.24.xx.xx...%any with prio 1052
Oct 13 10:32:04	charon		15[CFG] <3> candidate: 37.24.xx.xx...%any, prio 1052
Oct 13 10:32:04	charon		15[CFG] <3> candidate: %any...%any, prio 24
Oct 13 10:32:04	charon		15[CFG] <3> looking for an IKEv2 config for 37.24.xx.xx...192.168.10.18
Oct 13 10:32:04	charon		15[ENC] <3> parsed IKE_SA_INIT request 0 [ SA KE No N(REDIR_SUP) N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) ]
Oct 13 10:32:04	charon		15[NET] <3> received packet: from 192.168.10.18[500] to 37.24.xx.xx[500] (604 bytes)
aqui
aqui 13.10.2020 aktualisiert um 12:02:33 Uhr
Goto Top
Bitte poste hier nur die wirklich relevanten Log Outputs oder eröffne besser einen neuen Thread dafür um das Tutorial hier nicht zu überfrachten.
no acceptable proposal found ist ein sicheres Indiz dafür das die Krypto Credentials, sprich Verschlüsselung und Hashing, NICHT übereinstimmen bei dir zw. Client und Server !
VPN Client und Server können sich nicht auf ein gemeinsames Verfahren einigen. Das zeigt das du irgendwo bei der Einstellung dieser Vorgaben entweder auf dem Client oder dem Server einen Fehler gemacht hast.
Dadurch das du nicht in der Lage warst die relvanten Messages zu filtern muss man jetzt leide raten ob das aktuelle oder ältere sind ! face-sad

Sinnvoll ist es da immer im Logging Setup die Reihenfolge auf Forward/Revers Display zu setzen so das man die aktuellsten Messages OBEN am Anfang sieht und VOR der Einwahl mit "Reset Messages" diese im Settings Menü löscht !
log1
log2
Ein Test mit aktueller Firmware und Windows 10 (2004) sowie Mac mit latest Catalina OS verlief erwartungsgemäß stabil und fehlerfrei.
HanDoku
HanDoku 14.10.2020 um 08:53:46 Uhr
Goto Top
Wenn es bei Dir augenscheinlich geklappt hat, dann hast Du einfach nicht lange genug auf den Verbindungsabbruch gewartet. Es gibt einen lange bekannten Bug unter MacOS und iOS, der bei Einsatz von Perfect Forward Secrecy (PFS) beim ersten Rekey (je nach System nach 8 bis 20 Minuten) für einen Abbruch sorgt.

Da für Phase 2 die PFS key group auf 14 = 2048 bit steht, erwartet die pfSense beim Rekey
ESP:AES_CBC_256/HMAC_SHA2_256_128/MODP_2048/NO_EXT_SEQ
bekommt vom Clienten aber nur
ESP:AES_CBC_256/HMAC_SHA2_256_128/NO_EXT_SEQ

Es fehlt also clientseitig MODP_2048 und die Verbindung wird getrennt. Interessant ist auch diese Zusammenfassung des Problems.

Ich habe die PFS key group für Phase 2 testweise mal auf "none" gestellt und siehe da, die Verbindung ist stabil.

Als Lösungsvorschlag werden einige Umstellungen im Apple eigenen VPN-Profil über den Apple Configurator diskutiert. Das ist dann aber eben nicht mehr einfach "out of the box", sondern erfordert manuelle Eingriffe. Das Tutorial ist in diesem Punkt also irreführend.

Wie könnte man das ohne den Apple Configurator elegant lösen?
aqui
aqui 14.10.2020, aktualisiert am 02.02.2022 um 17:12:33 Uhr
Goto Top
Vielen Dank für den wichtigen Hinweis !
Ist zwar von 2017 und die Frage stellt sich ob es in aktuellen Catalina bzw. iOS 13 oder 14 auch noch der Fall ist.
Ansonsten einfach statt native IPsec dann L2TP als VPN Protkoll nutzen:
PfSense VPN mit L2TP (IPsec) Protokoll für mobile Nutzer
HanDoku
HanDoku 14.10.2020 aktualisiert um 09:44:12 Uhr
Goto Top
Unter iOS 13 besteht das Problem noch. Wie "schlimm" wäre es denn, PFS für Phase 2 dauerhaft auszuschalten?
aqui
aqui 14.10.2020 aktualisiert um 09:59:18 Uhr
Goto Top
Bei entsprechend größerer Verschlüsselung 256Bit und höher ist das weniger kritisch. PFS verhindert salopp gesagt das mitgeschnittener Verkehr später doch noch entschlüsselt werden kann wenn man den Sitzungsschlüssel errechnen kann. https://de.wikipedia.org/wiki/Perfect_Forward_Secrecy
Mit 256Bit und einer entsprechend großen DH Group dauert es mit derzeitiger Rechnerhardware mehrere tausend Jahre. Was sich in ferner Zukunft aber ändern könnte.
the-buccaneer
the-buccaneer 15.10.2020 um 22:36:41 Uhr
Goto Top
Man lernt hier immer dazu. face-wink

@aqui: Würdest du es wagen auch für AES-128 und DH-2 eine Entschlüsselungszeit zu schätzen? face-wink face-wink

LG
Buc
aqui
aqui 16.10.2020, aktualisiert am 02.02.2022 um 17:15:41 Uhr
Goto Top
Auch das sind mit mehreren Nvidia GPUs noch Jahre... Aber wer weiss was die CIA und die anderen Schlapphüte so an HW in ihren Rechenzentren haben ?!? Ein Schelm wer Böses dabei denkt... face-wink
Standard ist heutzutage immer AES256, SHA256, DH14.
Mit Apple kein Ding, da Default aber Windows arbeitet im Default immer noch mit SHA1 und DH2 wenn man den Windows Client nicht mit Powershell oder Registry bzw. GPO entsprechend anpasst.
Das es ihnen aber zunehmend Probleme bereitet sieht man daran:
https://www.heise.de/news/Five-Eyes-plus-Durchgehende-Verschluesselung-g ...
Aber solange die halbe Welt RDP weiter ohne VPN ins Internet stellt ist alles OK.
the-buccaneer
the-buccaneer 17.10.2020 um 03:59:25 Uhr
Goto Top
Zitat von @aqui:

Auch das sind mit mehreren Nvidia GPUs noch Jahre...

Definiere bitte "mehrere" face-wink

Aber wer weiss was die CIA und die anderen Sclapphüte so an HW in ihren Rechenzentren haben ?!? Ein Schelm wer Böses dabei denkt... face-wink
Seit 2001 haben die quasi unbegrenzte Mittel. Die schicken dir tausende GPU's auf den Hals, wenn denen das wichtig ist, befürchte ich...

Das es ihnen aber zunehmend Probleme bereitet sieht man daran:
https://www.heise.de/news/Five-Eyes-plus-Durchgehende-Verschluesselung-g ...
Jo. So ist das heute.

Aber solange die halbe Welt RDP weiter ohne VPN ins Internet stellt ist alles OK.

Schlimmer noch: "Ungepatcht" face-wink

CU
Buc
aqui
aqui 17.10.2020 um 09:56:48 Uhr
Goto Top
Thema für einen separaten Thread und wir sollten das Tutorial hier nicht unnötigerweise aufblähen !! face-wink
the-buccaneer
the-buccaneer 23.10.2020 um 01:34:09 Uhr
Goto Top
Na gut. Aber das prinzipielle Thema "Sicherheit von VPN_Verbindungen in Abhängigkeit von der eingesetzten Verschlüsselungsstärke" tangiert da ja schon. Insbesondere da sich das auf eher schwacher Hardware mit der PfSense schon auf die Performance auswirkt.
All das Recycling und das Energiesparen nützt ja nix mehr wenn die Sicherheit leidet.

Aber die "großen" Fragen gerne woanders. face-wink

e mare libertas
Buc
aqui
aqui 23.10.2020 um 12:45:14 Uhr
Goto Top
Prinzipiell hast du recht aber "normale" Hardware supportet heute durchgehend AES-NI bzw. sollte dies supporten wenn man VPNs einigermaßen sicher und performant betreiben will.
Aber wie gesagt....andere Baustelle. face-wink
justas
justas 07.01.2021 um 23:43:07 Uhr
Goto Top
Danke für die tolle Anleitung!

Ich habe seit Jahren eine APU2 mit pfSense (aktuell 2.4.5-p1). OpenVPN-Server läuft stabil, es gibt aber ein bekanntes Problem bei Filetransfers (die Übertragungsrate von SMB über OpenVPN bricht ins Bodenlose ein). In der Hoffnung das Problem mit IPSec-Tunnel zu lösen habe ich nach dieser Anleitung den IPsec-Server konfiguriert.

Verbindung klappte sofort, komme leider mit meinem Halbwissen an einigen Stellen nicht weiter.

Über IP-Adressen komme ich an die lokalen Ressourcen. Aber nicht über DNS.

Problem 1:
-> DNS Resolver kommt nicht ins Spiel. Unter "Mobile Clients" wird der gleiche DNS-Server an die Clients geschickt (192.168.1.1) wie über OpenVPN. Die IP-Adresse läßt sich zwar vom Client anpingen, aber es kommen keine DNS-Einträge

Problem 2: Keine Verbindung vom Windows 10-Client ins Internet. SplitTunneling ist nicht gesetzt, default Gateway in der Windows GUI ist angeklickt. In der Phase2-Entry ist Local Network 0.0.0.0/0. Bei Firewall/NAT/Outbound wurde eine Rule erstellt, die den Zugriff aufs Gateway vom IPSec-Netz erlaubt.

Die Firewall-Logs haben nichts zu dem Thema. Die IPSec-Logs kann ich noch nicht richtig lesen und weiß nicht, nach welchen Einträgen ich suchen muss.
aqui
aqui 08.01.2021 aktualisiert um 08:39:45 Uhr
Goto Top
Bei Firewall/NAT/Outbound wurde eine Rule erstellt, die den Zugriff aufs Gateway vom IPSec-Netz erlaubt.
Das ist unsinnig und überflüssig. Hier reicht die stinknormale Default NAT Regel. Vermutlich hast du damit den Internet Zugriff "verschlimmbessert". An den Default NAT Regeln muss man nie rumfummeln. face-sad
IPsec Logs sind doch nicht relevant wenn sich deine VPN Clients sauber verbinden können. Wenn das fehlerfrei klappt steht da auch nix relevantes.
Was sagt denn ein route print bei aktivem Win 10 VPN Client ?? Wo zeigt die Default Route hin ? Das ist doch logischerweise das erste was man macht um zu checken wo der Client Traffic hingeht wenn das VPN aktiv ist. Ebenso ein ipconfig -all um zu checken welche DNS Server aktiv sind. 😉
justas
justas 08.01.2021 um 18:35:51 Uhr
Goto Top
Zitat von @aqui:

Bei Firewall/NAT/Outbound wurde eine Rule erstellt, die den Zugriff aufs Gateway vom IPSec-Netz erlaubt.
Das ist unsinnig und überflüssig. Hier reicht die stinknormale Default NAT Regel. Vermutlich hast du damit den Internet Zugriff "verschlimmbessert". An den Default NAT Regeln muss man nie rumfummeln. face-sad

Das ist in meinem Fall vermutlich notwendig, da NAT auf manuell steht. Ich habe noch einen VPN-Client auf der pfSense und nutze diesen z.T. als Gateway. Ich glaube, dieser ist sogar nach Deiner Anleitung konfiguriert face-smile

IPsec Logs sind doch nicht relevant wenn sich deine VPN Clients sauber verbinden können. Wenn das fehlerfrei klappt steht da auch nix relevantes.
Was sagt denn ein route print bei aktivem Win 10 VPN Client ?? Wo zeigt die Default Route hin ? Das ist doch logischerweise das erste was man macht um zu checken wo der Client Traffic hingeht wenn das VPN aktiv ist.
Das kann ich aktuell nicht checken, weil ich irgendwas an der Konfig verdreht habe, die lokalen Geräte sind nicht mehr über IP erreichbar.
Gestern habe die Option "Standard Gateway für das Remotenetzwerk verwenden" mehrfach hin- und her geändert. Bin mir ziemlich sicher, dass bei Aktivierung das ganze Traffic über den VPN-Client geroutet wurde, weil nix kam face-smile

Ebenso ein ipconfig -all um zu checken welche DNS Server aktiv sind. 😉
Das habe ich gestern als Erstes gemacht, der DNS-Server war korrekt: 192.168.1.1, die lokalen Geräte waren per IP erreichbar, aber nicht per DNS. nslookup hat zwar auch den DNS korrekten DNS-Server gefragt, aber nichts geliefert.

Ich denke, das Problem ist nicht auf dem Client, sondern in der pfSense-Config.
aqui
aqui 08.01.2021 um 18:38:57 Uhr
Goto Top
nslookup hat zwar auch den DNS korrekten DNS-Server gefragt, aber nichts geliefert.
Dann ist es doch aber ein DNS Problem ?!

Wenn das hier länger wird würde ich dich bitten einen separaten Thread zu eröffnen mit Verweis hierauf um das Tutorial hier nicht mit Troubleshooting Threads zu überfrachten.
justas
justas 09.01.2021 um 12:19:23 Uhr
Goto Top
Zitat von @aqui:

nslookup hat zwar auch den DNS korrekten DNS-Server gefragt, aber nichts geliefert.
Dann ist es doch aber ein DNS Problem ?!

Danke für den Tipp! Habe einen Eintrag im DNS-Resolver / Access Lists erstellt und das Problem ist gelöst.

Es wundert mich, dass
- Ich hier als Erster das Problem habe
- Bei OpenVPN-Verbindungen zur gleichen pfSense-Box dieser Eintrag im DNS-Resolver nicht notwendig ist.
aqui
aqui 09.01.2021 aktualisiert um 12:26:04 Uhr
Goto Top
Bei OpenVPN kommt es darauf an WELCHEN oder welche DNS Server du mit der Server Konfig per push an den Client übergibst. In der Regel sind das dann interne DNS um interne bzw. lokale Hostnamen auflösen zu können. Mit Internet DNS geht das natürlich nicht.
Siehe auch HIER dazu.
Das kannst du bei IPsec auch machen. Das geht in den Advanced Settings, dort kann man auch dedizierte DNS an den Client übergeben.
Interessant wäre einmal ein Screenshot deiner Lösung, dann profitieren auch andere hier davon. Der tiefere Sinn eines Forums... face-wink
justas
justas 12.01.2021 aktualisiert um 10:32:31 Uhr
Goto Top
Zitat von @aqui:

Interessant wäre einmal ein Screenshot deiner Lösung, dann profitieren auch andere hier davon. Der tiefere Sinn eines Forums... face-wink

Gerne!

Das sind die OpenVPN-Settings.
pfsense - openvpnsettings1

DNS-Settings und Virtual IP in IPSec:
pfsense - ipsec - dns+virtual ip

Virtual IP Settings für Mobile Clients:
pfsense - ipsec - mobile clients

Ich dachte, das müsste reichen, hat es aber nicht!
Die Lösung war eine neue Entry im DNS-Server:
pfsense - dns-resolver - access lists

Hier wird der gleiche VirtualIP-Range angegeben, wie bei Mobile Clients:
pfsense - dns-resolver - access lists entry

Das hat mein Problem gelöst. Man kann sehen, es wird derselbe DNS-Server an OpenVPN- und IPSec-Clients übergeben. Mir ist leider noch nicht klar, warum der Eintrag bei Access Lists nur für IPSec-Clients notwendig ist.
aqui
aqui 12.01.2021 um 12:16:57 Uhr
Goto Top
👍
andrelung
andrelung 28.01.2021 um 23:55:30 Uhr
Goto Top
Ich habe auch das Problem, dass keine DNS-Auflösung für lokale Geräte erfolgt. Das Fehlerbild ist etwas seltsam:

nslookup pcname -> server can't find pcname: NXDOMAIN
nslookup pcname.meinedomain ->
server can't find pcname.meinedomain: NXDOMAIN

Mit Angabe des DNS-Servers funktioniert es dann plötzlich:
nslookup pcname.meinedomain 192.168.88.1

Ich nutze MacOS 11 und habe auch schon versucht DNS-Server und Such-Domain manuell in der VPN-Verbindung hinzuzufügen. Leider ohne Erfolg. Der Kommentarverlauf wurde nach unten immer wärmer - aber leider klappt die Lösung von @justas nicht bei mir. Kann es sein, dass du auf dem Weg dorthin noch eine andere Einstellung gesetzt hast?
aqui
aqui 29.01.2021 um 12:36:04 Uhr
Goto Top
Kommt weil dein lokaler DNS Server nicht an die Clients übergeben wird. Wenn du ein ipconfig -all eingibst zeigt er doch den aktiv genutzten DNS Server des Clients !
Im "Mobile Client" Setup kannst du einen dedizierten DNS Server angeben der bei VPN Einwahl an den Client gesendet werden und dann sein Primary DNS ist. Da sollte dann die IP deines internen DNS Servers rein !
mob
andrelung
andrelung 29.01.2021 um 13:34:56 Uhr
Goto Top
Hi @aqui und danke auch nochmal an dich für die grandiose Anleitung! Die Option "Provide a DNS server list to clients" habe ich bereits gesetzt. Ein
ipconfig -all
mag mein Mac nicht, aber ein
scutil --dns 
gibt die aktiven DNS-Settings aus. Ich hab mal versucht alles auf einen Screenshot zu bringen:
dns_screenshot

Mit besagtem Mac bin ich gerade zuhause und wähle mich per IPSEC-VPN ins Remotenetz ein. Ganz rechts im Screenshot sind die (MacOS-)DNS-Settings der VPN-Verbindung, so wie sie nach dem Import des Profils vom ipsec-profile-wizard eingetragen sind. Die dnslookup Ergebnisse sind exakt dieselben, wenn ich dort manuell die DNS-IP und die Suchdomain eintrage.

Deine Tipps zum DNS-Resolver habe ich auch bereits gesetzt (der Service "DNS Forwarder" ist ausgeschaltet):
dns_resolver

Es kommt mir vor als würde ich irgendeinen dummen Fehler machen. Sieht du auf Anhieb etwas oder kannst du mich in die richtige Richtung schupsen?
aqui
aqui 29.01.2021 um 14:03:43 Uhr
Goto Top
mag mein Mac nicht, aber ein
👍 ...würde meiner auch nicht mögen. 🤣
Wie man ja am Screenhot sieht hat der Client ja den richtigen DNS Server auch bekommen so wie es sein soll.
Es kann dann also nicht mehr am VPN selber oder der DNS Weiterleitung liegen, das ist klar.
Das kann dann nur noch die DNS Auflösung in Client oder Server selbst betreffen, die FW ist dann raus.
Bei Winblows gabs mal irgendwas das man irgendwo einen Haken setzen muss das er nicht nur FQDN Namen auflöst sondern auch einfache Hostnamen. Das war irgendwas mit der "Suchdomain" oder sowas. Vermutlich gilt das auch für MacOS was man in den Systemsettings ja auch ein richten kann. Ich bin jetzt aber nicht so der DNS Guru.
Der pfSense eigene DNS ist ja gar nicht involviert wenn der VPN Client primär dann deinen internen DNS Server erhält, denn dann gehen die DNS Requests ja direkt dahin und die Firewall transportiert eben nur die IP Pakete und macht DNS technisch gar nichts.
Der Fehler wäre dann direkt da und nicht mehr am Netz oder Firewall.
kugman
kugman 04.07.2021 um 21:30:02 Uhr
Goto Top
Herzlichen Dank für die Anleitung! Super detailliert und verständlich erklärt!

Ich stolpere über ein Problem. Die Verbindung wird von meinem Windows 10 Client problemlos aufgebaut, ich kann die Verbindung dann auch auf der Pfsense sehen. Das einzige, was ich nicht sehe, sind Datenpakete. Keine.
wenn ich mir auf dem Windows 10 Client die Routingtabelle anschaue ist mir auch klar, warum auf der Pfsense nix ankommt. Ich habe keine Route in das pfsense-LAN.
Ich habe in Phase 2 sowohl "LAN subnet" als auch "Netzwerk" mit dem entsprechenden Netz ausprobiert, ich bekomme keine Route an den Client übermittelt.
Zum Spaß hab ich die Route dann mal manuell gesetzt, dann komm ich sofort durch, aber das ist ja keine Lösung...

wo habe ich meinen Denkfehler?

vielen lieben Dank für Eure Unterstützung
Markus
kugman
kugman 04.07.2021 um 21:39:15 Uhr
Goto Top
Zitat von @kugman:

...ich bekomme keine Route an den Client übermittelt.

ok - kommando zurück: ich hatte einen Zahlendreher in dem dritten Powershell-Command... für nen doofen Admin kann keiner was face-smile Fehler korrigiert und läuft wie ein Örgele face-smile

Gruß Marku
aqui
aqui 05.07.2021 um 10:33:20 Uhr
Goto Top
👍 Perfekt !
Ricky99
Ricky99 07.07.2021 um 13:57:47 Uhr
Goto Top
Hallo zusammen,
hallo aqui,

zunächst vielen Dank für das detaillierte Tutorial. Ich hab' das auf einer pfSense erfolgreich zum Laufen gebracht.
Allerdings hab' ich noch ein kleines Problemchen mit dem Routing des gesamten Verkehrs durch das VPN.
Ich kann mich mit einem Linux-Client auf die pfSense verbinden, allerdings bekomme ich via ipinfo.io trotzdem nur die "öffentliche" IP des jeweiligen Providers (probehalber einen Hotspot mit dem Phone für den PC eröffnet).
In den Einstellungen für die mobilen Clients habe ich mit und ohne die Option "Liste mit zugänglichen Netzwerken dem Gerät zur Verfügung stellen" probiert, beides ohne Erfolg.
In den Phase2-Einstellungen stehen der Modus auf "tunnel" und das lokale Subnetz auf 0.0.0.0/0.
Hat noch jemand eine Idee, wie ich den gesamten Traffic durchs VPN routen kann ?
Grüße

RV.
aqui
aqui 07.07.2021 um 14:43:44 Uhr
Goto Top
mit dem Routing des gesamten Verkehrs durch das VPN.
Was sagt ein ip route show auf deinem Rechner ?
Möglich das er dort 2 Default Routen anzeigt aber die lokale eine bessere Metrik hat als das Tunnelinterface. Dann musst du die Metrik des lokalen Interfaces etwas schlechter machen und dein Linux Client hat dann als primäre Route immer den Tunnel als Default wenn er aktiv ist.
Ricky99
Ricky99 07.07.2021 um 15:09:21 Uhr
Goto Top
Hallo aqui,

danke für die flinke Reaktion.
~$ ip route show
default via 192.168.43.65 dev wlp3s0 proto dhcp metric 600 
169.254.0.0/16 dev wlp3s0 scope link metric 1000 
192.168.43.0/24 dev wlp3s0 proto kernel scope link src 192.168.43.124 metric 600 

Die IP aus dem 192.168.43.0/24er-Netz ist diejenige, die der PC aktuell vom Hotspot erhält.
Grüße

RV.
aqui
aqui 07.07.2021, aktualisiert am 16.01.2023 um 14:47:29 Uhr
Goto Top
Mmmh, ist der VPN Client aktiv als du ip route show eingegeben hast ? Man sieht keinerlei Tunnel Interfaces und Adressierung ? face-sad
Was sagt den ip addr bei aktivem VPN ?
<edit> Kann man auch nicht sehen. Das korrekte Kommando dafür lautet ip xfrm state oder ip xfrm policy </edit>
Ricky99
Ricky99 08.07.2021 aktualisiert um 09:58:46 Uhr
Goto Top
Hallo aqui,

hier mal alles komplett:
initiating IKE_SA pfsense[1] to *.*.118.59
generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
sending packet: from 192.168.43.124[500] to *.*.118.59[500] (1116 bytes)
received packet: from *.*.118.59[500] to 192.168.43.124[500] (38 bytes)
parsed IKE_SA_INIT response 0 [ N(INVAL_KE) ]
peer didn't accept DH group ECP_256, it requested MODP_2048  
initiating IKE_SA pfsense[1] to *.*.118.59
generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
sending packet: from 192.168.43.124[500] to *.*.118.59[500] (1308 bytes)
received packet: from *.*.118.59[500] to 192.168.43.124[500] (497 bytes)
parsed IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(FRAG_SUP) N(HASH_ALG) N(CHDLESS_SUP) N(MULT_AUTH) ]
local host is behind NAT, sending keep alives
remote host is behind NAT
received cert request for "CN=*"  
sending cert request for "CN=*"  
establishing CHILD_SA pfsense{1}
generating IKE_AUTH request 1 [ IDi N(INIT_CONTACT) CERTREQ IDr CPRQ(ADDR DNS) SA TSi TSr N(MOBIKE_SUP) N(NO_ADD_ADDR) N(MULT_AUTH) N(EAP_ONLY) N(MSG_ID_SYN_SUP) ]
sending packet: from 192.168.43.124[4500] to *.*.118.59[4500] (352 bytes)
received packet: from *.*.118.59[4500] to 192.168.43.124[4500] (1236 bytes)
parsed IKE_AUTH response 1 [ EF(1/2) ]
received fragment #1 of 2, waiting for complete IKE message
received packet: from *.*.118.59[4500] to 192.168.43.124[4500] (164 bytes)
parsed IKE_AUTH response 1 [ EF(2/2) ]
received fragment #2 of 2, reassembling fragmented IKE message
parsed IKE_AUTH response 1 [ IDr CERT AUTH EAP/REQ/ID ]
received end entity cert "CN=pfsense"  
  using certificate "CN=pfsense"  
  using trusted ca certificate "CN=*"  
checking certificate status of "CN=pfsense"  
certificate status is not available
  reached self-signed root ca with a path length of 0
authentication of 'pfsense' with RSA_EMSA_PKCS1_SHA2_256 successful  
server requested EAP_IDENTITY (id 0x00), sending '*'  
generating IKE_AUTH request 2 [ EAP/RES/ID ]
sending packet: from 192.168.43.124[4500] to *.*.118.59[4500] (80 bytes)
received packet: from *.*.118.59[4500] to 192.168.43.124[4500] (112 bytes)
parsed IKE_AUTH response 2 [ EAP/REQ/MSCHAPV2 ]
server requested EAP_MSCHAPV2 authentication (id 0x78)
generating IKE_AUTH request 3 [ EAP/RES/MSCHAPV2 ]
sending packet: from 192.168.43.124[4500] to *.*.118.59[4500] (144 bytes)
received packet: from *.*.118.59[4500] to 192.168.43.124[4500] (144 bytes)
parsed IKE_AUTH response 3 [ EAP/REQ/MSCHAPV2 ]
EAP-MS-CHAPv2 succeeded: 'Welcome2strongSwan'  
generating IKE_AUTH request 4 [ EAP/RES/MSCHAPV2 ]
sending packet: from 192.168.43.124[4500] to *.*.118.59[4500] (80 bytes)
received packet: from *.*.118.59[4500] to 192.168.43.124[4500] (80 bytes)
parsed IKE_AUTH response 4 [ EAP/SUCC ]
EAP method EAP_MSCHAPV2 succeeded, MSK established
authentication of 'CN=*' (myself) with EAP  
generating IKE_AUTH request 5 [ AUTH ]
sending packet: from 192.168.43.124[4500] to *.*.118.59[4500] (112 bytes)
received packet: from *.*.118.59[4500] to 192.168.43.124[4500] (304 bytes)
parsed IKE_AUTH response 5 [ AUTH CPRP(ADDR U_BANNER) N(ESP_TFC_PAD_N) SA TSi TSr N(MOBIKE_SUP) N(ADD_4_ADDR) N(ADD_4_ADDR) N(ADD_4_ADDR) ]
authentication of 'pfsense' with EAP successful  
IKE_SA pfsense[1] established between 192.168.43.124[CN=*]...*.*.118.59[pfsense]
scheduling reauthentication in 9851s
maximum IKE_SA lifetime 10391s
handling UNITY_BANNER attribute failed
installing new virtual IP 192.168.179.1
received ESP_TFC_PADDING_NOT_SUPPORTED, not using ESPv3 TFC padding
CHILD_SA pfsense{1} established with SPIs *_*_o and TS 192.168.179.1/32 === 192.168.178.0/24
peer supports MOBIKE
connection 'pfsense' established successfully  
~$ ip route show
default via 192.168.43.104 dev wlp3s0 proto dhcp metric 600 
169.254.0.0/16 dev wlp3s0 scope link metric 1000 
192.168.43.0/24 dev wlp3s0 proto kernel scope link src 192.168.43.124 metric 600 
~$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s25: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether *:*:*:*:20:* brd ff:ff:ff:ff:ff:ff
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether *:*:*:c3:*:b8 brd ff:ff:ff:ff:ff:ff
    inet 192.168.43.124/24 brd 192.168.43.255 scope global dynamic noprefixroute wlp3s0
       valid_lft 7073sec preferred_lft 7073sec
    inet 192.168.179.1/32 scope global wlp3s0
       valid_lft forever preferred_lft forever
    inet6 fe80::*:*:*:5b91/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

Beste Grüße

RV.
aqui
aqui 08.07.2021 aktualisiert um 12:15:41 Uhr
Goto Top
Aus irgendeinem Grund wird die Default Route nicht übernommen. Ich müsste das nachstellen. Ein ipsec statusall wäre ggf. noch ganz hilfreich.
Mit welchem IPsec Client machst du den Zugang ? Sollte es Strongswan sein kannst du dein Setup posten ?
Das hier ist lesenswert dazu: https://wiki.strongswan.org/projects/strongswan/wiki/ForwardingAndSplitT ...
P.S.:
Wenn das mehr werden sollte wäre es besser du eröffnest einen separaten Thread mit Verweis hier um das Tutorial hier nicht unnötig weiter mit Troubleshooting Threads aufzublähen.
Ricky99
Ricky99 08.07.2021 um 12:38:22 Uhr
Goto Top
Hallo aqui,

hier das von Dir geforderte Log bzw. die Config:

:~$ sudo ipsec statusall
Status of IKE charon daemon (strongSwan 5.6.2, Linux 5.4.0-77-generic, x86_64):
  uptime: 28 seconds, since Jul 08 12:28:09 2021
  malloc: sbrk 3551232, mmap 532480, used 1407024, free 2144208
  worker threads: 11 of 16 idle, 5/0/0/0 working, job queue: 0/0/0/0, scheduled: 4
  loaded plugins: charon test-vectors unbound ldap pkcs11 tpm aesni aes rc2 sha2 sha1 md4 md5 mgf1 rdrand random nonce x509 revocation constraints acert pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey sshkey dnscert ipseckey pem openssl gcrypt af-alg fips-prf gmp curve25519 agent chapoly xcbc cmac hmac ctr ccm gcm ntru bliss curl soup mysql sqlite attr kernel-netlink resolve socket-default connmark farp stroke updown eap-identity eap-sim eap-sim-pcsc eap-aka eap-aka-3gpp2 eap-simaka-pseudonym eap-simaka-reauth eap-md5 eap-gtc eap-mschapv2 eap-dynamic eap-radius eap-tls eap-ttls eap-peap eap-tnc xauth-generic xauth-eap xauth-pam xauth-noauth tnc-tnccs tnccs-20 tnccs-11 tnccs-dynamic dhcp whitelist lookip error-notify certexpire led radattr addrblock unity counters
Listening IP addresses:
  192.168.43.124
Connections:
     pfsense:  %any...*  IKEv2, dpddelay=30s
     pfsense:   local:  [CN=*] uses EAP_MSCHAPV2 authentication with EAP identity '*'  
     pfsense:    cert:  "CN=*"  
     pfsense:   remote: [pfsense] uses public key authentication
     pfsense:   child:  dynamic === 192.168.178.0/24 TUNNEL, dpdaction=restart
Security Associations (1 up, 0 connecting):
     pfsense[1]: ESTABLISHED 16 seconds ago, 192.168.43.124[CN=vpnca]...*.*.118.59[pfsense]
     pfsense[1]: IKEv2 SPIs: *, EAP reauthentication in 2 hours
     pfsense[1]: IKE proposal: AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
     pfsense{1}:  INSTALLED, TUNNEL, reqid 1, ESP in UDP SPIs: *
     pfsense{1}:  AES_CBC_256/HMAC_SHA2_256_128, 456 bytes_i (6 pkts, 3s ago), 456 bytes_o (6 pkts, 3s ago), rekeying in 46 minutes
     pfsense{1}:   192.168.179.1/32 === 192.168.178.0/24

StrongSwan Conf:

# ipsec.conf - strongSwan IPsec configuration file
# basic configuration

config setup
	# strictcrlpolicy=yes
	# uniqueids = no

# Add connections here.
# Sample VPN connections

conn pfsense
      keyexchange=ikev2
      right=*
      rightsubnet=192.168.178.0/24
      rightid=pfsense
      rightauth=pubkey
      leftsourceip=%config4
      leftcert=*
      leftauth=eap-mschapv2
      eap_identity=*
      dpdaction=restart
      auto=add

include /var/lib/strongswan/ipsec.conf.inc 

Falls wir hier nicht weiter kommen, eröffne ich natürlich einen separaten Thread.
Besten Dank schon mal für Deine Bemühungen.
Grüße

RV.
aqui
aqui 08.07.2021 um 12:43:23 Uhr
Goto Top
Du könntest testweise mal rightsubnet auf 0.0.0.0/0 setzen aber vermutlich führt das dazu das der Tunnel dann nicht mehr hochkommt ?!
Ricky99
Ricky99 08.07.2021 aktualisiert um 13:12:56 Uhr
Goto Top
Hallo aqui,

nach dem Studium Deines Doku-Tips habe ich genau das versucht, Ergebnis:

Der Tunnel startet normal, allerdings habe ich keinerlei Kontakt zum Internet.

Grüße

JD.
aqui
aqui 08.07.2021 um 15:51:40 Uhr
Goto Top
allerdings habe ich keinerlei Kontakt zum Internet.
Was heisst das jetzt genau ?? Kannst du rein nur DNS Hostnamen nicht auflösen (nslookup, dig). Sprich also nur DNS schlägt fehl oder kannst du auch nackte Internet IP Adressen wie z.B. 8.8.8.8 nicht pingen ? Oder beides ?
Der etwas laienhafte Ausdruck "Internet" ist für ein zielführendes Troubleshooting leider immer etwas nichtssagend. face-sad
Ricky99
Ricky99 08.07.2021 um 18:21:07 Uhr
Goto Top
Hallo aqui,

entschuldige, die Fehlerbeschreibung war ausreichend behämmert, mea culpa.
Nach erneutem Versuch mit
rightsubnet 0.0.0.0/0
auf dem Client läuft alles Bestens, möglicherweise hatte ich beim letzten Versuch schlicht kein GSM-Netz am Hotspot.
Ich kann Quad9 pingen, Websites laden und bekomme eine öffentliche IP aus dem GSM-Netz. Danke für Deinen Doku-Tip.
Eine Besonderheit hab' ich noch durch Testen herausgefunden:
Verbinde ich mich mit einem Linux-Client, läuft alles wie gewünscht: Ich habe Zugriff auf das gesamte LAN, ins I-Net und mein gesamter Traffic wird durchs VPN geroutet, abzulesen an der entsprechenden öffentlichen IP.
Versuche ich das Gleiche mit einem Obst-Telefon mittels onboard-VPN-Client, habe ich lediglich Zugriff auf das LAN, nicht ins I-Net.
Beste Grüße und Danke für Deine Geduld

RV:
aqui
aqui 08.07.2021, aktualisiert am 31.05.2023 um 15:42:23 Uhr
Goto Top
Danke für dein Feedback und klasse das es damit klappt am Strongswan. 👍 Werde ich gleich im Tutorial nachtragen. face-wink
Was das Obst Telefon anbetrifft sollte das m.E. generell einen Gateway Redirect machen, sprich also immer alles in den Tunnel routen auch wenn man Split Tunneling konfiguriert hat.
Müsste ich aber auch mal testen. Hilfreich dafür sind die HE.NET Tools:
https://apps.apple.com/de/app/he-net-network-tools/id858241710
coloridolo
coloridolo 03.08.2021 um 17:09:52 Uhr
Goto Top
Hallo,

hab vor einer ganzen Weile mal mit dieser Anleitung ein VPN mit OPNSense installiert. Beim Versuch einen Linux-Client dafür einzurichten, bin ich mit den hier aufgelisteten Schritten nicht weitergekommen, aber hab dann diese Anleitung bei OPNSense gefunden, die für mein Ubuntu-System sehr einfach funktioniert hat:

https://docs.opnsense.org/manual/how-tos/ipsec-rw-linux.html

Vielleicht hilft es ja jemandem weiter.

Schöne Grüße und noch mal danke für das super Tutorial mit long-term-support face-wink
aqui
aqui 04.08.2021 um 11:46:37 Uhr
Goto Top
Danke für das Feedback. 👍🏻
Habs mal mit in die Linksammlung oben mit aufgenommen !
admNut89
admNut89 02.09.2021 um 22:41:37 Uhr
Goto Top
Hallo zusammen,

erstmal danke für die tolle und detaillierte Anleitung.

Ich denke, dass ich mich korrekt daran habe, dennoch funktioniert mein VPN nicht.

Kurz zu meinem Setup: Das LAN meiner pfsense hat das Netzwerk 10.168.1.0/24. Darüber hinaus ist es in verschiedene VLANs segmentiert. Eines davon heißt VPN und hat das Netzwerk 10.168.30.0/24. Wäre schön, wenn alle aktiven VPN clients dann dort drinne sind.

Ich habe die VPN Verbindung mit Windows und Android versucht. Beides funktioniert nicht.

Android:

Ich habe als Typ "IKEv2/IPSec MSCHAPv2" ausgewählt. Die Serveradresse ist korrekt. Als IPSec-Serverzertifikat habe ich das gemäß der Anleitung Erstellte ausgewählt. Unter "IPSec Identifier" steht "nicht verwendet". Benutzername und Passwort gemäß den Einstellungen unter "Pre-shared secret".
Android zeigt kurz "Verbinden..." an und nach ca. 2s springt es auf "Nicht erfolgreich". Die Logs in der pfsense zeigen folgendes:

Sep 2 22:23:05 	charon 		13[CFG] <12> configured proposals: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
Sep 2 22:23:05 	charon 		13[CFG] <12> selected proposal: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
Sep 2 22:23:05 	charon 		13[CFG] <12> received supported signature hash algorithms: sha256 sha384 sha512
Sep 2 22:23:05 	charon 		13[IKE] <12> remote host is behind NAT
Sep 2 22:23:05 	charon 		13[IKE] <12> DH group MODP_2048_256 unacceptable, requesting MODP_2048
Sep 2 22:23:05 	charon 		13[ENC] <12> generating IKE_SA_INIT response 0 [ N(INVAL_KE) ]
Sep 2 22:23:05 	charon 		13[NET] <12> sending packet: from 91.66.139.25[500] to 109.42.112.41[35368] (38 bytes)
Sep 2 22:23:05 	charon 		13[IKE] <12> IKE_SA (unnamed)[12] state change: CONNECTING => DESTROYING
Sep 2 22:23:05 	charon 		06[NET] <13> received packet: from 109.42.112.41[35368] to 91.66.139.25[500] (650 bytes)
Sep 2 22:23:05 	charon 		06[ENC] <13> parsed IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(HASH_ALG) N(REDIR_SUP) ]
Sep 2 22:23:05 	charon 		06[CFG] <13> looking for an IKEv2 config for 91.66.139.25...109.42.112.41
Sep 2 22:23:05 	charon 		06[CFG] <13> candidate: %any...%any, prio 24
Sep 2 22:23:05 	charon 		06[CFG] <13> candidate: 91.66.139.25...%any, prio 1052
Sep 2 22:23:05 	charon 		06[CFG] <13> found matching ike config: 91.66.139.25...%any with prio 1052
Sep 2 22:23:05 	charon 		06[IKE] <13> 109.42.112.41 is initiating an IKE_SA
Sep 2 22:23:05 	charon 		06[IKE] <13> IKE_SA (unnamed)[13] state change: CREATED => CONNECTING
Sep 2 22:23:05 	charon 		06[CFG] <13> selecting proposal:
Sep 2 22:23:05 	charon 		06[CFG] <13> proposal matches
Sep 2 22:23:05 	charon 		06[CFG] <13> received proposals: IKE:AES_CBC_256/AES_CBC_128/HMAC_SHA2_512_256/HMAC_SHA2_384_192/HMAC_SHA2_256_128/HMAC_SHA1_96/PRF_HMAC_SHA2_512/PRF_HMAC_SHA2_384/PRF_HMAC_SHA2_256/PRF_HMAC_SHA1/MODP_2048/MODP_2048_256/ECP_384/ECP_256/MODP_1536, IKE:AES_GCM_16_256/AES_GCM_16_128/PRF_HMAC_SHA2_512/PRF_HMAC_SHA2_384/PRF_HMAC_SHA2_256/PRF_HMAC_SHA1/MODP_2048/MODP_2048_256/ECP_384/ECP_256/MODP_1536
Sep 2 22:23:05 	charon 		06[CFG] <13> configured proposals: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
Sep 2 22:23:05 	charon 		06[CFG] <13> selected proposal: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
Sep 2 22:23:05 	charon 		06[CFG] <13> received supported signature hash algorithms: sha256 sha384 sha512
Sep 2 22:23:05 	charon 		06[IKE] <13> remote host is behind NAT
Sep 2 22:23:05 	charon 		06[CFG] <13> sending supported signature hash algorithms: sha256 sha384 sha512 identity
Sep 2 22:23:05 	charon 		06[IKE] <13> sending cert request for "CN=pfsenseCA, C=DE, ST=Schleswig-Holstein, L=Kiel"  
Sep 2 22:23:05 	charon 		06[ENC] <13> generating IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(HASH_ALG) N(CHDLESS_SUP) N(MULT_AUTH) ]
Sep 2 22:23:05 	charon 		06[NET] <13> sending packet: from 91.66.139.25[500] to 109.42.112.41[35368] (489 bytes)
Sep 2 22:23:05 	charon 		06[NET] <13> received packet: from 109.42.112.41[36587] to 91.66.139.25[4500] (384 bytes)
Sep 2 22:23:05 	charon 		06[ENC] <13> parsed IKE_AUTH request 1 [ IDi CPRQ(ADDR DNS) SA TSi TSr N(MOBIKE_SUP) N(ADD_4_ADDR) N(ADD_6_ADDR) N(ADD_6_ADDR) N(ADD_6_ADDR) N(MULT_AUTH) N(EAP_ONLY) N(MSG_ID_SYN_SUP) ]
Sep 2 22:23:05 	charon 		06[CFG] <13> looking for peer configs matching 91.66.139.25[%any]...109.42.112.41[mobile]
Sep 2 22:23:05 	charon 		06[CFG] <13> candidate "bypasslan", match: 1/1/24 (me/other/ike)  
Sep 2 22:23:05 	charon 		06[CFG] <13> candidate "con-mobile", match: 1/1/1052 (me/other/ike)  
Sep 2 22:23:05 	charon 		06[CFG] <con-mobile|13> selected peer config 'con-mobile'  
Sep 2 22:23:05 	charon 		06[IKE] <con-mobile|13> initiating EAP_IDENTITY method (id 0x00)
Sep 2 22:23:05 	charon 		06[IKE] <con-mobile|13> processing INTERNAL_IP4_ADDRESS attribute
Sep 2 22:23:05 	charon 		06[IKE] <con-mobile|13> processing INTERNAL_IP4_DNS attribute
Sep 2 22:23:05 	charon 		06[IKE] <con-mobile|13> peer supports MOBIKE
Sep 2 22:23:05 	charon 		06[IKE] <con-mobile|13> got additional MOBIKE peer address: 192.168.237.158
Sep 2 22:23:05 	charon 		06[IKE] <con-mobile|13> got additional MOBIKE peer address: 2a00:20:704c:cc0e:1cb:afb:783c:2be6
Sep 2 22:23:05 	charon 		06[IKE] <con-mobile|13> got additional MOBIKE peer address: 2a00:20:7108:43ba:e3b0:46d1:4562:1cc4
Sep 2 22:23:05 	charon 		06[IKE] <con-mobile|13> got additional MOBIKE peer address: 2a00:20:704c:cc0e::67
Sep 2 22:23:05 	charon 		06[IKE] <con-mobile|13> authentication of 'pfsense' (myself) with RSA_EMSA_PKCS1_SHA2_256 successful  
Sep 2 22:23:05 	charon 		06[IKE] <con-mobile|13> sending end entity cert "CN=pfSense, C=DE, ST=Schleswig-Holstein, L=Kiel"  
Sep 2 22:23:05 	charon 		06[ENC] <con-mobile|13> generating IKE_AUTH response 1 [ IDr CERT AUTH EAP/REQ/ID ]
Sep 2 22:23:05 	charon 		06[NET] <con-mobile|13> sending packet: from 91.66.139.25[4500] to 109.42.112.41[36587] (1536 bytes)
Sep 2 22:23:06 	charon 		06[NET] <con-mobile|13> received packet: from 109.42.112.41[36587] to 91.66.139.25[4500] (80 bytes)
Sep 2 22:23:06 	charon 		06[ENC] <con-mobile|13> parsed INFORMATIONAL request 2 [ N(AUTH_FAILED) ]
Sep 2 22:23:06 	charon 		06[ENC] <con-mobile|13> generating INFORMATIONAL response 2 [ N(AUTH_FAILED) ]
Sep 2 22:23:06 	charon 		06[NET] <con-mobile|13> sending packet: from 91.66.139.25[4500] to 109.42.112.41[36587] (80 bytes)
Sep 2 22:23:06 	charon 		06[IKE] <con-mobile|13> IKE_SA con-mobile[13] state change: CONNECTING => DESTROYING 

Scheint irgnedwas mit der Authentification zu sein, aber meine Zertifikate müssten korrekt sein. Habe mich sklavisch an die Anleitung gehalten.

Windows:

Den client habe ich mit der PowerShell eingerichtet. Die IP Adresse habe ich korrekt angepasst, "-SplitTunneling" weggelassen, um allen Verkehr durch den Tunnel zu leiten, und beim Kommando "Add-VpnConnectionRoute" habe ich das Netzwerk 10.168.30.0/24 angegeben (hier bin ich mir nicht sicher, was genau da rein muss).

Windows sagt bei der Verbindung "IKE-Authentifizierung-Anmeldeinformationen sind nicht aktzeptabel." Laut vorangegangener Kommentare deutet das auf Zertifikat-Probleme hin. Aber nochmal, ich habe es geprüft und weiß nicht, was ich falsch gemacht haben soll.

Das Log der pfsense zeigt folgendes:

Sep 2 22:31:06 	charon 		14[IKE] <14> received cert request for unknown ca with keyid 30:a4:e6:4f:de:76:8a:fc:ed:5a:90:84:28:30:46:79:2c:29:15:70
Sep 2 22:31:06 	charon 		14[IKE] <14> received cert request for unknown ca with keyid c4:30:28:c5:d3:e3:08:0c:10:44:8b:2c:77:ba:24:53:97:60:bb:f9
Sep 2 22:31:06 	charon 		14[IKE] <14> received cert request for unknown ca with keyid a2:af:24:0a:da:e8:67:79:c8:a8:50:b3:c7:46:ee:d9:f7:1b:16:78
Sep 2 22:31:06 	charon 		14[IKE] <14> received cert request for unknown ca with keyid 69:c4:27:db:59:69:68:18:47:e2:52:17:0a:e0:e5:7f:ab:9d:ef:0f
Sep 2 22:31:06 	charon 		14[IKE] <14> received cert request for unknown ca with keyid ba:42:b0:81:88:53:88:1d:86:63:bd:4c:c0:5e:08:fe:ea:6e:bb:77
Sep 2 22:31:06 	charon 		14[IKE] <14> received cert request for unknown ca with keyid 87:db:d4:5f:b0:92:8d:4e:1d:f8:15:67:e7:f2:ab:af:d6:2b:67:75
Sep 2 22:31:06 	charon 		14[IKE] <14> received cert request for unknown ca with keyid 6e:58:4e:33:75:bd:57:f6:d5:42:1b:16:01:c2:d8:c0:f5:3a:9f:6e
Sep 2 22:31:06 	charon 		14[IKE] <14> received cert request for unknown ca with keyid 4a:81:0c:de:f0:c0:90:0f:19:06:42:31:35:a2:a2:8d:d3:44:fd:08
Sep 2 22:31:06 	charon 		14[IKE] <14> received cert request for unknown ca with keyid d5:2e:13:c1:ab:e3:49:da:e8:b4:95:94:ef:7c:38:43:60:64:66:bd
Sep 2 22:31:06 	charon 		14[IKE] <14> received cert request for unknown ca with keyid 42:32:b6:16:fa:04:fd:fe:5d:4b:7a:c3:fd:f7:4c:40:1d:5a:43:af
Sep 2 22:31:06 	charon 		14[IKE] <14> received cert request for unknown ca with keyid a5:06:8a:78:cf:84:bd:74:32:dd:58:f9:65:eb:3a:55:e7:c7:80:dc
Sep 2 22:31:06 	charon 		14[IKE] <14> received cert request for unknown ca with keyid e2:7f:7b:d8:77:d5:df:9e:0a:3f:9e:b4:cb:0e:2e:a9:ef:db:69:77
Sep 2 22:31:06 	charon 		14[IKE] <14> received cert request for unknown ca with keyid 6d:aa:9b:09:87:c4:d0:d4:22:ed:40:07:37:4d:19:f1:91:ff:de:d3
Sep 2 22:31:06 	charon 		14[IKE] <14> received cert request for unknown ca with keyid 83:31:7e:62:85:42:53:d6:d7:78:31:90:ec:91:90:56:e9:91:b9:e3
Sep 2 22:31:06 	charon 		14[IKE] <14> received cert request for unknown ca with keyid 3e:51:59:8b:a7:6f:54:5c:77:24:c5:66:eb:aa:fb:3e:2b:f3:ac:4f
Sep 2 22:31:06 	charon 		14[IKE] <14> received cert request for unknown ca with keyid fd:da:14:c4:9f:30:de:21:bd:1e:42:39:fc:ab:63:23:49:e0:f1:84
Sep 2 22:31:06 	charon 		14[IKE] <14> received cert request for unknown ca with keyid 3e:18:e5:44:f6:bd:4d:77:50:28:c9:40:3e:5c:74:f5:4c:d9:60:29
Sep 2 22:31:06 	charon 		14[IKE] <14> received cert request for unknown ca with keyid 3e:22:d4:2c:1f:02:44:b8:04:10:65:61:7c:c7:6b:ae:da:87:29:9c
Sep 2 22:31:06 	charon 		14[IKE] <14> received cert request for unknown ca with keyid b1:81:08:1a:19:a4:c0:94:1f:fa:e8:95:28:c1:24:c9:9b:34:ac:c7
Sep 2 22:31:06 	charon 		14[IKE] <14> received cert request for unknown ca with keyid bb:c2:3e:29:0b:b3:28:77:1d:ad:3e:a2:4d:bd:f4:23:bd:06:b0:3d
Sep 2 22:31:06 	charon 		14[IKE] <14> received cert request for unknown ca with keyid c8:95:13:68:01:97:28:0a:2c:55:c3:fc:d3:90:f5:3a:05:3b:c9:fb
Sep 2 22:31:06 	charon 		14[IKE] <14> received cert request for unknown ca with keyid ee:e5:9f:1e:2a:a5:44:c3:cb:25:43:a6:9a:5b:d4:6a:25:bc:bb:8e
Sep 2 22:31:06 	charon 		14[IKE] <14> received cert request for unknown ca with keyid 67:ec:9f:90:2d:cd:64:ae:fe:7e:bc:cd:f8:8c:51:28:f1:93:2c:12
Sep 2 22:31:06 	charon 		14[IKE] <14> received cert request for unknown ca with keyid 17:4a:b8:2b:5f:fb:05:67:75:27:ad:49:5a:4a:5d:c4:22:cc:ea:4e
Sep 2 22:31:06 	charon 		14[IKE] <14> received cert request for unknown ca with keyid 68:33:0e:61:35:85:21:59:29:83:a3:c8:d2:d2:e1:40:6e:7a:b3:c1
Sep 2 22:31:06 	charon 		14[IKE] <14> received cert request for unknown ca with keyid 4f:9c:7d:21:79:9c:ad:0e:d8:b9:0c:57:9f:1a:02:99:e7:90:f3:87
Sep 2 22:31:06 	charon 		14[IKE] <14> received 45 cert requests for an unknown ca
Sep 2 22:31:06 	charon 		14[CFG] <14> looking for peer configs matching 91.66.139.25[%any]...109.42.112.41[192.168.237.84]
Sep 2 22:31:06 	charon 		14[CFG] <14> candidate "bypasslan", match: 1/1/24 (me/other/ike)  
Sep 2 22:31:06 	charon 		14[CFG] <14> candidate "con-mobile", match: 1/1/1052 (me/other/ike)  
Sep 2 22:31:06 	charon 		14[CFG] <con-mobile|14> selected peer config 'con-mobile'  
Sep 2 22:31:06 	charon 		14[IKE] <con-mobile|14> initiating EAP_IDENTITY method (id 0x00)
Sep 2 22:31:06 	charon 		14[IKE] <con-mobile|14> processing INTERNAL_IP4_ADDRESS attribute
Sep 2 22:31:06 	charon 		14[IKE] <con-mobile|14> processing INTERNAL_IP4_DNS attribute
Sep 2 22:31:06 	charon 		14[IKE] <con-mobile|14> processing INTERNAL_IP4_NBNS attribute
Sep 2 22:31:06 	charon 		14[IKE] <con-mobile|14> processing INTERNAL_IP4_SERVER attribute
Sep 2 22:31:06 	charon 		14[IKE] <con-mobile|14> processing INTERNAL_IP6_ADDRESS attribute
Sep 2 22:31:06 	charon 		14[IKE] <con-mobile|14> processing INTERNAL_IP6_DNS attribute
Sep 2 22:31:06 	charon 		14[IKE] <con-mobile|14> processing INTERNAL_IP6_SERVER attribute
Sep 2 22:31:06 	charon 		14[IKE] <con-mobile|14> peer supports MOBIKE
Sep 2 22:31:06 	charon 		14[IKE] <con-mobile|14> authentication of 'pfsense' (myself) with RSA signature successful  
Sep 2 22:31:06 	charon 		14[IKE] <con-mobile|14> sending end entity cert "CN=pfSense, C=DE, ST=Schleswig-Holstein, L=Kiel"  
Sep 2 22:31:06 	charon 		14[ENC] <con-mobile|14> generating IKE_AUTH response 1 [ IDr CERT AUTH EAP/REQ/ID ]
Sep 2 22:31:06 	charon 		14[ENC] <con-mobile|14> splitting IKE message (1520 bytes) into 2 fragments
Sep 2 22:31:06 	charon 		14[ENC] <con-mobile|14> generating IKE_AUTH response 1 [ EF(1/2) ]
Sep 2 22:31:06 	charon 		14[ENC] <con-mobile|14> generating IKE_AUTH response 1 [ EF(2/2) ]
Sep 2 22:31:06 	charon 		14[NET] <con-mobile|14> sending packet: from 91.66.139.25[4500] to 109.42.112.41[52328] (1236 bytes)
Sep 2 22:31:06 	charon 		14[NET] <con-mobile|14> sending packet: from 91.66.139.25[4500] to 109.42.112.41[52328] (356 bytes)
Sep 2 22:31:36 	charon 		14[JOB] <con-mobile|14> deleting half open IKE_SA with 109.42.112.41 after timeout
Sep 2 22:31:36 	charon 		14[IKE] <con-mobile|14> IKE_SA con-mobile[14] state change: CONNECTING => DESTROYING 

Auch hier schein es wieder auf die Zertifikate hinzudeuten. Ich habe diese aber sowohl bei Windows als auch unter Android ordnungsgemäß installiert.

Kann mir jemand weiterhelfen?

Weitere Frage: Welche IP kommt unter "Provide a virtual IP address to clients" genau rein?

Danke für eure Hilfeface-smile

Kris

P.S.: In Phase 2 habe ich unter "Local Network", "Network" und "0.0.0.0/0" eingestellt, sodass jeglicher Traffic durch den Tunnel geht. Richtig?
aqui
aqui 03.09.2021 aktualisiert um 09:31:12 Uhr
Goto Top

Ja, da hast du Recht ! Bei deiner Zertifikats Generierung ist gehörig was schief gegangen das zeigt die Meldung "received 45 cert requests for an unknown ca" und die dadrüber liegenden CA Fehler.
CA ist die Certificate Authority !
Man kann nur vermuten das du entweder die CA vergessen hast VORHER anzulegen oder vergessen hast das neue Server Zertifikat auf diese CA zu legen.
Das eine Client Authentisierung mit einem falschen oder fehlerhaften Zertifikat natürlich in die Hose geht und in einer Fehlfunktion endet ist klar.
Du hast sie vermutlich ordnungsgemäß importiert aber bei der Generierung selber einen Kardinalsfehler begangen !
Fazit:
  • Zertifikate komplett löschen.
  • Neue CA anlegen wie im Tutorial beschrieben
  • Server Zertifikat erzeugen auf diese neue CA laut Tutorial
  • Neues Zert. exportieren und in die Clients importieren.
  • Firewall in den Advanced Settings auf die neue CA und Zert. umstellen und alte CA und Zert. löschen dann rebooten
Das sollte es gewesen sein... face-wink
sodass jeglicher Traffic durch den Tunnel geht. Richtig?
Das ist richtig aber ja auch erstmal nicht dein wirkliches Problem. face-wink

P.S.: Du solltest ggf. besser deine IP Adressen im Log anonymisieren denn mit https://www.ip-tracker.org/lookup.php sagt das viel über dich... face-wink
admNut89
admNut89 03.09.2021 um 15:34:17 Uhr
Goto Top
Ich habe es jetzt mehrfach, wie in der Anleitung gemacht, ich habe deine Punkte berücksichtigt, ich habe darauf geachtet, dass der common name korrekt ist, dass die alten Zertifikate gelöscht wurden und dass "Serverzertifikat" eingestellt ist. Dennoch funktioniert es nicht. Ich bin die Anleitung wirklich langsam und gewissenhaft durchgegangen. Ich habe das Gefühl, dass ich einen Fehler mache, der mir nicht bewusst ist oder dass ich die Anleitung an irgendeiner Stelle falsch interpretiere. Die pfsense ist up to date und wurde jedes mal rebootet. Welche Fehler kann man denn, während der Erstellung klassischerweise noch machen?
aqui
aqui 03.09.2021 aktualisiert um 16:26:42 Uhr
Goto Top
Trotzdem meckert er ja die CA an das die ungültig bzw. nicht existent ist was so nicht sein darf und auf einen Fehler hinweist. Da stimmt also etwas nicht.
Du solltest um das Tutorial hier nicht weiter mit Troubleshooting aufzublähen einen seperaten Thread aufmachen und hier darauf referenzieren.
In dem Thread dann mal Screenshots der Zertifikatsverwaltung posten. Irgendwas stimmt da nicht.
Ggf. hast du mit Sonderzeichen da gearbeitet was auch zu Problemen führt aber das kann man dann nur an Screenshots bzw. der genauen Konfig sehen. Ohne diese Infos ist das wenig zielführend.

Alternativ kannst du auch mal die L2TP VPN Option nehmen mit dem bordeigenen Client. L2TP nutzt keine Zertifikate so das das Setup da etwas einfacher ist.
PfSense VPN mit L2TP (IPsec) Protokoll für mobile Nutzer
LKleemann
LKleemann 18.09.2021 um 16:44:42 Uhr
Goto Top
Hallo @aqui, Hallo zusammen,

vielen Dank für dieses tolle Tutorial @aqui. Einfach und eigentlich auch verständlich 🙈 Leider bekomme ich immer noch folgende Fehlermeldung:

2021-09-18T16:32:03	charon[20006]	15[JOB] <2> deleting half open IKE_SA with 192.168.1.1 after timeout
2021-09-18T16:31:35	charon[20006]	15[NET] <2> sending packet: from 192.168.1.10[500] to 192.168.1.1[500] (541 bytes)
2021-09-18T16:31:35	charon[20006]	15[IKE] <2> received retransmit of request with ID 0, retransmitting response
2021-09-18T16:31:35	charon[20006]	15[ENC] <2> parsed IKE_SA_INIT request 0 [ SA KE No N(FRAG_SUP) N(NATD_S_IP) N(NATD_D_IP) V V V V ]
2021-09-18T16:31:35	charon[20006]	15[NET] <2> received packet: from 192.168.1.1[500] to 192.168.1.10[500] (544 bytes)
2021-09-18T16:31:34	charon[20006]	15[NET] <2> sending packet: from 192.168.1.10[500] to 192.168.1.1[500] (541 bytes)
2021-09-18T16:31:34	charon[20006]	15[IKE] <2> received retransmit of request with ID 0, retransmitting response
2021-09-18T16:31:34	charon[20006]	15[ENC] <2> parsed IKE_SA_INIT request 0 [ SA KE No N(FRAG_SUP) N(NATD_S_IP) N(NATD_D_IP) V V V V ]
2021-09-18T16:31:34	charon[20006]	15[NET] <2> received packet: from 192.168.1.1[500] to 192.168.1.10[500] (544 bytes)
2021-09-18T16:31:33	charon[20006]	15[NET] <2> sending packet: from 192.168.1.10[500] to 192.168.1.1[500] (541 bytes)
2021-09-18T16:31:33	charon[20006]	15[ENC] <2> generating IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(FRAG_SUP) N(CHDLESS_SUP) N(MULT_AUTH) ]
2021-09-18T16:31:33	charon[20006]	15[IKE] <2> sending cert request for "C=DE, ST=**, L=**, O=**, E=**, CN=**"  
2021-09-18T16:31:33	charon[20006]	15[IKE] <2> sending cert request for "C=DE, ST=**, L=**, O=**, E=**, CN=**"  
2021-09-18T16:31:33	charon[20006]	15[IKE] <2> sending cert request for "C=DE, ST=**, L=**, O=**, E=**, CN=**"  
2021-09-18T16:31:33	charon[20006]	15[IKE] <2> sending cert request for "C=DE, ST=**, L=**, O=**, E=**, CN=**"  
2021-09-18T16:31:33	charon[20006]	15[CFG] <2> selected proposal: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
2021-09-18T16:31:33	charon[20006]	15[IKE] <2> 192.168.1.1 is initiating an IKE_SA
2021-09-18T16:31:33	charon[20006]	15[ENC] <2> received unknown vendor ID: 01:52:8b:bb:c0:06:96:12:**:**:**:**:**:**:**:**:**:**:**:**
2021-09-18T16:31:33	charon[20006]	15[IKE] <2> received Vid-Initial-Contact vendor ID
2021-09-18T16:31:33	charon[20006]	15[IKE] <2> received MS-Negotiation Discovery Capable vendor ID
2021-09-18T16:31:33	charon[20006]	15[IKE] <2> received MS NT5 ISAKMPOAKLEY v9 vendor ID
2021-09-18T16:31:33	charon[20006]	15[ENC] <2> parsed IKE_SA_INIT request 0 [ SA KE No N(FRAG_SUP) N(NATD_S_IP) N(NATD_D_IP) V V V V ]
2021-09-18T16:31:33	charon[20006]	15[NET] <2> received packet: from 192.168.1.1[500] to 192.168.1.10[500] (544 bytes)

Kann mir bitte jemand bei diesem Problem helfen und mir einen Denkanstoß geben?

Vielen Dank im Voraus und euch noch ein schönes Wochenende
aqui
aqui 18.09.2021 aktualisiert um 19:47:40 Uhr
Goto Top
Leider bekomme ich immer noch folgende Fehlermeldung:
Mit welchem Client denn ?? face-sad
Ich hab es gerade nochmal mit der aktuellsten Ver. 2.5.2 nachgestellt und mit einem Win 10 (21H1), einem Mac Book Pro (latest Big Sur) und einem iPhone X getestet.
Alles fehlerfrei ohne irgendwelche Probleme. Dein Problem lässt sich leider nicht reproduzieren...
In dem Log Schnipsel oben sind auch per se erstmal keine Fehler im Protokoll Handling zu entdecken.
Hast du testweise mal die L2TP Variante probiert ?
LKleemann
LKleemann 19.09.2021 um 14:15:12 Uhr
Goto Top
Bitte entschuldige meine ungenauen Informationen. Anbei genauere Informationen:

Getestet habe ich mit einem Windows 10 Laptop:
Edition	Windows 10 Pro
Version	21H1
Betriebssystembuild	19043.1237
Leistung	Windows Feature Experience Pack 120.2212.3530.0

Ich würde gerne den VPN-Tunnel mittels Opensense wegen der API-Schnittstelle herstellen, kann ich bei dieser ebenfalls einen L2TP Server einrichten? Dann würde ich einfach einen L2TP Tunnel verwenden face-smile

Vielen Dank im Voraus
aqui
aqui 19.09.2021 aktualisiert um 18:34:30 Uhr
Goto Top
Getestet habe ich mit einem Windows 10 Laptop:
Wie bereits oben gesagt. Hier ebenfalls mit genau der Win 10 Version getestet und klappt vollkommen problemlos ! Der o.a. Fehler war auch leider nicht reproduzierbar.
kann ich bei dieser ebenfalls einen L2TP Server einrichten?
Nein, die OPNsense hat leider den L2TP nicht per Default an Bord wie die pfSense.
Ich kann im Moment nicht sagen ob bei der OPNsense der L2TP Server über die Package/Plugin Verwaltung installierbar ist. Müsste ich auch checken...
markushi
markushi 09.10.2021 um 10:26:30 Uhr
Goto Top
Hallo,

ich habe nach der Anleitung gearbeitet und kann mich auch erfolgreich vom (Android) Handy aus mit meinem VPN verbinden. Leider klappt es mit Win10 Pro nicht, da wird folgendes ausgegeben:
IKE-Authentifizierung-Anmeldeinformationen sind nicht akzeptabel

Das Log zeigt folgendes:
2021-10-09T09:20:26	charon[79660]	13[JOB] <con1|3> deleting half open IKE_SA with 80.187.106.185 after timeout	
2021-10-09T09:20:17	charon[79660]	13[IKE] <con1|3> sending keep alive to 80.187.106.185[7116]	
2021-10-09T09:19:56	charon[79660]	11[NET] <con1|3> sending packet: from ...........[4500] to 80.187.106.185[7116] (500 bytes)	
2021-10-09T09:19:56	charon[79660]	11[NET] <con1|3> sending packet: from ..............[4500] to 80.187.106.185[7116] (1236 bytes)	
2021-10-09T09:19:56	charon[79660]	11[ENC] <con1|3> generating IKE_AUTH response 1 [ EF(2/2) ]	
2021-10-09T09:19:56	charon[79660]	11[ENC] <con1|3> generating IKE_AUTH response 1 [ EF(1/2) ]	
2021-10-09T09:19:56	charon[79660]	11[ENC] <con1|3> splitting IKE message (1664 bytes) into 2 fragments	
2021-10-09T09:19:56	charon[79660]	11[ENC] <con1|3> generating IKE_AUTH response 1 [ IDr CERT AUTH EAP/REQ/ID ]	
2021-10-09T09:19:56	charon[79660]	11[IKE] <con1|3> sending end entity cert ...........	
2021-10-09T09:19:56	charon[79660]	11[IKE] <con1|3> authentication of '................' (myself) with RSA signature successful	  
2021-10-09T09:19:56	charon[79660]	11[IKE] <con1|3> peer supports MOBIKE	
2021-10-09T09:19:56	charon[79660]	11[IKE] <con1|3> initiating EAP_IDENTITY method (id 0x00)	
2021-10-09T09:19:56	charon[79660]	11[CFG] <con1|3> selected peer config 'con1'  

Der Import des Zertifikats war erfolgreich und es wird im Zertifikatsspeicher angezeigt. Ich habe auch schon eine CA erstellt sowie ein neues Server Zertifikat. Am Handy gehts auch jetzt wieder (nach dem Import des neuen Zertifikats), aber der Win Fehler ist gleich geblieben.
Hat jemand eine Idee wo das Problem liegen könnte?

Gruß - Markus
aqui
aqui 09.10.2021 um 11:40:15 Uhr
Goto Top
Das Firewall Log (bzw. der obige Auszug) zeigt so erstmal keinerlei Fehler.... Der erfolgreiche Android Login zeigt das du generell erstmal alles richtig gemacht hast so das der Fehler sehr wahrscheinlich am Windows Client liegt.
Hast du den Windows Client über die obigen Powershell_Kommandos entsprechend customized ?
Was sagt das Windows Log ?
markushi
markushi 09.10.2021 um 18:10:46 Uhr
Goto Top
Ich hab die VPN Verbindung nicht über die Powershell angelegt, das kann ich aber mal testen. In das Windows Log hab ich noch gar nicht reingeschaut, steht meist eh nix verwertbares drin...
Ich werde wieder berichten was dabei rausgekommen ist.

Bis dahin: Danke dir! Für dein Tutorial und deine Hilfe 👌👏
aqui
aqui 10.10.2021 aktualisiert um 16:02:32 Uhr
Goto Top
Danke für die 💐
Versuchs mal über die Powershell. Das ist meist wasserdichter und weniger Fehler anfällig...
markushi
markushi 12.10.2021 um 19:09:30 Uhr
Goto Top
Ich habe jetzt mal versucht, die VPN Verbindung unter Linux (Mint) zum Laufen zu bekommen. Da klappts leider auch nicht, aber man sieht jetzt im VPN Log folgendes:

2021-10-12T18:59:01	charon[73168]	07[ENC] <2> generating IKE_AUTH response 1 [ N(AUTH_FAILED) ]	 
2021-10-12T18:59:01	charon[73168]	07[IKE] <2> peer supports MOBIKE	 
2021-10-12T18:59:01	charon[73168]	07[CFG] <2> no matching peer config found	 
2021-10-12T18:59:01	charon[73168]	07[CFG] <2> looking for peer configs matching *IP-FritzBox*[C=DE, ST=Bayern, L=***, O=***, E=m@***.de, CN=srv.***.de]...80.187.**[Benutzername***]

Die * sind von mir. Bei IP-Fritzbox steht die IP (192.168.....), welche opnSense von der Fritzbox bekommen hat. Diese ist natürlich nicht identisch mit meinem DynDNS Einwahlnamen, von daher ist die nächste Meldung "no matching peer config found" nachzuvollziehen. Aber wieso möchte das System jetzt dieses Netz finden? Im Zertifikat ist ja auch der DynDNS Name drin als Referenz.
Das ganze funktioniert unter Android immer noch problemlos. Sehr merkwürdig das Ganze...

Hast du noch eine Idee???
aqui
aqui 13.10.2021, aktualisiert am 31.05.2023 um 15:45:42 Uhr
Goto Top
unter Linux (Mint) zum Laufen zu bekommen.
Wie hast du das gemacht ? Strongswan ? Wenn Strongswan dann dessen Konfig bitte posten.
Ansonsten halte dich an diese funktionierende Strongswan Konfig aus dem Forum:
IKEv2 VPN Server für Windows und Apple Clients mit Raspberry Pi

Es wäre dann ggf. aber zielführend einen separaten Thread dafür zu eröffnen um das Tutorial nicht weiter unnötig aufzublasen.
Hast du dich ggf. mal an die original OPNsense Anleitung gehalten ?:
https://docs.opnsense.org/manual/how-tos/ipsec-rw-srv-mschapv2.html

Ich habe das Setup noch nicht unter OPNsense getestet nur unter pfSense und da rennt es fehlerlos.
Ich werde das unter OPNsense mal aufsetzen, testen und berichten.
markushi
markushi 13.10.2021 um 21:35:51 Uhr
Goto Top
Ja ich hab das mit Strongswan eingerichtet und ich hab auch nach der Anleitung von opnsense die gesamte Einrichtung versucht. Das hab ich gemacht weil deine Anleitung in einigen Punkten doch sehr stark von den Konfigurationsoptionen der opnsense abgewichen ist. Ich werde am Wochenende nochmal alles löschen und es erneut versuchen. Vielleicht habe ich ja doch irgendwo einen Fehler gemacht.
Und ich werde dann einen separaten Thread im Forum eröffnen falls es nicht klappt. Andernfalls schreibe ich hier nochmal kurz rein.
aqui
aqui 14.10.2021, aktualisiert am 15.10.2021 um 09:47:18 Uhr
Goto Top
So, OPNsense Test war, wie zu erwarten, ebenso erfolgreich wie das Setup der pfSense oben.
Hier das Client VPN Setup der OPNsense als kurzes HowTo:

back-to-topZertifikats Einstellungen

Das Erstellen der Zertifikate geht analog zu der der pfSense oben im Menü System --> Trust. Es ist zuerst eine CA zu erstellen und deren Zertifikat als Datei zu sichern
Dann das Server Zertifikat erstellen. Hier gilt wieder aufzupassen das als Common Name der Hostname der OPNsense dort eingesetzt wird z.B. opnsense.test.home.arpa
Wichtig ist hier unbedingt auf die korrekte Schreibweise zu achten. Auch Groß- Kleinschrift ist relevant ! Am besten cut and pastet man den Firewall Hostnamen direkt aus der WebGUI Seite um sicherzugehen.
Unter Alternative Names diesen Hostnamen als DNS nochmals eingeben und zusätzlich die Kurzform nur mit dem Hostnamen ohne Domain Suffix z.B. opnsense
Wer einen DynDNS Hostnamen für den Zugang MUSS diesen hier auch eingeben. (Hier im Beispiel durch "0a630190.nip.io" (10.99.1.144) sympolisiert !)
Wenn du eine feste WAN IP hast sollte diese on Top auch noch mit "IP" angegeben werden.
Ein Klick auf die Zert. Info sollte alle diese SANs immer anzeigen:
opn1
Das ist extrem wichtig für den Windows 10 onboard Client.

back-to-topMobile Client Setup

Auch hier identisch zum obigen pfSense Setup:
mob1
mob2

back-to-topIPsec Phase 1 Setup

Auch das identisch zu oben:
p1-1

back-to-topIPsec Phase 2 Setup

Ebenso identisch:
p2

back-to-topÜbersicht Phase 1 und Phase 2

tunset

back-to-topWindows 10 Client

Auch der wird ganz normal über das Netzwerk Center unter "VPN" als IKEv2 Verbindung hinzugefügt:
opns

Fertisch !
Damit rennt das dann fehlerlos

Fazit:
Works as designed ! 😉
markushi
markushi 18.10.2021 um 11:33:09 Uhr
Goto Top
Hallo aqui,

vielen Dank an dieser Stelle nochmal für deine Bemühungen! Nach dieser Beschreibung funktioniert das Ganze jetzt bei mir auch mit OPNsense!

Gruß - Markus
aqui
aqui 18.10.2021 um 12:21:30 Uhr
Goto Top
👏 👍
jurgenpomberger
jurgenpomberger 23.11.2021 aktualisiert um 15:12:09 Uhr
Goto Top
Danke für die tolle Anleitung!

Ich benutze einen Windows 11 Laptop, um über Ihre Anleitung mit dem IPsec VPN mit der PfSense aufzubauen.
Alles klappt auch wunderbar. Aber nach ein paar Stunden funktioniert dann Plötzliche ohne Fehlermeldung der VPN nicht mehr und die Kommunikation durch das VPN ist dann nicht mehr möglich. Ich leite den gesamten Netzwerkverkehr über den VPN um. Daher fällt es sofort auf, wenn plötzlich zb. Zoom abbricht.

Nach dem Trennen und Neuverbinden des VPN geht es wieder?
Habe da gleiche Verhalten auch bei einem anderen Windows 10 Gerät?

Haben Sie eine Idee, wo hier der Fehler sein könnte?

PfSense 2.5.2 (AMD64)

Kann es an den Lifetime Einstellungen liegen?:
- IPsec Tunnel Phase 1: (siehe Bild Phase1)
- Phase 2: (siehe Bild Phase 2

Lieben Dank für die Hilfe
phase1
phase2
aqui
aqui 23.11.2021 um 15:34:43 Uhr
Goto Top
In Foren duzt man sich in der Regel. face-wink
Ist die DPD Funktion (Dead Peer Detection) aktiviert ? Wie der Name schon sagt sollte die laufen was das VPN dann immer aktiv hält.
Was genau ist "nach ein paar Stunden" ?? Sind das ggf. 8 (28800 Sek) was die P1 Lifetime ist ?
Ist diese Zeit immer konstant (alo ein Timer) oder bricht es zufällig ab ?
Das wäre nich wichtig zu wissen.
jurgenpomberger
jurgenpomberger 23.11.2021 um 15:54:25 Uhr
Goto Top
Hi!

Stimmt ja. Danke ;)

Also die Dead Peer Detection ist bei der Phase 1 abgehackt. Sollte also funktionieren.

Bezüglich der Zeit bis zum Abbruch bin ich gerade am Stoppen ;). Bei dem Windows 11 Laptop war es ca. nach 2 Stunden. Bei dem Win 10 nach ca. einer Stunde.
Sobald ich mehrere und vor allem genauere Zeit Ergebnisse habe, melde ich mich wieder.

Lieben Dank vorerst.
dpd
aqui
aqui 23.11.2021 aktualisiert um 16:07:03 Uhr
Goto Top
ist bei der Phase 1 abgehackt.
Igitt...wie brutal ist das denn ??? face-big-smile https://www.duden.de/rechtschreibung/abhaken

Bitte ggf. einen neuen Thread aufmachen mit Verweis um das Tutorial hier nicht weiter aufzublähen mit Troubleshooting. face-wink
jurgenpomberger
jurgenpomberger 23.11.2021 um 16:24:16 Uhr
Goto Top
Ja ja ich weiß, sollte nicht immer die Autokorrektur nutzen.

Hab den Thread angelegt. Pfsense IPsec VPN - Windows 11 Verbindungsabbruch
Lieben Dank
kurbler
kurbler 02.02.2022 um 10:50:29 Uhr
Goto Top
Servus,
und vielen Dank für die tolle Anleitung!!!!!! face-smile

Leider habe ich zwei Probleme
1. das unter Windows 10 (21H1 Build 19043.1466) oder Windows 11 (da weiß ich gerade die version nicht) nach so ca. 220MByte keine Daten mehr fließen, die Verbindung wird im Windows Client noch als verbunden angezeigt. Aufgefallen ist mir das als ich zum testen ein 1,6GB File mal zum testen kopiert habe, das ganze ist jederzeit reproduzierbar, hab verschieden Windows 10 Maschinen ausprobiert, Bare Metal oder auch VM's. Habe das selbe Verhalten wenn ich eine andere opnsense Maschine Verwende, (2 x Bare Metal, 1 x VM)
Versionen von opnsense habe ich OPNsense 21.7.8-amd64 und OPNsense 22.1amd64 auf die Kisten drauf.

2. unter Mac OS (12.1 intel oder M1) oder ios 15.2.1 bricht die Verbindung immer genau nach 8 Minuten ab.
auch verschiedene Mac Books probiert und auch auf verschiedenen opnsense Maschinen. Ich finde nix an Einstellungen die was mit 8 Minuten oder 480 Sekunden zu tun haben.

vielen Dank schon mal
aqui
aqui 02.02.2022 aktualisiert um 11:08:57 Uhr
Goto Top
  • Den zwingend erforderlichen Windows Patch hast du eingespielt ?
  • Arbeitest du mit den Default Settings des Windows Clients oder hast du diese mit den Settings in Registry oder Powershell angepasst ? Wenn ja wie ?
  • Abbrüche haben meist immer etwas mit den P1 oder P2 Lifetimes oder DPD Timern zu tun ? Zumindestens bei der pfSense lässt sich das o.a. Verhalten leider nicht reproduzieren wie ein kurzer Test zeigte. Welche Cipher Lifetimes hast du in der OPNsense verwendet ?
kurbler
kurbler 02.02.2022 um 12:02:20 Uhr
Goto Top
puh danke für die schnelle Antwort face-smile)
  • Von den patch wußte ich noch nichst, mach ich gleich.
  • Sonst alles mit default settings, mit powershell habe ich nichts angepasst.
  • Mir ist gerade aufgefallen das ich zwei default routen habe und gar keine route für mein LAN Netz, ping und smb funktioniert da hin, ist ja klar weil das default auf die ipsec Adresse zeigt. Ich wollte ohne powershell Commandos auskommen, werde ich wohl nicht, das mache ich auch gleich, nach dem ich mir das mit dem Patch angeschaut habe.
*
ipsec-phase1
ipsec-phase2
HanDoku
HanDoku 02.02.2022 um 12:03:44 Uhr
Goto Top
@kurbler, zum Thema Mac OS und den Verbindungsabbrüchen nach 8 Minuten siehe IPsec IKEv2 VPN für mobile Benutzer auf der pfSense oder OPNsense Firewall einrichten
kurbler
kurbler 02.02.2022 um 13:15:29 Uhr
Goto Top
@HanDoku Super Danke, hab ich auf none gestellt und jetzt läuft der Tunnel schon über 20 Minuten, DANKE

@aqui das mit dem patch verstehen ich nicht so ganz, Du fragst mich ob ich den zwingend benötigten patch eingespielt habe, und der Link geht aber auf einen patch der rausgenommen werden soll, ich bin da bisschen durcheinander, ich date gerade einen Windows10 Client auf 21H2 ab, kannst Du mir das bitte mit dem patch noch erklären DANKE
kurbler
kurbler 02.02.2022 aktualisiert um 14:32:41 Uhr
Goto Top
update:
das ändern in der Section VPN => Mobile Clients den Parameter Phase 2 PFS Group auf "off" hat nicht nur gebracht das die Verbindung unter Mac OS nach 8 Minuten nicht mehr unterbrochen wurde, es hat auch das Problem unter Windows 10 behoben das kein Verkehr mehr durch den Tunnel geschickt worden ist. Ich hab auf der opnsense einen tcpdump auf enc0 mitlaufen lassen und da hat der Verkehr nach ca 220MBytes aufgehört, das ist jetzt auch behoben. DANKE
aqui
aqui 02.02.2022 um 17:17:07 Uhr
Goto Top
Danke für das gute Feedback. Ich passe das Tutorial entsprechend an oben !! 😉
dertowa
dertowa 06.02.2022 um 21:46:41 Uhr
Goto Top
@aqui
Danke für die gute Anleitung.
Ggf. sind ein paar Stolpersteine drin (vermutliche durch leichte Anpassungen in der aktuellen pfsense).
Bspw. Mobile Phase 1:
Haken entfernen: Disable Rekey
Haken entfernen: Disable Reauth

Da gibt es keine Haken mehr, muss beides auf "0" gesetzt werden, bzw. eigentlich nur der Rekey, denn Standard ist:
phase1

Zudem klemmt es bei mir kurz vor dem Ende:
ACHTUNG:
Diese IPsec WAN Port Regeln (ESP, UDP 500 und UDP 4500 für den Zugriff auf die WAN IP Adresse der pfSense passieren lassen) sollte die pfSense schon automatisch eingerichtet haben aber eine Kontrolle kann hier, wie immer, nicht schaden !


Verstehe ich richtig, dass ESP, UDP 500 & 4500 unter Firewall - Rules - WAN angelegt werden müssen?
Da ist nämlich leider nichts, die "Allow all" im IPsec war auch schon nicht automatisch angelegt.
Welche Parameter brauchen die 3 o.g. Protokolle denn?

firewall

Denn leider klappt es nicht. :D
Habe nun schon einige Einstellungen durchprobiert, leider ohne Erfolg mein Testsystem (Win 11 Pro) verbunden über Mobilfunk sagt mir immer "Das Netzwerk ist nicht vorhanden oder wurde nicht gestartet."

Ich befinde mich in einer Routerkaskade, auf der Fritz!Box ist Exposed Host angegeben, die Freigaben habe ich testweise auch schon mal einzeln reingepackt, hilft nicht. face-sad

Ich habe testweise per NAT mal Port 80 an mein Synology-NAS umgeleitet, das klappt einwandfrei über meine DDNS Adresse, also mache ich beim IPsec irgendwas falsch.

Grüße
ToWa
aqui
aqui 07.02.2022 aktualisiert um 12:31:36 Uhr
Goto Top
Hi ToWa !
Danke für das Feedback ! Stimmt, ist teilweise noch das alte GUI. face-wink Wird alles korrigiert !
Verstehe ich richtig, dass ESP, UDP 500 & 4500 unter Firewall - Rules - WAN angelegt werden müssen?
Das ist in der Tat etwas verwirrend, sorry. Wird auch korrigiert.
Fakt ist das in der aktuellen pfSense (und auch OPNsense) Version diese Regeln nicht mehr eingerichtet werden müssen, denn das macht die IPsec Setup Funktion automatisch !!
Kann man auch sehen bzw. kontrollieren wenn man sich die Default Regeln am WAN Port ansieht. Dort sind diese alle freigegeben. Man kann sie dann also löschen und es klappt auch.
Ich befinde mich in einer Routerkaskade, auf der Fritz!Box ist Exposed Host angegeben
In einer Router Kaskade ist dann immer wichtig unbedingt die RFC 1918 Netze am WAN Port zuzulassen !
Wichtig ist auch unbedingt ALLE VPN relevanten Konfigs auf der FB zu entfernen !! Ansonsten blockt die FB allen eingehenden IPsec Traffic weil sie ja selber VPN Router ist und so "denkt" das der für sie selber ist statt ihn forzuwarden ! face-wink
Das kannst du aber sehr leicht mit der Packet Capture Funktion in der pfSense (unter Diagnostic Menü) überprüfen indem du dort einfach mal am WAN Port prüfst ob dort IKE Pakete (UDP 500) eingehen wenn du mit einem Client einen Zugriff machst.
Zuvor solltest du dein Testsystem natürlich immer zuallererst in das Koppelnetz FB-pfSense klemmen um wasserdicht zu checken das der IPsec Client Zugriff auch fehlerfrei klappt.
Bei Windows Clients beachte unbedingt DAS HIER !
Ist das der Fall kann es dann nur noch sein das die FB dann IPsec nicht forwardet an den WAN Port pfSense. Das dann eben mit Paket Capture checken.
dertowa
dertowa 08.02.2022, aktualisiert am 18.02.2022 um 13:15:47 Uhr
Goto Top
Salut,

Fakt ist das in der aktuellen pfSense (und auch OPNsense) Version diese Regeln nicht mehr eingerichtet werden müssen, denn das macht die IPsec Setup Funktion automatisch !!
Kann man auch sehen bzw. kontrollieren wenn man sich die Default Regeln am WAN Port ansieht. Dort sind diese alle freigegeben. Man kann sie dann also löschen und es klappt auch.

wo sehe ich denn die Default-Regeln?
Also habe ich mal meine manuellen Regeln unter Firewall-WAN rausgeworfen.

In einer Router Kaskade ist dann immer wichtig unbedingt die RFC 1918 Netze am WAN Port zuzulassen !
Check, das habe ich bei der Einrichtung schon erledigt, eine Testfreigabe von Port 80 als Umleitung auf Port 5000 meiner Synology klappt auch einwandfrei aus dem Netz. face-smile
Die aktuellen Windowsupdate von heute Abend waren auch schon aktiv, damit sollten keine Probleme beim VPN mehr auftreten.

Das kannst du aber sehr leicht mit der Packet Capture Funktion in der pfSense (unter Diagnostic Menü) überprüfen indem du dort einfach mal am WAN Port prüfst ob dort IKE Pakete (UDP 500) eingehen wenn du mit einem Client einen Zugriff machst.

Da kommt leider nix bei rum. face-sad
Ich habe nun mal das Testnotebook ins WLAN an der Fritz!Box gepackt und mal nen Ping zur pfsense abgesetzt, da kommt keine Antwort - logisch, wird geblockt.
Also mal für die IP des Notebooks eine Freigabe für alle Protokolle erstellt, Ping geht.
VPN-Verbindung von öffentlicher Domain auf lokale IP der pfsense am WAN - Port umgestellt, Fehlermeldung bleibt.

Laut Ereignislog:
- RasClient
- ID 20227
- Ursachencode: 1222

Der Verbindungsaufbau läuft laut Log mit:
CoID={4F3C0557-1D27-0001-B99A-3C4F271DD801}: Der Benutzer "NB-EDV00\towa" hat eine VPN-Verbindung mit einem per-user-Verbindungsprofil mit dem Namen "pfSense-Home" angewählt. Die Verbindungseinstellungen lauten:
Dial-in User =
VpnStrategy = IKEv2
DataEncryption = Requested
PrerequisiteEntry =
AutoLogon = No
UseRasCredentials = Yes
Authentication Type = EAP <Microsoft: Gesichertes Kennwort (EAP-MSCHAP v2)>
Ipv4DefaultGateway = Yes
Ipv4AddressAssignment = By Server
Ipv4DNSServerAssignment = By Server
Ipv6DefaultGateway = Yes
Ipv6AddressAssignment = By Server
Ipv6DNSServerAssignment = By Server
IpDnsFlags =
IpNBTEnabled = Yes
UseFlags = Private Connection
ConnectOnWinlogon = No
Mobility enabled for IKEv2 = Yes.

Der Benutzer und das Kennwort werden abgefragt, aber danach stirbt er. face-smile

Habe mal ein paar Bilder der Konfiguration erstellt, vielleicht fällt ja auf, was ich ggf. übersehen habe - ich seh leider den Wald vor lauter Bäumen nicht.

Wurde hier weiter bearbeitet und gelöst: klick
tunnel
overview
zertifikat_san
mobile_clients
ipsec
aqui
aqui 09.02.2022 aktualisiert um 09:52:46 Uhr
Goto Top
Hier mal ein Live Test mit einem Windows 10 Client (21H2) und installiertem Patch KB5010793 der von extern über eine FritzBox Kaskade auf die pfSense WAN IP 10.99.1.99 kommt.

back-to-topPaket Capture im Diagnostics Menü

(Es wird nur UDP 500 gefiltert für den Tunnelaufbau !)
cap1
cap2
Man sieht live unten schon die eingehenden UDP 500 (IKE) Pakete

back-to-topClient Connection Status in der Firewall

(Tunnel Verbindung steht !)
sec4
sec1
sec2

back-to-topDownload Capture File und Ansicht im Wireshark

Hier sieht man die eigehenden UDP 500 (IKE) Pakete. Da der Client hinter NAT steht negotiated er dann nach der Aushandlung der P1 Proposals automatisch UDP 4500 was man sich jetzt auch noch ansehen könnte über das Diagnostics Capture aber hier jetzt der Übersicht halber weggelassen wurde. Letztlich auch egal, denn hauptsächlich wichtig sind die UDP 500 Pakete das die von der davorliegenden FB geforwardet wurden.
cap3

Der Benutzer und das Kennwort werden abgefragt, aber danach stirbt er.
Ahaaa...sprich also das IPsec Forwarding von der FB klappt dann generell ?! Ansonsten würde es ja sonst gar nicht erst zur Passwort Abfrage am Client kommen. Ggf. vertippt beim User. Beachte auch das Groß- Kleinschrift hier zählt !
Wenn du den IPsec Client direkt an den WAN Port der pfSense bringst, also einfach mal direkt in das Koppelnetz der FritzBox hängst, ist das Verhalten dann gleich ?
Sollte eigentlich, denn das zeigt dann eher das du einen Fehler im IPsec FW Setup als solchem gemacht hast.
Hier wäre dann natürlich das IPsec Log der FW gefragt ?? Was ist da vermerkt warum der IPsec Zugriff scheitert ?! Das ist doch das Allererste was man kontrolliert ! 🧐
Bevor du den VPN Client Zugriff machst lösche das Log vorher über Status --> System Log --> Settings um nicht den ganzen vorherigen Logging Müll zu sehen. face-wink

Bitte dann ggf. einen neuen Thread aufmachen mit einem hiesigen Verweis um das Tutorial hier nicht weiter mit Troubleshooting aufzublähen !
kurbler
kurbler 18.02.2022 um 13:04:11 Uhr
Goto Top
Hallo,
hoff die Frage ist nicht zu dumm.
Ich habe einen Glasfaser Anschluss von der Deutschen Glasfaser und habe IPv4 mäßig Carrier Grade NAT.
Ich würde gerne über ipv6 einen IPSec Tunnel zu meiner OPNsense aufmachen und dann im Tunnel meine IPv4 Geräte in meinen LAN erreichen, ich weiß ich kann auch über IPv6 Geräte erreichen, was auch funktioniert ich habe aber noch eine Stromsteckerleiste die kann nur IPv4 und finde den Charme einer IPSec Verbindung ganz nice.
Geht sowas und wenn ja was müsste ich machen.
Ich habe an einen anderen Standort auch eine OPNsense die ipv4 und ipv6 angebunden ist, wo auch IPSec mit ipv4 wunderbar durch @aqui guter Anleitung und Hilfe einwandfrei funktioniert.
Ich habe an diesem Anschluß einfach mal im Phase1 Tunnel das Protokoll von ipv4 auf ipv6 umgestellt, hat aber nicht funktioniert, anscheinend ist es doch nicht so einfach.
vg & schönes Wochenende
aqui
aqui 18.02.2022, aktualisiert am 21.02.2022 um 17:33:06 Uhr
Goto Top
hoff die Frage ist nicht zu dumm.
Nope ! Dumme Fragen gibts ja nicht, nur dumme Antworten ! 😉

von der Deutschen Glasfaser und habe IPv4 mäßig Carrier Grade NAT.
Und vermutlich dann ein DS-Lite Anschluß weil die DG wohl keine v4 Adressen mehr hat ?? Das Übliche also bei DS-Lite Anschlüssen.
https://www.heise.de/ct/ausgabe/2013-6-Internet-Dienste-trotz-DS-Lite-nu ...

und dann im Tunnel meine IPv4 Geräte in meinen LAN erreichen
Dazu benötigst du aber ja zumindestens eine öffentliche IPv4 Adresse die du aber erstmal nicht hast.

Geht sowas und wenn ja was müsste ich machen.
Ja, aber für IPv4 dann nur mit einem sog. Jumphost oder einem kostenpflichtigen v4 Tunnelbroker. Siehe auch diese Threads:

IKEv2 VPN Server für Windows und Apple Clients mit Raspberry Pi
Zwei Mobilfunkrouter (TP-Link MR200) per VPN verbinden, ev. per externen VPN-Gateway (VPS-Server)
Feste IPs zuhause in pfsense via WireGuard Tunnel
Feste IPs zuhause in pfsense via GRE Tunnel

Die o.a. Anleitung funktioniert natürlich auch mit IPv6 problemlos aber dann auch nur mit reiner IPv6 Adressierung. Der v4 Tunnel innerhalb des v6 VPNs muss ja irgendwo terminieren wo eine öffentliche IPv4 für deine Clients erreichbar ist. Das ist so in deinem Setup ja nicht der Fall denn du hast ja keine öffentliche, von außen zugängliche v4 IP.

Das o.a. Beispiel mit FritzBox und Jumphost erklärt es hinreichend.
Ohne einen v4 Tunnelbroker (kostenpflichtig) oder einem vServer kommst du also v4 technisch nicht weiter.
kurbler
kurbler 21.02.2022 aktualisiert um 10:31:00 Uhr
Goto Top
Servus Aqui,

Danke für Deine Antworten und die Links, bin leider nicht dazu gekommen vorher zu Antworten.
Hab mir die Links kurz angeschaut ich glaube ich hab mich dumm ausgedrückt.

Ich meine ich mache z.B von einen anderen Standort der auch ipv6 fähig ist eine ipv6 IPSec Verbindung zu meiner OPNsense daheim auf und in diesem Tunnel würde ich gerne ipv4 Geräte die in meinen Heimnetz sind erreichen.
Geht sowas überhaupt das man ipv4 Verkehr in einen ipv6 Tunnel überträgt.
Streng genommen muss ja dann der Client der den ipv6 Tunnel aufbaut dann eine ipv4 Adresse von der OPNsense bekommen und es müsste die Netze die an der OPNsense sind an den Client announced werden damit der Traffic dann in den Tunnel reingeroutet wird.
sag schon mal vielen Dank für die Bemühungen
schöne Wochenstart
aqui
aqui 21.02.2022, aktualisiert am 22.02.2022 um 10:09:18 Uhr
Goto Top
Geht sowas überhaupt das man ipv4 Verkehr in einen ipv6 Tunnel überträgt.
Ja, natürlich, das geht problemlos. Du machst dort dann einen GRE Tunnel oder IP in IP Tunnel über das v6 und routest dann ganz normal dein IPv4 dadrüber.

Hier siehst du mal die Grundlagen dazu mit umgekehrtemn Tunnel (v6 in v4)
IPv6 über Cisco IPv4 IPsec Tunnel

Bei der pfSense bzw. OPNsense ist es das VTI Interface.
https://docs.netgate.com/pfsense/en/latest/vpn/ipsec/routed-vti.html
Cisco, Mikrotik, pfSense VPN Standort Vernetzung mit dynamischem Routing

Das ist aber ein separates Thema was eigentlich an einem Client VPN thematisch vorbeigeht. Um das Tutorial hier nicht mit fremden Themen aufzublähen solltest du einen neuen Thread eröffnen mit einem entspr. Verweis hier.
kurbler
kurbler 21.02.2022 um 11:32:04 Uhr
Goto Top
SUPER VIELEN LIEBEN DANK!!!!!

dann Probier ich mal mein Glück, und ich wenn was wäre mache in einen anderen Thread oder einen neuen auf.
Otako77
Otako77 07.04.2022 aktualisiert um 23:28:31 Uhr
Goto Top
Zitat von @kurbler:

update:
das ändern in der Section VPN => Mobile Clients den Parameter Phase 2 PFS Group auf "off" hat nicht nur gebracht das die Verbindung unter Mac OS nach 8 Minuten nicht mehr unterbrochen wurde, es hat auch das Problem unter Windows 10 behoben das kein Verkehr mehr durch den Tunnel geschickt worden ist. Ich hab auf der opnsense einen tcpdump auf enc0 mitlaufen lassen und da hat der Verkehr nach ca 220MBytes aufgehört, das ist jetzt auch behoben. DANKE

@kurbler
Vielen vielen herzlichen Dank. Endlich ist das Problem behoben worden. Der Tunnel läuft nun seit 1,5 Stunden stabil. Das gab es noch nie.
Ich möchte mich auch bei @aqui herzlich bedanken. Wie nutzen diese Anleitung seit etwa 2 Jahren. Ich habe mich nur angemeldet um Hallo zu sagen face-wink
aqui
aqui 08.04.2022 um 11:40:31 Uhr
Goto Top
Danke für dein Feedback (hilft immer) und die 💐
Weiter viel Erfolg mit deinem VPN ! 🙂
sunny1081
sunny1081 18.05.2022 um 17:30:28 Uhr
Goto Top
Zitat von @aqui:

Geht sowas überhaupt das man ipv4 Verkehr in einen ipv6 Tunnel überträgt.
Ja, natürlich, das geht problemlos. Du machst dort dann einen GRE Tunnel oder IP in IP Tunnel über das v6 und routest dann ganz normal dein IPv4 dadrüber.

Hier siehst du mal die Grundlagen dazu mit umgekehrtemn Tunnel (v6 in v4)
IPv6 über Cisco IPv4 IPsec Tunnel

Bei der pfSense bzw. OPNsense ist es das VTI Interface.
https://docs.netgate.com/pfsense/en/latest/vpn/ipsec/routed-vti.html
Cisco, Mikrotik, pfSense VPN Standort Vernetzung mit dynamischem Routing

Das ist aber ein separates Thema was eigentlich an einem Client VPN thematisch vorbeigeht. Um das Tutorial hier nicht mit fremden Themen aufzublähen solltest du einen neuen Thread eröffnen mit einem entspr. Verweis hier.
Erstmal Danke für die super Anleitung das grundsätzliche Setup hat damit gut funktioniert.

Bin in der gleichen Situation wir Kurbler, DG und nur noch über IPv6 erreichbar, mir geht es allerdings nicht darum Standorte zu vernetzen sondern über meine Android Geräte auf das Heimnetz IPv4 zuzugreifen. Bin da mit VTI nicht weitergekommen hier werden wohl Mobile Clients nicht unterstützt.

Grundsätzlich funktioniert die VPN Verbindung, wenn ich IPv4(Netzintern) nutze kann ich meine Heimgeräte erreichen. Wenn ich aber die IPv6 Adresse nutze wir die Verbindung aufgebaut ich kann aber keine Adressen erreichen. Als Client nutze ich StrongSwan, der native Android12 Client mag wohl keine v6 Ziele:

ipv6 vpn

Muss hier noch etwas besonderes konfiguriert werden?


Über OpenVPN geht es sofort, würde aber gerne IPsec nutzen das scheint auf dem Handy Ressourcen schonender implementiert zu sein.

Danke für evtl. Tipps und Gruß
aqui
aqui 19.05.2022 aktualisiert um 22:14:47 Uhr
Goto Top
Du hast dann sehr wahrscheinlich einen DS-Lite Anschluss, richtig ? Damit ist der VPN Zugang generell nur per v6 möglich weil du das Provider interne CG-NAT Gateway für IPv4 nicht überwinden kannst.
v4 Zugang ist dann nur mit einem Jumphost (vServer, weiterer Familienanschluß mit v4, etc.) lösbar. Siehe dazu auch hier:
Feste IPs zuhause in pfsense via GRE Tunnel
Feste IPs zuhause in pfsense via WireGuard Tunnel
Zwei Mobilfunkrouter (TP-Link MR200) per VPN verbinden, ev. per externen VPN-Gateway (VPS-Server)
IKEv2 VPN Server für Windows und Apple Clients mit Raspberry Pi
Wie Portforwarding über 2 miteinander verbundenen pfSense realisieren
(Links stehen auch in den "Weiterführenden Links")
Das wäre aber ein Thema für einen neuen Thread ! face-wink
sunny1081
sunny1081 19.05.2022 aktualisiert um 11:54:46 Uhr
Goto Top
Danke für die Rückmeldung, es geht mir nicht um den Zugriff über V4. Beide Endpunkte (Android 12, PFsense) unterstützen V6 und die Verbindung wird auch aufgebaut. Über diesen V6 Tunnel möchte ich dann V4 Traffic leiten. Der Screenshot oben zeigt die Aufgebaute Verbindung Tunnel endpoints V6, SRC / DST V4. Nur gehen keinen Daten über die Verbindung.

Als Referenz mit OpenVPN funktioniert es in dem Scenario, mir ist halt nicht klar was ich für IPSec ergänzen müsste..
aqui
aqui 19.05.2022 aktualisiert um 12:43:31 Uhr
Goto Top
OK, sorry, das hatte ich falsch verstanden. Gut, dann kommst du bei IPsec aber um die Verwendung von VTI oder GRE Tunneln nicht drumrum.
Hast du die Hinweise im hiesigen Tutorial dazu gelesen und umgesetzt ?
Das dynamische Routing mit RIPv2 oder OSPF kannst du dir wegdenken.
sunny1081
sunny1081 19.05.2022 um 21:14:02 Uhr
Goto Top
Ich habe es zumindest Versucht. Die alte MobileClient config lies sich nicht umbiegen. Ohne MobileClient ging dann nur Mutual Certificate, was auch nicht gleich wollte, Strongswan nimmt nur den P12 export des Zertifikates. Wie auch immer die Autorisierung funktioniert jetzt, hänge jetzt aber daran das wohl keine IP Adressen zugewiesen werden


May 19 20:49:56	charon	42461	11[IKE] <con1|10> peer requested virtual IP %any
May 19 20:49:56	charon	42461	11[IKE] <con1|10> no virtual IP found for %any requested by 'VTI'  
May 19 20:49:56	charon	42461	11[IKE] <con1|10> peer requested virtual IP %any6
May 19 20:49:56	charon	42461	11[IKE] <con1|10> no virtual IP found for %any6 requested by 'VTI'  
May 19 20:49:56	charon	42461	11[IKE] <con1|10> no virtual IP found, sending INTERNAL_ADDRESS_FAILURE

Unter Client Configuration (mode-cfg) sind virtuelle Adresspools konfiguriert.
Virtual Address PoolProvide a virtual IP address to clients
192.168.2.0 / 24

Virtual IPv6 Address PoolProvide a virtual IPv6 address to clients
2001::00 /120

Gibt es noch eine andere Stelle wo ich die Adressen konfigurieren muss?
aqui
aqui 19.05.2022 um 22:14:04 Uhr
Goto Top
Bitte eröffne einen neuen Thread zu dem Thema mit einem hiesigen Verweis auf den Link um das Tutorial hier nicht unnötig mit einem Troubleshooting Thema aufzublähen!
HanDoku
HanDoku 23.06.2022 um 09:46:55 Uhr
Goto Top
Zitat von @aqui:
Den Clients wird ja eine IP aus einem ansonsten ungenutzten IP Netzwerk zugewiesen, bspw. die 10.10.10.1
Das ist richtig ! Das ist quasi das VPN IP Segment. Das kannst du dir so vorstellen als ob das ein weiteres, separates IP Netzwerk ist was noch an der Firewall klemmt und über sie geroutet wird. Genauso wie mit einem Kabel nur das es eben VPN ist. Clients im VPN Netz haben dann also immer eine 10.10.10.0er Absender IP.

Frage: Wie muss die pfSense konfiguriert werden, dass der VPN-Client 10.10.10.1 mit dem VPN-Client 10.10.10.2 kommunizieren kann?
aqui
aqui 23.06.2022 um 10:23:27 Uhr
Goto Top
Das ist per Default möglich, denn jeder Client hat ja eine individuell ansprechbare VPN IP Adresse. Bei Clients mit lokaler Firewall wie z.B. bei Windows ist dann entscheidend welches Profil die Firewall für den VPN Tunneladapter gesetzt hat. Ist es Public (Öffentlich) gesetzt dann verhindert die Firewall jeglichen eingehenden Zugang auf dem VPN Interface.
Bei Windows z.B. ist das fast immer so, weil durch das fehlende Default Gateway am Tunneladapter die automatische Netzwerk Detection fehlschlägt und Windows den Adapter dann immer mit einem Public Profil versieht und alle Verbindungsversuche damit unterbindet. Das muss man dann in der Firewall entsprechend customizen.
smith67
smith67 13.08.2022 um 14:28:03 Uhr
Goto Top
Hallo aqui
Ich habe auf meiner Pfsense (netgate sg 1100) und Routerkaskade FB den IKEV2 VPN gemäss Deiner Anleitung mit dem Win 10 VPN Client konfiguriert und kann mich mit dem VPN auf die pfsense verbinden. Funktioniert alles prima. Aber der Zugriff auf mein Synology NAS welches sich hinter der pfsense befindet funktioniert nicht richtig. Ich erreiche das MAS mit dem Ping. Aber der Zugriff via dem File Explorer von Win 10 ist so so langsam. Ich habe schon alles versucht habe aber keine Ahnung voran das liegt. Kannst Du mit einen Tipp geben?
aqui
aqui 14.08.2022 aktualisiert um 19:27:15 Uhr
Goto Top
Das liegt vermutlich an der falschen oder fehlerhaften MTU Einstellung am NIC des NAS. Setze diese testweise mal auf 1352. Das sollte vermutlich das Problem lösen.
Ansonsten einen separaten Thread zum Troubleshooting eröffnen mit hiesigem Verweis um das Tutorial nicht zu überfrachten.
smith67
smith67 20.08.2022 um 09:49:43 Uhr
Goto Top
Hallo aqui
Vielen Dank für Deine Antwort. Hat leider funktioniert. Werde einen Thread eröffnen.
aqui
aqui 20.08.2022 um 16:21:00 Uhr
Goto Top
Hat leider funktioniert.
Warum dann einen zusätzlichen Thread? 🤔
smith67
smith67 20.08.2022 um 17:30:30 Uhr
Goto Top
Sorry hat leider nicht funktioniert. Bin daran eine umfangreiche Problembeschreibung zu erstellen
smith67
smith67 20.08.2022 um 17:35:45 Uhr
Goto Top
Du hörst bald von mir
smith67
smith67 21.08.2022 um 00:15:49 Uhr
Goto Top
Hallo aqui
Bin erst jetzt jetzt dazugekommen, den Thread mit der Problembeschreibung fertigzustellen.
aqui
aqui 21.08.2022 um 12:38:28 Uhr
Goto Top
Hilfreich wäre hier gewesen dann auch auf deinen Thread zu verweisen. face-sad
Zugriff auf Synology NAS via VPN mit File-Explorer nicht möglich
Scooopy
Scooopy 22.08.2022 um 00:34:19 Uhr
Goto Top
Hallo aqui,

erstmal vielen Dank für Ihre gute Anleitung.
Ich muss den Kommentar von PRO4NETWORK nochmal aufgreifen.. leider bekomme ich auch diese Fehlermeldung beim Aufbauen einer VPN-Verbindung:

"Die Netzwerkverbindung zwischen Ihrem Computer und dem VPN Server konnte nicht hergestellt werden, da der Remoteserver nicht antwortet.
Das Verbindungsproblem wird möglicherweise verursacht, weil eins der Netzwerkgeräte (zum Beispiel Firewall, NAT, Router usw.) zwischen Ihrem Computer und dem Remoteserver nicht für das Zulassen von VPN-Verbindungen konfiguriert ist."

Haben Sie da eine Lösung dafür..
Würde mich über Tipp freuen face-smile

Anbei die IPSec LOG-Daten der PFSense

Vielen Dank und viele Grüße


Aug 17 11:51:18 charon 59199 00[DMN] Starting IKE charon daemon (strongSwan 5.9.4, FreeBSD 12.3-STABLE, amd64)
Aug 17 11:51:18 charon 59199 00[CFG] PKCS11 module '<name>' lacks library path
Aug 17 11:51:18 charon 59199 00[CFG] loaded attribute INTERNAL_IP4_SUBNET: 00:00:00:00:00:00:00:00
Aug 17 11:51:18 charon 59199 00[CFG] loaded attribute UNITY_SPLIT_INCLUDE: 00:00:00:00:00:00:00:00
Aug 17 11:51:18 charon 59199 00[KNL] unable to set UDP_ENCAP: Invalid argument
Aug 17 11:51:18 charon 59199 00[NET] enabling UDP decapsulation for IPv6 on port 4500 failed
Aug 17 11:51:18 charon 59199 00[CFG] loading unbound resolver config from '/etc/resolv.conf'
Aug 17 11:51:18 charon 59199 00[CFG] loading unbound trust anchors from '/usr/local/etc/ipsec.d/dnssec.keys'
Aug 17 11:51:18 charon 59199 00[CFG] ipseckey plugin is disabled
Aug 17 11:51:18 charon 59199 00[CFG] loading ca certificates from '/usr/local/etc/ipsec.d/cacerts'
Aug 17 11:51:18 charon 59199 00[CFG] loading aa certificates from '/usr/local/etc/ipsec.d/aacerts'
Aug 17 11:51:18 charon 59199 00[CFG] loading ocsp signer certificates from '/usr/local/etc/ipsec.d/ocspcerts'
Aug 17 11:51:18 charon 59199 00[CFG] loading attribute certificates from '/usr/local/etc/ipsec.d/acerts'
Aug 17 11:51:18 charon 59199 00[CFG] loading crls from '/usr/local/etc/ipsec.d/crls'
Aug 17 11:51:18 charon 59199 00[CFG] loading secrets from '/usr/local/etc/ipsec.secrets'
Aug 17 11:51:18 charon 59199 00[CFG] opening triplet file /usr/local/etc/ipsec.d/triplets.dat failed: No such file or directory
Aug 17 11:51:18 charon 59199 00[CFG] loaded 0 RADIUS server configurations
Aug 17 11:51:18 charon 59199 00[LIB] loaded plugins: charon unbound pkcs11 aes des blowfish rc2 sha2 sha1 md4 md5 random nonce x509 revocation constraints pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey sshkey ipseckey pem openssl fips-prf curve25519 xcbc cmac hmac drbg curl attr kernel-pfkey kernel-pfroute resolve socket-default stroke vici updown eap-identity eap-sim eap-md5 eap-mschapv2 eap-dynamic eap-radius eap-tls eap-ttls eap-peap xauth-generic xauth-eap xauth-pam whitelist addrblock counters
Aug 17 11:51:18 charon 59199 00[JOB] spawning 16 worker threads
Aug 17 11:51:19 charon 59199 16[CFG] vici client 1 connected
Aug 17 11:51:19 charon 59199 05[CFG] vici client 1 requests: get-keys
Aug 17 11:51:19 charon 59199 15[CFG] vici client 1 requests: get-shared
Aug 17 11:51:19 charon 59199 15[CFG] vici client 1 requests: load-cert
Aug 17 11:51:19 charon 59199 15[CFG] loaded certificate 'CN=pfsense.xx'
Aug 17 11:51:19 charon 59199 15[CFG] vici client 1 requests: load-cert
Aug 17 11:51:19 charon 59199 15[CFG] loaded certificate 'CN=pfsense-xx-CA'
Aug 17 11:51:19 charon 59199 15[CFG] vici client 1 requests: load-key
Aug 17 11:51:19 charon 59199 15[CFG] loaded ANY private key
Aug 17 11:51:19 charon 59199 15[CFG] vici client 1 requests: load-shared
Aug 17 11:51:19 charon 59199 15[CFG] loaded EAP shared key with id 'eap-1' for: 'xxxx'
Aug 17 11:51:19 charon 59199 14[CFG] vici client 1 requests: load-shared
Aug 17 11:51:19 charon 59199 14[CFG] loaded EAP shared key with id 'eap-2' for: 'xxxx'
Aug 17 11:51:19 charon 59199 14[CFG] vici client 1 requests: load-shared
Aug 17 11:51:19 charon 59199 14[CFG] loaded EAP shared key with id 'eap-3' for: 'xxxx'
Aug 17 11:51:19 charon 59199 14[CFG] vici client 1 requests: load-shared
Aug 17 11:51:19 charon 59199 14[CFG] loaded EAP shared key with id 'eap-4' for: 'xxxx'
Aug 17 11:51:19 charon 59199 14[CFG] vici client 1 requests: get-authorities
Aug 17 11:51:19 charon 59199 13[CFG] vici client 1 requests: get-pools
Aug 17 11:51:19 charon 59199 13[CFG] vici client 1 requests: get-conns
Aug 17 11:51:19 charon 59199 13[CFG] vici client 1 requests: load-conn
Aug 17 11:51:19 charon 59199 13[CFG] conn bypass:
Aug 17 11:51:19 charon 59199 13[CFG] child bypasslan:
Aug 17 11:51:19 charon 59199 13[CFG] rekey_time = 3600
Aug 17 11:51:19 charon 59199 13[CFG] life_time = 3960
Aug 17 11:51:19 charon 59199 13[CFG] rand_time = 360
Aug 17 11:51:19 charon 59199 13[CFG] rekey_bytes = 0
Aug 17 11:51:19 charon 59199 13[CFG] life_bytes = 0
Aug 17 11:51:19 charon 59199 13[CFG] rand_bytes = 0
Aug 17 11:51:19 charon 59199 13[CFG] rekey_packets = 0
Aug 17 11:51:19 charon 59199 13[CFG] life_packets = 0
Aug 17 11:51:19 charon 59199 13[CFG] rand_packets = 0
Aug 17 11:51:19 charon 59199 13[CFG] updown = (null)
Aug 17 11:51:19 charon 59199 13[CFG] hostaccess = 0
Aug 17 11:51:19 charon 59199 13[CFG] ipcomp = 0
Aug 17 11:51:19 charon 59199 13[CFG] mode = PASS
Aug 17 11:51:19 charon 59199 13[CFG] policies = 1
Aug 17 11:51:19 charon 59199 13[CFG] policies_fwd_out = 0
Aug 17 11:51:19 charon 59199 13[CFG] dpd_action = clear
Aug 17 11:51:19 charon 59199 13[CFG] start_action = hold
Aug 17 11:51:19 charon 59199 13[CFG] close_action = clear
Aug 17 11:51:19 charon 59199 13[CFG] reqid = 0
Aug 17 11:51:19 charon 59199 13[CFG] tfc = 0
Aug 17 11:51:19 charon 59199 13[CFG] priority = 0
Aug 17 11:51:19 charon 59199 13[CFG] interface = (null)
Aug 17 11:51:19 charon 59199 13[CFG] if_id_in = 0
Aug 17 11:51:19 charon 59199 13[CFG] if_id_out = 0
Aug 17 11:51:19 charon 59199 13[CFG] mark_in = 0/0
Aug 17 11:51:19 charon 59199 13[CFG] mark_in_sa = 0
Aug 17 11:51:19 charon 59199 13[CFG] mark_out = 0/0
Aug 17 11:51:19 charon 59199 13[CFG] set_mark_in = 0/0
Aug 17 11:51:19 charon 59199 13[CFG] set_mark_out = 0/0
Aug 17 11:51:19 charon 59199 13[CFG] inactivity = 0
Aug 17 11:51:19 charon 59199 13[CFG] proposals = ESP:AES_GCM_16_128/AES_GCM_16_192/AES_GCM_16_256, ESP:AES_CBC_128/AES_CBC_192/AES_CBC_256/HMAC_SHA2_256_128/HMAC_SHA2_384_192/HMAC_SHA2_512_256/HMAC_SHA1_96/AES_XCBC_96/NO_EXT_SEQ
Aug 17 11:51:19 charon 59199 13[CFG] local_ts = 192.168.xx.xx/24|/0
Aug 17 11:51:19 charon 59199 13[CFG] remote_ts = 192.168.xx.xx/24|/0
Aug 17 11:51:19 charon 59199 13[CFG] hw_offload = no
Aug 17 11:51:19 charon 59199 13[CFG] sha256_96 = 0
Aug 17 11:51:19 charon 59199 13[CFG] copy_df = 1
Aug 17 11:51:19 charon 59199 13[CFG] copy_ecn = 1
Aug 17 11:51:19 charon 59199 13[CFG] copy_dscp = out
Aug 17 11:51:19 charon 59199 13[CFG] version = 0
Aug 17 11:51:19 charon 59199 13[CFG] local_addrs = %any
Aug 17 11:51:19 charon 59199 13[CFG] remote_addrs = 127.0.0.1
Aug 17 11:51:19 charon 59199 13[CFG] local_port = 500
Aug 17 11:51:19 charon 59199 13[CFG] remote_port = 500
Aug 17 11:51:19 charon 59199 13[CFG] send_certreq = 1
Aug 17 11:51:19 charon 59199 13[CFG] send_cert = CERT_SEND_IF_ASKED
Aug 17 11:51:19 charon 59199 13[CFG] ppk_id = (null)
Aug 17 11:51:19 charon 59199 13[CFG] ppk_required = 0
Aug 17 11:51:19 charon 59199 13[CFG] mobike = 1
Aug 17 11:51:19 charon 59199 13[CFG] aggressive = 0
Aug 17 11:51:19 charon 59199 13[CFG] dscp = 0x00
Aug 17 11:51:19 charon 59199 13[CFG] encap = 0
Aug 17 11:51:19 charon 59199 13[CFG] dpd_delay = 0
Aug 17 11:51:19 charon 59199 13[CFG] dpd_timeout = 0
Aug 17 11:51:19 charon 59199 13[CFG] fragmentation = 2
Aug 17 11:51:19 charon 59199 13[CFG] childless = 0
Aug 17 11:51:19 charon 59199 13[CFG] unique = UNIQUE_NO
Aug 17 11:51:19 charon 59199 13[CFG] keyingtries = 1
Aug 17 11:51:19 charon 59199 13[CFG] reauth_time = 0
Aug 17 11:51:19 charon 59199 13[CFG] rekey_time = 14400
Aug 17 11:51:19 charon 59199 13[CFG] over_time = 1440
Aug 17 11:51:19 charon 59199 13[CFG] rand_time = 1440
Aug 17 11:51:19 charon 59199 13[CFG] proposals = IKE:AES_CBC_128/AES_CBC_192/AES_CBC_256/CAMELLIA_CBC_128/CAMELLIA_CBC_192/CAMELLIA_CBC_256/3DES_CBC/HMAC_SHA2_256_128/HMAC_SHA2_384_192/HMAC_SHA2_512_256/HMAC_SHA1_96/AES_XCBC_96/AES_CMAC_96/PRF_HMAC_SHA2_256/PRF_HMAC_SHA2_384/PRF_HMAC_SHA2_512/PRF_AES128_XCBC/PRF_AES128_CMAC/PRF_HMAC_SHA1/ECP_256/ECP_384/ECP_521/ECP_256_BP/ECP_384_BP/ECP_512_BP/CURVE_25519/CURVE_448/MODP_3072/MODP_4096/MODP_6144/MODP_8192/MODP_2048, IKE:AES_GCM_16_128/AES_GCM_16_192/AES_GCM_16_256/AES_CCM_16_128/AES_CCM_16_192/AES_CCM_16_256/CHACHA20_POLY1305/AES_GCM_12_128/AES_GCM_12_192/AES_GCM_12_256/AES_GCM_8_128/AES_GCM_8_192/AES_GCM_8_256/AES_CCM_12_128/AES_CCM_12_192/AES_CCM_12_256/AES_CCM_8_128/AES_CCM_8_192/AES_CCM_8_256/PRF_HMAC_SHA2_256/PRF_HMAC_SHA2_384/PRF_HMAC_SHA2_512/PRF_AES128_XCBC/PRF_AES128_CMAC/PRF_HMAC_SHA1/ECP_256/ECP_384/ECP_521/ECP_256_BP/ECP_384_BP/ECP_512_BP/CURVE_25519/CURVE_448/MODP_3072/MODP_4096/MODP_6144/MODP_8192/MODP_2048
Aug 17 11:51:19 charon 59199 13[CFG] if_id_in = 0
Aug 17 11:51:19 charon 59199 13[CFG] if_id_out = 0
Aug 17 11:51:19 charon 59199 13[CFG] local:
Aug 17 11:51:19 charon 59199 13[CFG] remote:
Aug 17 11:51:19 charon 59199 13[CFG] added vici connection: bypass
Aug 17 11:51:19 charon 59199 13[CFG] installing 'bypasslan'
Aug 17 11:51:19 charon 59199 12[CFG] vici client 1 requests: load-conn
Aug 17 11:51:19 charon 59199 12[CFG] conn con-mobile:
Aug 17 11:51:19 charon 59199 12[CFG] child con-mobile:
Aug 17 11:51:19 charon 59199 12[CFG] rekey_time = 3240
Aug 17 11:51:19 charon 59199 12[CFG] life_time = 3600
Aug 17 11:51:19 charon 59199 12[CFG] rand_time = 360
Aug 17 11:51:19 charon 59199 12[CFG] rekey_bytes = 0
Aug 17 11:51:19 charon 59199 12[CFG] life_bytes = 0
Aug 17 11:51:19 charon 59199 12[CFG] rand_bytes = 0
Aug 17 11:51:19 charon 59199 12[CFG] rekey_packets = 0
Aug 17 11:51:19 charon 59199 12[CFG] life_packets = 0
Aug 17 11:51:19 charon 59199 12[CFG] rand_packets = 0
Aug 17 11:51:19 charon 59199 12[CFG] updown = (null)
Aug 17 11:51:19 charon 59199 12[CFG] hostaccess = 0
Aug 17 11:51:19 charon 59199 12[CFG] ipcomp = 0
Aug 17 11:51:19 charon 59199 12[CFG] mode = TUNNEL
Aug 17 11:51:19 charon 59199 12[CFG] policies = 1
Aug 17 11:51:19 charon 59199 12[CFG] policies_fwd_out = 0
Aug 17 11:51:19 charon 59199 12[CFG] dpd_action = clear
Aug 17 11:51:19 charon 59199 12[CFG] start_action = clear
Aug 17 11:51:19 charon 59199 12[CFG] close_action = clear
Aug 17 11:51:19 charon 59199 12[CFG] reqid = 0
Aug 17 11:51:19 charon 59199 12[CFG] tfc = 0
Aug 17 11:51:19 charon 59199 12[CFG] priority = 0
Aug 17 11:51:19 charon 59199 12[CFG] interface = (null)
Aug 17 11:51:19 charon 59199 12[CFG] if_id_in = 0
Aug 17 11:51:19 charon 59199 12[CFG] if_id_out = 0
Aug 17 11:51:19 charon 59199 12[CFG] mark_in = 0/0
Aug 17 11:51:19 charon 59199 12[CFG] mark_in_sa = 0
Aug 17 11:51:19 charon 59199 12[CFG] mark_out = 0/0
Aug 17 11:51:19 charon 59199 12[CFG] set_mark_in = 0/0
Aug 17 11:51:19 charon 59199 12[CFG] set_mark_out = 0/0
Aug 17 11:51:19 charon 59199 12[CFG] inactivity = 0
Aug 17 11:51:19 charon 59199 12[CFG] proposals = ESP:AES_GCM_16_256/NO_EXT_SEQ, ESP:AES_GCM_12_256/NO_EXT_SEQ, ESP:AES_GCM_8_256/NO_EXT_SEQ, ESP:AES_CBC_256/HMAC_SHA2_256_128/NO_EXT_SEQ, ESP:AES_CBC_256/HMAC_SHA2_384_192/NO_EXT_SEQ, ESP:AES_CBC_256/HMAC_SHA2_512_256/NO_EXT_SEQ
Aug 17 11:51:19 charon 59199 12[CFG] local_ts = 0.0.0.0/0|/0
Aug 17 11:51:19 charon 59199 12[CFG] remote_ts = dynamic
Aug 17 11:51:19 charon 59199 12[CFG] hw_offload = no
Aug 17 11:51:19 charon 59199 12[CFG] sha256_96 = 0
Aug 17 11:51:19 charon 59199 12[CFG] copy_df = 1
Aug 17 11:51:19 charon 59199 12[CFG] copy_ecn = 1
Aug 17 11:51:19 charon 59199 12[CFG] copy_dscp = out
Aug 17 11:51:19 charon 59199 12[CFG] version = 2
Aug 17 11:51:19 charon 59199 12[CFG] local_addrs = 192.168.xx.xx
Aug 17 11:51:19 charon 59199 12[CFG] remote_addrs = 0.0.0.0/0, ::/0
Aug 17 11:51:19 charon 59199 12[CFG] local_port = 500
Aug 17 11:51:19 charon 59199 12[CFG] remote_port = 500
Aug 17 11:51:19 charon 59199 12[CFG] send_certreq = 1
Aug 17 11:51:19 charon 59199 12[CFG] send_cert = CERT_ALWAYS_SEND
Aug 17 11:51:19 charon 59199 12[CFG] ppk_id = (null)
Aug 17 11:51:19 charon 59199 12[CFG] ppk_required = 0
Aug 17 11:51:19 charon 59199 12[CFG] mobike = 1
Aug 17 11:51:19 charon 59199 12[CFG] aggressive = 0
Aug 17 11:51:19 charon 59199 12[CFG] dscp = 0x00
Aug 17 11:51:19 charon 59199 12[CFG] encap = 0
Aug 17 11:51:19 charon 59199 12[CFG] dpd_delay = 35
Aug 17 11:51:19 charon 59199 12[CFG] dpd_timeout = 0
Aug 17 11:51:19 charon 59199 12[CFG] fragmentation = 2
Aug 17 11:51:19 charon 59199 12[CFG] childless = 0
Aug 17 11:51:19 charon 59199 12[CFG] unique = UNIQUE_REPLACE
Aug 17 11:51:19 charon 59199 12[CFG] keyingtries = 1
Aug 17 11:51:19 charon 59199 12[CFG] reauth_time = 0
Aug 17 11:51:19 charon 59199 12[CFG] rekey_time = 25920
Aug 17 11:51:19 charon 59199 12[CFG] over_time = 2880
Aug 17 11:51:19 charon 59199 12[CFG] rand_time = 2880
Aug 17 11:51:19 charon 59199 12[CFG] proposals = IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
Aug 17 11:51:19 charon 59199 12[CFG] if_id_in = 0
Aug 17 11:51:19 charon 59199 12[CFG] if_id_out = 0
Aug 17 11:51:19 charon 59199 12[CFG] local:
Aug 17 11:51:19 charon 59199 12[CFG] class = public key
Aug 17 11:51:19 charon 59199 12[CFG] id = pfsense.xx
Aug 17 11:51:19 charon 59199 12[CFG] cert = CN=pfsense.xx
Aug 17 11:51:19 charon 59199 12[CFG] remote:
Aug 17 11:51:19 charon 59199 12[CFG] eap-type = EAP_MSCHAPV2
Aug 17 11:51:19 charon 59199 12[CFG] class = EAP
Aug 17 11:51:19 charon 59199 12[CFG] eap_id = %any
Aug 17 11:51:19 charon 59199 12[CFG] id = %any
Aug 17 11:51:19 charon 59199 12[CFG] added vici connection: con-mobile
Aug 17 11:51:19 charon 59199 14[CFG] vici client 1 disconnected
Aug 17 13:52:17 charon 59199 07[CFG] vici client 2 connected
Aug 17 13:52:17 charon 59199 05[CFG] vici client 2 requests: get-pools
Aug 17 13:52:17 charon 59199 07[CFG] vici client 2 disconnected
Aug 17 13:52:30 charon 59199 05[CFG] vici client 3 connected
Aug 17 13:52:30 charon 59199 07[CFG] vici client 3 registered for: list-sa
Aug 17 13:52:30 charon 59199 05[CFG] vici client 3 requests: list-sas
Aug 17 13:52:30 charon 59199 07[CFG] vici client 3 disconnected
Aug 17 13:52:30 charon 59199 07[CFG] vici client 4 connected
Aug 17 13:52:30 charon 59199 07[CFG] vici client 4 requests: get-pools
Aug 17 13:52:30 charon 59199 07[CFG] vici client 4 disconnected
Aug 17 13:53:10 charon 59199 16[CFG] vici client 5 connected
Aug 17 13:53:10 charon 59199 15[CFG] vici client 5 registered for: list-sa
Aug 17 13:53:10 charon 59199 15[CFG] vici client 5 requests: list-sas
Aug 17 13:53:10 charon 59199 13[CFG] vici client 5 disconnected
Aug 17 13:53:15 charon 59199 14[CFG] vici client 6 connected
Aug 17 13:53:15 charon 59199 15[CFG] vici client 6 registered for: list-sa
Aug 17 13:53:15 charon 59199 14[CFG] vici client 6 requests: list-sas
Aug 17 13:53:15 charon 59199 15[CFG] vici client 6 disconnected
Aug 17 13:53:20 charon 59199 12[CFG] vici client 7 connected
Aug 17 13:53:20 charon 59199 14[CFG] vici client 7 registered for: list-sa
Aug 17 13:53:20 charon 59199 14[CFG] vici client 7 requests: list-sas
Aug 17 13:53:20 charon 59199 11[CFG] vici client 7 disconnected
aqui
aqui 22.08.2022 aktualisiert um 11:31:47 Uhr
Goto Top
Die Firewall scheitert am NAT Traversal UDP 4500:
Aug 17 11:51:18 charon 59199 00[KNL] unable to set UDP_ENCAP: Invalid argument
Aug 17 11:51:18 charon 59199 00[NET] enabling UDP decapsulation for IPv6 on port 4500 failed

Da diese Fehlermeldung nur für IPv6 auftritt die Frage ob du die FW an einem Dualstack betreibst und sie ggf. fehlerhaft für IPv6 eingerichtet ist?!
Bedenke das IPv6 immer priorisiert ist vor IPv4 und das VPN scheitert wenn IPv6 falsch oder fehlerhaft konfiguriert ist. Ggf. solltest du also IPv6 global deaktivieren wenn du die FW nur im v4 Mode nutzt.
Ggf. zum Quercheck auch einmal die L2TP Variante probieren.

Ein kurzer Test mit einer aktuellen latest OPNsense und pfSense mit einem latest Windows 10 und Windows 11 Client verlief mit der o.a. Konfig fehlerlos!
Beachte bitte den VPN Client Bug in Windows und spiele unbedingt den Patch ein. Der Windows Client Fehler tritt bei L2TP und auch IKEv2 auf.

Und auch hier die abschliessende Bitte einen separaten Troubleshooting Thread mit hiesigem Verweis zu eröffnen um das Tutorial an dieser Stelle nicht weiter aufzublähen.