Ganz gleich, ob man in einem Unternehmen sicher auf interne Daten zugreifen möchte – etwa während einer Reise ins Ausland oder im Homeoffice – ein geschützter Fernzugriff ist unverzichtbar. Die zuverlässigste Lösung dafür ist ein VPN.
Die OPNsense stellt dafür gleich drei VPN-Protokolle zur Verfügung:
OpenVPN – das klassische, weit verbreitete End-to-End-VPN-Protokoll
WireGuard – ein modernes, besonders schnelles und schlankes VPN
IPSec – häufig genutzt für Site-to-Site-Verbindungen zwischen Standorten
In den letzten Jahren hat WireGuard erheblich an Beliebtheit gewonnen, nicht nur wegen seiner Leistungsfähigkeit, sondern auch, weil die bisherige Legacy-Version von OpenVPN in kommenden OPNsense-Updates voraussichtlich entfernt wird. Für viele Administratoren ist WireGuard daher zur bevorzugten Wahl geworden.
In dieser ausführlichen Dokumentation von Dolunay Aydin erfährst du Schritt für Schritt, wie du auf der OPNsense ein WireGuard-VPN korrekt einrichtest. Dazu gehören die vollständige Konfiguration des VPN-Servers, das Erstellen und Anpassen der notwendigen Firewall-Regeln sowie alle verfügbaren Methoden, um ein VPN-Zugangsprofil anzulegen. Zusätzlich wird erläutert, worauf du bei jedem Schritt besonders achten musst, um eine sichere und stabile Verbindung zu gewährleisten.
Wenn du die Einrichtung nicht nur nachlesen, sondern auch praktisch nachvollziehen möchtest, findest du hier ein ergänzendes Video, in dem der gesamte Prozess detailliert und verständlich erklärt wird:
🔗 WireGuard in OPNsense einrichten – Schritt-für-Schritt Videoanleitung
Wichtige Vorbereitung:
Im Verlauf dieser Dokumentation benötigen wir verschiedene Schlüsselpaare, um eine Verbindung zu unserem VPN bzw. zu unserem jeweiligen Zugangsprofil herzustellen. Diese Schlüsselpaare – bestehend aus Public Key und Private Key – werden direkt vom WireGuard-Client generiert.
Damit du später ohne Unterbrechung weiterarbeiten kannst, solltest du den WireGuard-Client bereits im Vorfeld herunterladen. Die offizielle Installationsseite stellt Versionen für alle gängigen Betriebssysteme bereit.
👉 WireGuard herunterladen:
https://www.wireguard.com/install/
Um WireGuard in der OPNsense zu aktivieren, müssen wir zunächst einen WireGuard-Server anlegen. Dafür navigierst du in der OPNsense zu:
VPN → WireGuard → Instances
Dort erstellst du eine neue WireGuard-Instance, die später als unser eigentlicher WireGuard-VPN-Server dient. Die OPNsense erlaubt es, mehrere WireGuard-Instanzen bzw. mehrere VPN-Server parallel zu betreiben – beispielsweise für verschiedene Standorte, Testumgebungen oder Benutzergruppen.
Um WireGuard auf der OPNsense zu aktivieren, müssen wir zuerst eine neue Instanz anlegen. Dazu klickst du ganz rechts auf das orangefarbene Plus-Symbol. Anschließend öffnet sich ein neues Fenster, in dem wir alle grundlegenden Einstellungen für unseren WireGuard-Server vornehmen.
Als Erstes gibst du der Instanz einen passenden Namen, damit du später den Überblick behältst – besonders dann, wenn du mehrere Instanzen oder Testumgebungen betreibst. Im Beispiel verwende ich: „Dolunay Wireguard VPN (TEST)“.
Damit der WireGuard-Server überhaupt funktionieren kann, benötigt er ein sogenanntes Schlüsselpaar, bestehend aus Public Key und Private Key. Klicke einfach auf das kleine Zahnrad-Symbol neben dem Public-Key-Feld, und die OPNsense erzeugt automatisch ein neues, sicheres Schlüsselpaar. Der Public Key wird später an die Clients verteilt, während der Private Key immer geheim bleibt und niemals weitergegeben wird.
Als Nächstes legst du den Listen Port fest. WireGuard verwendet standardmäßig UDP Port 51820, was auch im Screenshot eingetragen ist. Du kannst diesen Port übernehmen, solange er nicht durch einen anderen Dienst belegt ist. Falls schon etwas darauf läuft, wähle einfach einen anderen freien UDP-Port.
Jetzt kommt ein besonders wichtiger Teil: die Tunnel Address. Hier definierst du das interne VPN-Netz (das virtuelle Netzwerk), über das später deine WireGuard-Verbindungen laufen. Im Beispiel wurde die Adresse 172.61.61.1/24 verwendet. Grundsätzlich kannst du dir dein VPN-Subnetz selbst aussuchen – wichtig ist nur, dass es eine private IP-Adresse gemäß RFC1918 ist. Das bedeutet, du kannst Adressen aus folgenden Bereichen verwenden:
10.0.0.0 – 10.255.255.255
172.16.0.0 – 172.31.255.255
192.168.0.0 – 192.168.255.255
Wähle hier am besten ein Subnetz, das nirgendwo sonst in deinem Netzwerk verwendet wird. Wenn du z. B. bereits ein LAN mit 192.168.1.0/24 hast, solltest du diesen Bereich nicht noch einmal für WireGuard nutzen. Andernfalls kommt es zu Adress- oder Netzwerkkonflikten, und der VPN-Aufbau funktioniert nicht. Gute Beispiele für ein freies VPN-Netz wären z. B. 10.8.0.1/24 oder 172.30.50.1/24.
Die OPNsense selbst sollte in diesem Subnetz die erste Adresse, also z. B. 10.8.0.1, erhalten. Die Peers (also deine Endgeräte wie Smartphone, Notebook usw.) bekommen später Adressen wie 10.8.0.2, 10.8.0.3 usw.
Hast du alle Angaben eingetragen, klickst du unten rechts auf Save, und deine WireGuard-Instanz wird erstellt. Damit ist der Grundstein gelegt – im nächsten Schritt kümmern wir uns um Interface-Zuweisung, Firewall-Regeln und die eigentlichen Peer-Profile.
Sobald du deine WireGuard-Instanz erstellt hast, musst du diese zuerst über den Schalter „Enable WireGuard“ aktivieren. Das ist wichtig, denn erst dann können wir im nächsten Schritt das dazugehörige virtuelle Netzwerk-Interface anlegen – und genau dieses Interface brauchen wir später für Firewall-Regeln, Routing und die Kommunikation mit den Peers.
1. WireGuard-Interface zuweisen
Wechsle dazu im linken Menü zu:
Interfaces → Assignments
Hier siehst du eine Übersicht aller vorhandenen Schnittstellen. Unterhalb dieser Liste findest du den Bereich „Assign a new interface“.
Im Dropdown-Feld Device taucht nun deine eben erstellte WireGuard-Instanz als neues Interface auf – in unserem Beispiel:
wg0 (WireGuard – Dolunay-Wireguard-VPN-TEST)
Wähle dieses Gerät aus und klicke anschließend auf Add, um es als neue Schnittstelle hinzuzufügen.
2. Neues WireGuard-Interface konfigurieren
Nach dem Hinzufügen erscheint das Interface links in der Navigation unter Interfaces.
Klicke darauf – der Name kann z. B. so aussehen:
[WireguardVPNNetzwerkLAN]
Damit die Schnittstelle aktiv wird, musst du sie nun einschalten. Setze dafür oben den Haken bei:
Enable Interface
Optional kannst du hier auch eine Beschreibung eintragen, damit du das Interface später besser erkennst.
3. Änderungen übernehmen
Sobald du den Haken gesetzt hast, erscheint am oberen Rand eine blaue Hinweisbox.
Damit die Änderungen wirksam werden, klicke auf den Button:
Apply changes
Damit ist das Interface aktiv und bereit für den weiteren Aufbau deines WireGuard-VPNs. Erst durch dieses aktivierte Interface können wir später Firewall-Regeln erstellen, Routen definieren und den Datenverkehr zwischen LAN und VPN sauber steuern.
Nachdem wir das WireGuard-Interface erfolgreich aktiviert haben, geht es im nächsten Schritt darum, die notwendigen Firewall-Regeln einzurichten. Ohne diese Regeln kann dein VPN zwar starten – aber es wird keinen Traffic verarbeiten können.
Kurz gesagt: Ohne Firewall-Regeln keine VPN-Verbindung.
Damit sowohl eingehende als auch ausgehende WireGuard-Pakete korrekt verarbeitet werden, müssen wir eine Regel auf der WAN-Schnittstelle und später eine weitere Regel auf der WireGuard-Schnittstelle anlegen.
Wenn du dich generell tiefer in das Thema Firewall-Regeln einarbeiten möchtest, empfehle ich dir mein Video dazu:
🔗 https://youtu.be/_wGbfdMn8y8
Öffne im linken Menü:
Firewall → Rules → WAN
Wie du in meinem Screenshot siehst, habe ich bereits andere Regeln im WAN-Bereich. Falls du selbst schon Regeln für Dienste wie Webserver, NAT oder Portfreigaben hast, kann es nötig sein, die Reihenfolge deiner Regeln anzupassen. Die OPNsense arbeitet von oben nach unten, daher kann eine falsch platzierte Regel die VPN-Verbindung blockieren.
➡ Tipp: Schau dir bei Bedarf mein Firewall-Regel-Video an – dort erkläre ich das ausführlich.
Action:
Pass
→ Die Pakete sollen erlaubt werden.Interface:
WANDirection:
in
→ WireGuard-Verbindungen kommen von außen (Internet) auf deine WAN-IP.TCP/IP Version:
IPv4 (oder IPv4+IPv6, wenn du dual stack nutzt)Protocol:
UDP
→ WireGuard läuft ausschließlich über UDP.Source:
any
→ Jeder externe Client darf sich verbinden (oder schränke es bei Bedarf ein).Destination:
WAN address
→ Das ist deine öffentliche IP der OPNsense.Destination Port range:
From: 51820 / To: 51820
→ Das ist der Port deiner WireGuard-Instanz.
Nachdem wir die Regel auf der WAN-Schnittstelle angelegt haben, wechseln wir nun zur neuen WireGuard-Schnittstelle, die wir zuvor erstellt und aktiviert haben. Diese Regel ist genau so wichtig wie die vorherige, denn sie sorgt dafür, dass Geräte, die sich per VPN verbinden, ins interne Netzwerk und ins Internet kommunizieren dürfen.
Öffne dazu im Menü:
Firewall → Rules → (deine WireGuard-Schnittstelle)
In meinem Beispiel heißt sie: WireguardVPNNetzwerkLAN
Nun erstellen wir eine neue Regel.
Die Regel ist einfacher als die WAN-Regel, da wir hier lediglich festlegen wollen, dass jedes Gerät im WireGuard-VPN-Netzwerk alles anfragen darf, was es benötigt.
Die Einstellungen sehen wie folgt aus:
Action:
Pass
→ Diese Regel erlaubt den Datenverkehr.Interface:
WireguardVPNNetzwerkLAN
→ Hier wählst du deine WireGuard-Schnittstelle aus.Direction:
in
→ Der Traffic kommt ins Interface hinein (vom VPN-Client in das OPNsense-System).TCP/IP Version:
IPv4
→ Alternativ IPv4+IPv6, falls du Dual Stack verwendest.Protocol:
any
→ WireGuard-Clients sollen jede Art von Traffic senden dürfen.Source:
WireguardVPNNetzwerkLAN net
→ Das ist das gesamte VPN-Subnetz deiner Tunneladresse.Destination:
any
→ Deine VPN-Clients dürfen überall hin kommunizieren – LAN, Internet, andere Netze.
Diese Regel stellt sicher, dass dein VPN-Netzwerk wie ein normales Netzwerk behandelt wird und Benutzer problemlos auf das Internet oder deine internen Ressourcen zugreifen können.
Nachdem wir nun alle Firewall-Regeln erfolgreich eingerichtet haben, geht es weiter mit dem nächsten wichtigen Schritt: Wir erstellen ein Zugangsprofil für unser WireGuard-VPN.
Ein solches Zugangsprofil wird in WireGuard als Peer bezeichnet – also ein einzelner Benutzer oder ein Gerät, das sich per VPN verbinden soll.
In dieser Dokumentation (und auch im Video) zeige ich dir beide Varianten:
Peer manuell erstellen (Methode 1)
Peer automatisch generieren lassen (Methode 2 – Peer Generator)
Fangen wir mit der manuellen Methode an.
Wechsle dazu in der OPNsense zu:
VPN → WireGuard → Peers
Klicke anschließend auf das Plus-Symbol, um einen neuen Peer anzulegen. Es öffnet sich das Fenster wie in meinem Screenshot. Dort trägst du folgende Daten ein:
1. Enabled
Setze den Haken, um den Peer zu aktivieren.
Ohne diesen Haken kann sich der Client später nicht verbinden.
2. Name
Vergebe einen aussagekräftigen Namen, damit du den Peer später wiedererkennst.
Im Screenshot z. B.: Dolunay-VPN-Zugang01
Das ist besonders hilfreich, wenn du später mehrere Geräte oder Benutzer einrichtest.
3. Public Key
Hier trägst du den Public Key des Clients ein.
Diesen bekommst du direkt aus deiner WireGuard-App (Windows, iOS, Android, Linux, macOS).
Wichtig:
Der Public Key ist öffentlich – du darfst ihn weitergeben.
Der Private Key bleibt immer beim Client!
4. Allowed IPs
Unter Allowed IPs definierst du die interne IP-Adresse, die dieser Client im VPN bekommen soll.
Das ist eine Adresse aus deinem zuvor festgelegten WireGuard-Tunnelnetz.
Beispiel aus dem Screenshot: 172.16.61.61/32
/32 bedeutet, dass es sich um eine Einzeladresse handelt – also genau dieser eine Peer. WICHTIG: Nicht /24 eingeben, da der Peer kein Netzwerk sondern eine einzelnes Adresse für unser Profil ist!
5. Instances
Wähle hier die WireGuard-Instanz aus, zu der dieser Peer gehören soll.
In unserem Fall: Dolunay-Wireguard-VPN-TEST
Ohne diese Zuordnung weiß die OPNsense nicht, zu welchem VPN-Server der Peer gehört.
6. Speichern
Klicke zum Abschluss auf Save, um den Peer anzulegen.
Damit ist der erste Peer – also das erste Zugangsprofil – vollständig erstellt.
Nachdem wir den Peer in der OPNsense angelegt haben, müssen wir jetzt auf dem WireGuard-Client (z. B. Windows, Mac, Linux oder Smartphone) die passende Konfiguration erstellen.
In dieser Methode machen wir das komplett manuell, damit du genau verstehst, wie ein WireGuard-Profil aufgebaut ist.
Öffne zunächst die WireGuard-Anwendung und klicke unten auf:
„Tunnel hinzufügen“ → „Einen leeren Tunnel hinzufügen…“
Nun öffnet sich ein Fenster mit einer leeren Konfiguration – wie in meinem Screenshot zu sehen.
WireGuard generiert automatisch:
einen Private Key
einen Public Key
Der Public Key wird direkt oben angezeigt.
Diesen Public Key musst du kopieren und in der OPNsense beim Peer unter „Public key“ einfügen.
Damit weiß die OPNsense später, welches Gerät sich verbinden möchte.
Nun tragen wir die restlichen Werte ein.
Die Konfigurationsdatei besteht aus zwei Abschnitten:
[Interface] – Einstellungen des Clients selbst
[Peer] – Einstellungen der Gegenstelle (also deiner OPNsense)
Du solltest am Ende folgende Struktur haben:
[Interface]
PrivateKey = (Private Key, der automatisch generiert wurde)
Address = 172.16.61.61/32
PrivateKey
Wird automatisch von WireGuard erstellt – bleibt immer geheim.Address
Die VPN-IP-Adresse dieses Clients.
Sie muss exakt der Adresse entsprechen, die du in der OPNsense unter Allowed IPs eingetragen hast.
In meinem Beispiel: 172.16.61.61/32
Das /32 bedeutet: nur diese einzelne Adresse gehört zu diesem Client.
In dem Peer Abschnitt trägst du nun die Daten deiner OPNsense ein:
[Peer]
PublicKey = (Public Key deiner OPNsense-Instanz)
Endpoint = DEINE-ÖFFENTLICHE-WAN-IP:51820
AllowedIPs = 0.0.0.0/0
Hier im Detail:
-> PublicKey
Das ist der öffentliche Schlüssel der WireGuard-Instanz in der OPNsense.
Damit authentifiziert sich der Client gegenüber dem Server.
-> Endpoint
Hier trägst du die öffentliche WAN-IP deiner OPNsense ein sowie den WireGuard-Port:
Beispiel:
203.0.113.25:51820
(Deine echte IP bekommt deine Firewall vom Internetprovider ggf. falls du eine dynamsische IP hast, müsstest du NAT aktivieren.)
-> AllowedIPs = 0.0.0.0/0
Damit sagst du dem Client: Route den gesamten Traffic über das VPN.
Das bedeutet:
Internet geht über das VPN
Zugriff auf LAN/Server geht über das VPN
Falls du später Splittunneling möchtest, können wir das ebenfalls einrichten.
Am Ende sollte deine Konfigurationsdatei in etwa so aussehen:
[Interface]
PrivateKey = ELB/sAd93wm…
Address = 172.16.61.61/32
[Peer]
PublicKey = (OPNsense Public Key hier einfügen)
Endpoint = (deine WAN-IP):51820
AllowedIPs = 0.0.0.0/0
Damit ist dein VPN-Zugangsprofil über die erste Methode vollständig eingerichtet.
Klicke nun in der WireGuard-App auf „Speichern“ und anschließend auf „Aktivieren“, um die Verbindung zu testen.
Sobald die Verbindung aktiv ist, kannst du ganz einfach überprüfen, ob dein VPN korrekt funktioniert:
➡️ Öffne einen Browser und rufe ip.aydindns.de auf.
Dort wird dir deine aktuelle öffentliche IP-Adresse angezeigt.
Wenn alles richtig eingerichtet wurde, sollte dort nicht mehr die IP-Adresse deiner eigenen Internetverbindung erscheinen, sondern die öffentliche WAN-IP deiner OPNsense-Firewall.
Das bedeutet:
✔ Dein VPN ist aktiv
✔ Der gesamte Traffic läuft über die OPNsense
✔ Dein Gerät ist erfolgreich über WireGuard verbunden
Für die zweite Methode, auch die Express Methode von mir genannt geht es etwas schneller. Dort musst du nur die Daten selber eintragen und die Schlüssel selber erzeugen lassen ggf. wird auch die nächst freie IP-Adresse dir angezeigt eingeben, und unten wird dir ein Output für die fertige Konfiguration angezeigt, die du nur noch kopieren musst, und im Wireguard Client eingeben musst.
Wenn du einen WireGuard-Zugang schneller und bequemer erstellen möchtest, empfehle ich dir die zweite Variante – von mir gerne die „Express-Methode“ genannt.
Hier musst du deutlich weniger manuell eintragen, denn die OPNsense nimmt dir einen Großteil der Arbeit automatisch ab.
Im Gegensatz zur ersten Methode, bei der du jeden Schlüssel und jede Einstellung selbst anlegen musst, generiert die OPNsense bei dieser Methode:
das komplette Schlüsselpaar (Public + Private Key)
die passende VPN-IP-Adresse (nächstfreie Adresse im Tunnelnetz)
die fertige Client-Konfiguration als Kopiervorlage
Damit sparst du dir viel Zeit, besonders wenn du mehrere Geräte einrichten möchtest.
Wechsle dazu in der OPNsense erneut zu:
➡️ VPN → WireGuard → Peer Generator
Hier trägst du nur die wichtigsten Daten ein – also im Grunde nur:
den Namen deines Clients
optional die gewünschte IP-Adresse (oder du lässt die automatisch erzeugte / nächstfreie IP übernehmen)
Der Rest passiert automatisch.
Sobald du auf „Generate“ klickst, zeigt dir die OPNsense unten direkt die fertige WireGuard-Konfiguration an.
Diese enthält bereits:
✔ Private Key
✔ Public Key
✔ Adresse des Clients
✔ Public Key deiner OPNsense
✔ Endpoint (WAN-IP + Port)
✔ AllowedIPs (0.0.0.0/0 oder nach Bedarf)
Du musst die Konfiguration jetzt nur noch kopieren und in deinem WireGuard-Client einfügen.
