OPNsense - IPsec Site-to-Site policy-based
Auf einen Blick
| Gilt für | OPNsense 26.1 und 26.7 (VPN → IPsec → Connections), IKEv2, Gegenstelle OPNsense oder Fremdhersteller |
|---|---|
| Bereich | IT-Security |
| Dauer | ca. 30 Minuten pro Standortpaar |
| Rechte | Administrator (OPNsense-WebUI) auf beiden Firewalls |
| Stand | Oktober 2026 (OPNsense 26.7.5) |
Ein IPsec Site-to-Site-VPN im policy-based Modus verbindet zwei Standorte, indem für festgelegte Netzpaare – z. B. LAN Zentrale ↔ LAN Filiale – Sicherheitsrichtlinien (Policies) im Kernel installiert werden. Jedes Paket, das zu einer Policy passt, wird automatisch verschlüsselt und durch den Tunnel geschickt; Routen, Gateways oder zusätzliche Schnittstellen sind nicht nötig. Dieser Artikel zeigt die Einrichtung auf OPNsense mit der aktuellen Connections-Oberfläche (Stand 2026).
Die Alternative mit virtueller Tunnelschnittstelle und normalem Routing beschreibt der Artikel OPNsense - IPsec Site-to-Site route-based.
Policy-based oder route-based? IPsec-Modi im Vergleich
| Kriterium | Policy-based | Route-based (VTI) |
|---|---|---|
| Funktionsweise | Kernel-Policies für feste Netzpaare fangen den Verkehr ab („Traps“) | Virtuelle Schnittstelle ipsecX, danach gilt normales Routing
|
| Einrichtung | Schnell, keine Gateways oder Routen | Zusätzlich VTI, Gateway und Routen |
| Neue Netze hinzufügen | Neue Policy (Child) auf beiden Seiten | Nur eine Route bzw. dynamisches Routing |
| Dynamisches Routing (BGP/OSPF) | Nicht möglich | Möglich (Plugin os-frr) |
| Tunnel-Monitoring, Failover | Eingeschränkt | Gateway-Monitoring, Gateway-Gruppen, BGP |
| Gegenstellen mit DNS-Namen | Möglich | Nicht möglich (nur feste IPs) |
| Kompatibilität | Sehr hoch, Standard bei vielen Herstellern | Gegenstelle muss route-based/0.0.0.0/0-Selektoren unterstützen |
| Typischer Einsatz | Einfache Kopplung weniger Netze, Partner-VPNs | Viele Netze, mehrere Standorte, Redundanz, Cloud (Azure, AWS) |

Was sich bei IPsec in OPNsense geändert hat (Stand 2026)
- Seit OPNsense 23.1 werden IPsec-Verbindungen unter VPN → IPsec → Connections im strongSwan-Format
swanctl.confkonfiguriert. Die Begriffe folgen strongSwan: Aus Phase 1 wird die Connection, aus Phase 2 das Child. - Mit OPNsense 26.1 ist die alte Oberfläche Tunnel Settings [legacy] aus dem Kern verschwunden. Sie steht nur noch über das Community-Plugin os-strongswan-legacy zur Verfügung – ausschließlich als Übergangslösung für bestehende Tunnel.
- Neue Tunnel sollten immer über Connections angelegt werden. Für die Umstellung bestehender Tunnel gibt es in der OPNsense-Dokumentation eine Migrationsanleitung sowie das Community-Werkzeug opnsense-ipsec-converter.
- Seit OPNsense 26.7 werden Firewall-Regeln einheitlich unter Firewall → Rules mit Auswahl der Schnittstelle gepflegt; die alten Regelseiten gibt es nur noch im Plugin os-firewall-legacy. Die Menüpfade in diesem Artikel beziehen sich auf 26.7.
- Wichtig: Connections legen – anders als die alte Oberfläche – keine WAN-Regeln automatisch an.
Beispiel-Szenario
| Eigenschaft | Standort A (Zentrale) | Standort B (Filiale) |
|---|---|---|
| Öffentliche WAN-IP | 203.0.113.1 |
198.51.100.1
|
| Lokales Netz (LAN) | 192.168.10.0/24 |
192.168.20.0/24
|
| IKE-Identität | 203.0.113.1 |
198.51.100.1
|
Die Netze beider Standorte dürfen sich nicht überschneiden. Alle Schritte werden auf beiden Firewalls spiegelbildlich durchgeführt.
Schritt 1: WAN-Regeln für IPsec anlegen
Unter Firewall → Rules mit Interface WAN drei Regeln anlegen, jeweils mit Quelle = WAN-IP der Gegenstelle und Ziel = WAN address:
| Protokoll | Port | Zweck |
|---|---|---|
| UDP | 500 | IKE (Schlüsselaustausch) |
| UDP | 4500 | NAT-Traversal (IKE und ESP gekapselt in UDP) |
| ESP | – | Verschlüsselte Nutzdaten ohne NAT |
Die Quelle auf die Gegenstelle zu beschränken, verhindert, dass der IKE-Dienst aus dem ganzen Internet erreichbar ist.
Der Schlüssel wird in OPNsense getrennt von der Verbindung gespeichert:
- VPN → IPsec → Pre-Shared Keys öffnen und mit + einen Eintrag anlegen.
- Local Identifier: eigene Identität (Standort A:
203.0.113.1). - Remote Identifier: Identität der Gegenstelle (Standort A:
198.51.100.1). Das Feld ist optional, sollte aber immer gesetzt werden – sonst gilt der Schlüssel für alle Verbindungen mit derselben lokalen Identität. - Pre-Shared Key: langen Zufallswert eintragen, z. B. erzeugt mit
openssl rand -base64 32, Type = PSK.
Schritt 3: Connection anlegen (früher Phase 1)
- VPN → IPsec → Connections öffnen, unten Enable IPsec aktivieren und mit + eine neue Verbindung anlegen.
- Oben rechts den advanced mode einschalten.
- Folgende Werte setzen:
| Feld | Standort A | Standort B | Hinweis |
|---|---|---|---|
| Proposals | aes256gcm16-sha384-ecp384 |
Auf beiden Seiten identisch; default entfernen | |
| Version | IKEv2 | IKEv1 nur für Altgeräte | |
| Unique | Replace | Doppelte Verbindungen werden ersetzt | |
| Local addresses | 203.0.113.1 |
198.51.100.1 |
Leer = beliebige lokale Adresse |
| Remote addresses | 198.51.100.1 |
203.0.113.1 |
Bei policy-based auch DNS-Name möglich |
| DPD delay (s) | 30 | Dead Peer Detection ist standardmäßig aus | |
| Description | Filiale | Zentrale | |
- Save klicken – danach erscheinen die Bereiche für Authentifizierung und Children.
Lokale und entfernte Authentifizierung
| Bereich | Feld | Standort A | Standort B |
|---|---|---|---|
| Local Authentication | Authentication / Id | Pre-Shared Key / 203.0.113.1 |
Pre-Shared Key / 198.51.100.1
|
| Remote Authentication | Authentication / Id | Pre-Shared Key / 198.51.100.1 |
Pre-Shared Key / 203.0.113.1
|
Die IDs müssen exakt zu den Einträgen unter Pre-Shared Keys passen. Manche Fremdgeräte erlauben keine frei wählbare ID und melden sich mit ihrer IP-Adresse – das muss bei der Remote-ID berücksichtigt werden.
Schritt 4: Child anlegen (früher Phase 2)
Im Bereich Children mit + ein Child hinzufügen:
| Feld | Standort A | Standort B |
|---|---|---|
| Mode | Tunnel | |
| Policies | aktiviert (das macht den Tunnel policy-based) | |
| Start action | Trap (Tunnel startet beim ersten passenden Paket) oder Start (sofort) | |
| DPD action | Restart | |
| ESP proposals | aes256gcm16-ecp384 (mit DH-Gruppe = Perfect Forward Secrecy)
| |
| Local | 192.168.10.0/24 |
192.168.20.0/24
|
| Remote | 192.168.20.0/24 |
192.168.10.0/24
|
Save, dann die Connection erneut mit Save speichern und auf der Übersichtsseite Apply klicken.
Mehrere Netze verbinden
- Mehrere Netze in einem Child (kommagetrennt): strongSwan behandelt alle lokalen und entfernten Netze als eine Policy – jedes lokale Netz darf mit jedem entfernten sprechen.
- Ein Child pro Netzpaar: entspricht der früheren Option Tunnel Isolation und ist bei Fremdherstellern (z. B. ältere Cisco-, Sophos- oder Fortinet-Konfigurationen), die jedes Netzpaar einzeln aushandeln, oft die kompatiblere Variante.
Schritt 5: Firewall-Regeln für den Tunnelverkehr
OPNsense blockiert auch Verkehr aus dem Tunnel, solange er nicht erlaubt ist. Unter Firewall → Rules mit Interface IPsec eine Regel anlegen, z. B. auf Standort A:
- Action: Pass, Quelle:
192.168.20.0/24, Ziel:192.168.10.0/24, Protokoll und Ports nach Bedarf.
Für Verkehr von der Zentrale in die Filiale genügt in der Regel die bestehende LAN-Regel; die Rückantworten erlaubt die Stateful Firewall automatisch.
Schritt 6: Tunnel prüfen
- VPN → IPsec → Status Overview zeigt, ob Connection (IKE_SA) und Child (CHILD_SA) aufgebaut sind.
- Security Association Database und Security Policy Database zeigen die ausgehandelten SAs und installierten Policies.
- VPN → IPsec → Log File zeigt die Aushandlung im Detail.
- Test: von einem Client im LAN A einen Client im LAN B anpingen.
Typische Probleme und Lösungen
| Symptom | Ursache und Lösung |
|---|---|
| Kein Verbindungsaufbau, im Log keine Antwort der Gegenstelle | WAN-Regeln (UDP 500/4500, ESP) fehlen auf einer Seite oder ein vorgeschalteter Router blockiert/verändert IPsec. |
| NO_PROPOSAL_CHOSEN | Proposals bzw. ESP proposals stimmen nicht überein – beide Seiten exakt gleich konfigurieren. |
| AUTHENTICATION_FAILED | Pre-Shared Key oder Local/Remote-ID passen nicht; ID-Typ der Gegenstelle prüfen. |
| TS_UNACCEPTABLE | Traffic Selectors (Local/Remote im Child) sind auf beiden Seiten nicht spiegelbildlich. |
| Tunnel steht, aber kein Verkehr | Regel unter Firewall → Rules (Interface IPsec) fehlt, Ziel-Host hat abweichendes Gateway oder lokale Firewall (z. B. Windows) blockiert. |
| Firewall selbst nicht mehr erreichbar | Eine Policy überdeckt eigene Netze. Eigene Segmente unter VPN → IPsec → Advanced Settings → Passthrough networks ausnehmen. |
| Gleiche Netze an beiden Standorten | Netzüberschneidung per NAT auflösen, siehe OPNsense - NAT before IPSEC. |
| Tunnel bricht nach Stunden ab | DPD aktivieren (DPD delay > 0) und Lebensdauern (Rekey) auf beiden Seiten abgleichen. |
Empfehlungen für sichere IPsec-Verbindungen
- Nur IKEv2 verwenden, IKEv1 und Aggressive Mode vermeiden.
- Moderne Kryptografie: AES-GCM, SHA-2 und Diffie-Hellman-Gruppen ab ECP256/MODP3072 bzw. Curve25519. Alte Gruppen wie MODP1024 (DH2) gelten als unsicher und werden in den Connections nicht mehr angeboten. Ist eine Altgegenstelle darauf angewiesen, gehört sie modernisiert – nicht der Tunnel geschwächt. Für ESP immer eine DH-Gruppe angeben, damit Perfect Forward Secrecy greift.
- Lange, zufällige Pre-Shared Keys oder besser Zertifikate verwenden und Schlüssel im Passwortmanager dokumentieren.
- Tunnel überwachen – z. B. per Monit wie in Überwachung von IPsec beschrieben – und die IPsec-Logs an ein SIEM weiterleiten.
- Firmware aktuell halten: OPNsense erscheint zweimal jährlich (Januar, Juli) mit regelmäßigen Minor-Updates.
Fazit
Der policy-based Modus ist der schnellste Weg zu einem stabilen IPsec-Site-to-Site-Tunnel: Netzpaare festlegen, Verbindung und Child anlegen, WAN- und IPsec-Regeln setzen – fertig. Er ist ideal für überschaubare Kopplungen und Partner-VPNs mit Fremdherstellern. Sobald mehrere Netze, Redundanz, Monitoring oder dynamisches Routing gefragt sind, ist der route-based Modus mit VTI die bessere Wahl.
Unterstützung von m.a.x. it
Sie möchten Standorte per IPsec vernetzen, Tunnel von der alten Legacy-Oberfläche auf Connections migrieren oder VPNs zu Partnern und Cloud-Anbietern aufbauen? 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 - FRR Dynamisches Routing
- OPNsense - WireGuard Site-to-Site und Road Warrior
- OPNsense - IPsec Site-to-Site route-based
- IPsec
- OPNsense - NAT before IPSEC
- Überwachung von IPsec
- IKEv2: Zentralen ASA-Hub mit mehreren IOS Spokes verbinden
- Cisco VPN auf IOS-Router mit policy-based routing
- Perfect Forward Secrecy
- Diffie-Hellman
- OPNsense - NetBird-Plugin
Links und Quellen
- OPNsense-Doku – IPsec Site-to-Site policy-based
- OPNsense-Doku – Virtual Private Networking (IPsec)
- strongSwan – swanctl.conf-Referenz
- 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?
