OPNsense - IPsec Road Warrior mit IKEv2
Auf einen Blick
| Gilt für | OPNsense 26.1 und 26.7 (VPN → IPsec → Connections, Pools), IKEv2, Clients unter Windows, macOS, iOS, Android und Linux |
|---|---|
| Bereich | IT-Security |
| Dauer | ca. 45 Minuten (Server mit EAP-MSCHAPv2), ca. 15 Minuten je Client-Plattform |
| Rechte | Administrator (OPNsense-WebUI), Zugriff auf den öffentlichen DNS |
| Stand | Oktober 2026 (OPNsense 26.7.5) |
IPsec Road Warrior auf OPNsense bindet Notebooks und Smartphones per IKEv2 an das Firmennetz an – ohne zusätzliche Software, denn Windows, macOS, iOS und Android bringen IKEv2-Clients bereits mit. Der Server authentisiert sich mit einem Zertifikat, die Benutzer per Benutzername und Passwort (EAP-MSCHAPv2), per RADIUS mit Anbindung an Active Directory (EAP-RADIUS) oder mit eigenem Client-Zertifikat (EAP-TLS). Die Adressen werden aus einem Pool vergeben, DNS-Server direkt mitgeliefert.
Dieser Artikel zeigt die Einrichtung mit der aktuellen Connections-Oberfläche (Stand OPNsense 26.7): Voraussetzungen, Server mit EAP-MSCHAPv2 (gemeinsamer Pool oder feste Adresse je Benutzer), Firewall, NAT und DNS, die Alternativen EAP-RADIUS und EAP-TLS sowie die Einrichtung der Clients und die Fehlersuche.
IPsec Road Warrior, OpenVPN oder WireGuard?
| Kriterium | IPsec IKEv2 | OpenVPN | WireGuard |
|---|---|---|---|
| Client-Software | in allen Betriebssystemen eingebaut | OpenVPN-Client nötig | WireGuard-App nötig |
| Benutzeranmeldung | EAP-MSCHAPv2 (lokal oder per RADIUS), Zertifikat; MFA nur eingeschränkt (Push) | LDAP, RADIUS, TOTP, Zertifikat | nur Schlüssel pro Gerät |
| Roaming (WLAN ↔ Mobilfunk) | sehr gut (MOBIKE) | Neuverbindung | sehr gut |
| Typischer Einsatz | verwaltete Geräte ohne Zusatzsoftware, Smartphones | Benutzer-VPN mit integrierter MFA | einfache, schnelle Geräte-VPNs |

Beispiel und Voraussetzungen
| Element | Wert |
|---|---|
| Öffentlicher Name | vpn1.example.com → WAN-Adresse 203.0.113.1
|
| LAN | 192.168.1.0/24 (Firewall 192.168.1.1)
|
| Pool für die Clients | 172.16.203.0/24
|
- DNS: A-Eintrag (und ggf. AAAA) für
vpn1.example.combeim DNS-Anbieter. - Zertifikate unter System → Trust: eine eigene CA (z. B. IPsec CA) und ein Server-Zertifikat für
vpn1.example.commit diesem Namen als Subject Alternative Name. Die CA muss später auf den Clients installiert werden. Alternativ ein öffentlich vertrauenswürdiges Zertifikat über den ACME-Client – dann entfällt in der Regel die Verteilung der CA. - Firewall-Regel auf dem WAN (Firewall → Rules): Pass, UDP, Quelle any, Ziel WAN-Adresse bzw. Alias für vpn1.example.com, Ports 500 und 4500. Da Road Warrior mit UDP-Kapselung arbeiten, ist keine Regel für ESP nötig.
Server mit EAP-MSCHAPv2
EAP-MSCHAPv2 ist die universellste Variante: Der Server weist sich per Zertifikat aus, die Benutzer per Benutzername und Passwort. Die OPNsense-Dokumentation beschreibt zwei Methoden – nur eine davon verwenden:
| Methode | Vorteil | Nachteil |
|---|---|---|
1: Gemeinsamer Pool (EAP Id %any) |
einfach, funktioniert mit praktisch allen Clients (auch dem Windows-Client) | alle Benutzer im selben Netz, keine individuellen Regeln |
| 2: Feste Adresse je Benutzer (eigene Connection und Pool je Benutzer) | individuelle Firewall-Regeln pro Benutzer | mehr Aufwand; der eingebaute Windows-Client erwartet %any und funktioniert damit nicht
|
Schritt 1: Pools
VPN → IPsec → Connections, Bereich Pools → +:
- Name: pool-roadwarrior-ipv4, Network:
172.16.203.0/24, DNS:192.168.1.1(Unbound auf der Firewall) - optional IPv6: pool-roadwarrior-ipv6 mit z. B.
2001:db8:1234:ec::/120(strongSwan-Pools höchstens/97)
Für Methode 2 stattdessen je Benutzer einen Pool mit einer Adresse (172.16.203.1/32, 172.16.203.2/32 …).
Schritt 2: Benutzer (EAP-Schlüssel)
VPN → IPsec → Pre-Shared Keys → + je Benutzer:
- Local Identifier: Benutzername, z. B.
mueller@vpn1.example.com - Remote Identifier:
vpn1.example.com(für den eingebauten Android-Client nötig; bei Problemen leer lassen) - Pre-Shared Key: das Passwort des Benutzers – lang und zufällig
- Type: EAP
Schritt 3: Connection
VPN → IPsec → Connections: unten Enable IPsec anhaken und anwenden, dann + (erweiterter Modus):
| Feld | Wert |
|---|---|
| Proposals | aes256-sha256-modp2048 (default entfernen) – auf die Clients abstimmen
|
| Version | IKEv2 |
| Local addresses | vpn1.example.com
|
| UDP encapsulation | aktiv |
| Rekey time | 2400; beim eingebauten Windows-Client 86400
|
| DPD delay | 30 |
| Pools | pool-roadwarrior-ipv4 (und -ipv6) |
| Send certificate | Always |
| Keyingtries | 0 |
Speichern, dann:
- Local Authentication: Authentication Public Key, Id
vpn1.example.com, Certificates = Server-Zertifikat - Remote Authentication: Authentication EAP-MSCHAPv2, EAP Id
%any(Methode 2: der jeweilige Benutzername) - Children → +: Start action None, ESP proposals
aes256-sha256-modp2048, Local = freigegebene Netze, Rekey time600(Windows-Client:0)
Split Tunnel oder Full Tunnel entscheidet das Feld Local im Child: 192.168.1.0/24 leitet nur das Firmennetz durch den Tunnel, 0.0.0.0/0 (und ::/0) den gesamten Verkehr. Ein Full Tunnel ist sicherer, weil kein Verkehr am Tunnel vorbei läuft – vor allem bei Dual-Stack-Netzen.
Firewall, NAT und DNS
Regeln auf der IPsec-Schnittstelle
Firewall → Rules, Interface IPsec (Reihenfolge beachten):
- ICMP von den Clients zur Firewall (Fehlersuche).
- Zugriff des Pools (Alias net_pool_roadwarrior) auf die benötigten Ziele, z. B. LAN net – bei Methode 2 je Benutzer-Alias eigene Regeln.
- Bei Full Tunnel Internetzugriff: Ziel = Alias mit den privaten Netzen, invertiert – nicht any, da any auch alle lokal angeschlossenen Netze umfasst.
Benutzerrechte begrenzen: Statt dem ganzen Pool das ganze LAN zu öffnen, die Ziele auf benötigte Server und Ports beschränken.
Source NAT
Für den Internetzugriff im Full Tunnel unter Firewall → NAT → Source NAT (Modus Hybrid oder Manual, siehe NAT in OPNsense): Interface WAN, Quelle Pool-Netz, Übersetzung WAN address.
DNS
Den Clients per Pool einen internen DNS-Server mitgeben (z. B. Unbound auf der Firewall) und das Pool-Netz in den Access Lists von Unbound erlauben. Interne Zonen wie die Active-Directory-Domain per Query Forwarding an die Domain Controller. Bei einem reinen IPv4-Full-Tunnel in Dual-Stack-Netzen bevorzugen Clients sonst unter Umständen IPv6-DNS-Server des lokalen Netzes (DNS-Leak).
Alternative Anmeldeverfahren
| Verfahren | Remote Authentication | Einsatz |
|---|---|---|
| EAP-MSCHAPv2 | Benutzer und Passwörter unter Pre-Shared Keys (Typ EAP) | kleine Umgebungen, universell |
| EAP-RADIUS | Benutzer werden per RADIUS geprüft | Active Directory (z. B. über Microsoft NPS oder FreeRADIUS), Gruppensteuerung; MFA nur per Push-Verfahren (siehe unten) |
| EAP-TLS | Client-Zertifikat je Gerät oder Benutzer | verwaltete Geräte, keine Passwörter; Zertifikate unter System → Trust ausstellen und sperren |
| Public Key | Zertifikat direkt im IKEv2-Austausch | Geräte- bzw. strongSwan-Clients |
| Xauth PAM | nur IKEv1 | Altlösungen – für neue Installationen nicht verwenden |
EAP-RADIUS einrichten
- RADIUS-Server unter System → Access → Servers anlegen (Typ Radius, Shared Secret, ausreichendes Timeout – bei Push-Bestätigungen z. B. 30 Sekunden).
- VPN → IPsec → Mobile & Advanced Settings: im RADIUS-Bereich den Server unter Servers auswählen; optional Accounting und Group selection (class_group) für Gruppenrechte.
- In der Connection unter Remote Authentication EAP RADIUS mit EAP Id
%anywählen. - Auf dem RADIUS-Server die OPNsense als Client eintragen und EAP-MSCHAPv2 (bzw. das vom Client genutzte EAP-Verfahren) zulassen.
So werden Benutzer zentral im Verzeichnis gepflegt, etwa über Microsoft NPS oder FreeRADIUS.
EAP-TLS einrichten
Für jeden Benutzer bzw. jedes Gerät unter System → Trust → Certificates ein Client-Zertifikat der IPsec-CA ausstellen (als PKCS#12 mit Passwort exportieren). In der Connection Remote Authentication EAP TLS wählen und unter Certificate Authorities die IPsec-CA. Verlorene Geräte werden über die Sperrliste (System → Trust → Revocation) ausgeschlossen.
Clients einrichten
| Plattform | Einrichtung |
|---|---|
| Windows 10/11 | CA in den Speicher Vertrauenswürdige Stammzertifizierungsstellen des Computers importieren. VPN-Verbindung „IKEv2“ mit Server vpn1.example.com, Anmeldung mit Benutzername/Passwort (EAP-MSCHAPv2). Die Standard-Algorithmen von Windows sind schwach – per PowerShell anpassen, z. B. Set-VpnConnectionIPsecConfiguration -ConnectionName "Firma" -AuthenticationTransformConstants SHA256128 -CipherTransformConstants AES256 -EncryptionMethod AES256 -IntegrityCheckMethod SHA256 -DHGroup Group14 -PfsGroup PFS2048 (passend zu aes256-sha256-modp2048). Rekey-Werte der Connection wie oben für Windows setzen.
|
| macOS / iOS | CA als Profil installieren und vertrauen; VPN-Typ IKEv2, Server und Entfernte ID vpn1.example.com, Benutzerauthentifizierung Benutzername. Für viele Geräte ein Konfigurationsprofil (MDM) verteilen.
|
| Android | eingebauter Typ IKEv2/IPSec MSCHAPv2 mit Server-Kennung vpn1.example.com und CA, oder die App strongSwan VPN Client (ausführliche Protokolle zur Fehlersuche).
|
| Linux | NetworkManager mit dem strongSwan-Plugin (EAP) oder direkt strongSwan/swanctl. |
Status und Fehlersuche
- VPN → IPsec → Status Overview – verbundene Benutzer und Tunnel; Lease Status – vergebene Pool-Adressen.
- VPN → IPsec → Log File – Fehlermeldungen beim Verbindungsaufbau; für Details unter Mobile & Advanced Settings die Log Level einzelner Bereiche (z. B. IKE, Configuration) erhöhen.
| Symptom | Ursache und Lösung |
|---|---|
| Keine Pakete im Log | WAN-Regel für UDP 500/4500 fehlt, falscher DNS-Eintrag oder Netz des Clients blockiert IPsec – mit tcpdump bzw. Interfaces → Diagnostics → Packet Capture prüfen. Bei der allerersten Connection Enable IPsec nicht vergessen. |
| no matching proposal | Proposals von Client und Server passen nicht – Windows-Algorithmen per PowerShell setzen bzw. Proposal angleichen. |
| Zertifikatsfehler (z. B. Windows Fehler 13801) | CA auf dem Client nicht vertrauenswürdig, falscher Speicher (Benutzer statt Computer) oder Name nicht im Subject Alternative Name des Server-Zertifikats. |
| Anmeldung schlägt fehl (EAP authentication failed) | Benutzername/Passwort falsch, Typ des Schlüssels nicht EAP, RADIUS-Server antwortet nicht oder lehnt ab. |
| Verbunden, aber kein Zugriff | Firewall-Regel auf der IPsec-Schnittstelle fehlt oder Local im Child enthält das Zielnetz nicht. |
| Full Tunnel ohne Internet | Source-NAT-Regel für das Pool-Netz fehlt. |
| Interne Namen werden nicht aufgelöst | DNS im Pool fehlt, Unbound-ACL für das Pool-Netz fehlt oder Client nutzt fremde (IPv6-)DNS-Server. |
| Verbindung bricht nach einiger Zeit ab | Rekey-Einstellungen nicht auf den Client abgestimmt (Windows: 86400/0). |
Sicherheitsempfehlungen
- Starke Proposals (AES-256, SHA-256, DH-Gruppe 14 oder höher bzw. elliptische Kurven), default entfernen.
- Bevorzugt EAP-TLS (Gerätezertifikate) oder EAP-RADIUS mit zentraler Benutzerverwaltung statt lokaler Passwörter; lokale EAP-Passwörter lang und zufällig wählen.
- Zugriffsrechte auf der IPsec-Schnittstelle so eng wie möglich; mit Methode 2 bzw. RADIUS-Gruppen unterschiedliche Rechte pro Benutzergruppe.
- Full Tunnel für unverwaltete Netze (Hotel, öffentliches WLAN).
- Anmeldungen und Fehlversuche aus dem IPsec-Log an ein SIEM übertragen, z. B. mit dem Wazuh-Agent.
- Im HA-Cluster die CARP-Adresse des WAN als Local address bzw. als DNS-Ziel verwenden – siehe OPNsense - Hochverfügbarkeit mit CARP und pfsync.
Fazit
IPsec IKEv2 ist auf OPNsense die naheliegende Wahl für Road Warrior, wenn keine zusätzliche Client-Software verteilt werden soll: Windows, macOS, iOS und Android verbinden sich mit Bordmitteln, MOBIKE sorgt für stabiles Roaming, mit EAP-RADIUS lässt sich Active Directory anbinden, und EAP-TLS sichert verwaltete Geräte ohne Passwörter ab. Für Einmalpasswörter ist OpenVPN die bessere Wahl. Entscheidend sind ein sauberes Server-Zertifikat, abgestimmte Proposals für die Clients, eine Connection mit Pool sowie Firewall-, NAT- und DNS-Einstellungen für das Pool-Netz.
Unterstützung von m.a.x. it
Sie möchten mobile Mitarbeitende per IPsec, OpenVPN oder WireGuard anbinden und dabei Active Directory und MFA integrieren? m.a.x. it unterstützt Sie als OPNsense-Gold-Partner mit OPNsense-Firewall-Services von m.a.x. it und einer Managed Firewall von m.a.x. it.
Siehe auch
- OPNsense - NAT und Portweiterleitungen
- OPNsense - IPsec Site-to-Site policy-based
- OPNsense - IPsec Site-to-Site route-based
- OPNsense - OpenVPN Site-to-Site und Client-VPN
- OPNsense - WireGuard Site-to-Site und Road Warrior
- VPN Techniken für das Homeoffice
- IPsec
- OPNsense - ACME-Client für Let's Encrypt-Zertifikate
- OPNsense - Unbound DNS Resolver
Links und Quellen
- OPNsense-Doku – IPsec Roadwarriors IKEv2
- OPNsense-Doku – Virtual Private Networking
- strongSwan – Windows-Clients
- m.a.x. it – OPNsense-Firewall-Services
Über m.a.x. it Die m.a.x. Informationstechnologie AG ist seit über 30 Jahren IT-Partner mittelständischer und großer Unternehmen in München und bietet maßgeschneiderte Lösungen und Services in den Bereichen Cloud, Cybersecurity, Netzwerk, Windows, Linux und Softwareentwicklung. Sie haben eine Frage zu diesem Artikel oder brauchen Unterstützung?
