WireGuard auf OPNsense einrichten: Road-Warrior-VPN Schritt für Schritt
WireGuard-VPN auf OPNsense für den Zugriff von unterwegs: Instanz, Peers, Firewall-Regeln, FritzBox-Portweiterleitung — und die Checkliste, wenn der Handshake nicht zustande kommt.
Von Niclas Hennrich · Veröffentlicht: · aktualisiert · 3 Min. Lesezeit
Kurz gesagt: WireGuard ist seit OPNsense 24.1 fest im Kern integriert — du legst unter VPN → WireGuard eine Instanz mit Port 51820 an, erstellst pro Gerät einen Peer und erlaubst eingehend UDP 51820 auf dem WAN. Hinter einer FritzBox kommt eine Portfreigabe (oder Exposed Host) plus DynDNS dazu.
WireGuard ist der einfachste Weg, von unterwegs sicher ins Homelab zu kommen: schlank, schnell, in OPNsense fest integriert. Dieser Guide richtet ein klassisches Road-Warrior-Setup ein — Smartphone/Laptop wählen sich ins Heimnetz ein.
Vorbereitung #
- OPNsense aktuell halten — WireGuard ist seit OPNsense 24.1 fest im Kern integriert (kein Plugin mehr nötig).
- Du brauchst einen Weg, deinen Anschluss von außen zu erreichen: eine öffentliche IPv4, DS-Lite mit IPv6 oder einen dynamischen DNS-Namen (DynDNS). Hinter einer FritzBox zusätzlich: Portweiterleitung (unten).
Schritt 1: WireGuard-Instanz anlegen #
Unter VPN → WireGuard → Instances eine neue Instanz erstellen:
- Listen Port:
51820(frei wählbar, merken) - Tunnel Address: ein eigenes Transfernetz, z. B.
10.10.10.1/24 - Schlüsselpaar generieren lassen — der öffentliche Schlüssel wird gleich in den Clients gebraucht.
Nach dem Speichern WireGuard aktivieren (Haken Enable + Apply).
Schritt 2: Peer pro Gerät anlegen #
Jedes Endgerät bekommt unter VPN → WireGuard → Peer generator bzw. Peers einen eigenen Eintrag:
- Allowed IPs: genau eine Adresse aus dem Tunnelnetz, z. B.
10.10.10.2/32fürs erste Gerät,10.10.10.3/32fürs zweite. - Der Peer-Generator erstellt direkt einen QR-Code für die WireGuard-App — dort sind Endpoint, Schlüssel und DNS schon eingetragen.
In der Client-Konfiguration entscheidet AllowedIPs über den Modus:
0.0.0.0/0— kompletter Traffic läuft durch den Tunnel (unterwegs im offenen WLAN sinnvoll).192.168.10.0/24, 10.10.10.0/24— Split-Tunnel: nur Heimnetz-Ziele gehen durch den Tunnel.
Schritt 3: Firewall-Regeln #
Zwei Regeln sind nötig:
- WAN: eingehend UDP auf Port
51820erlauben (Destination: WAN address). Ohne diese Regel kommt kein Handshake zustande. - WireGuard-Interface: Was dürfen eingewählte Clients? Für den Anfang eine Allow-Regel auf die Netze, die erreichbar sein sollen — später gern feiner (z. B. nur Management-VLAN für dein eigenes Gerät).
Empfehlenswert: Der WireGuard-Instanz unter Interfaces → Assignments ein eigenes Interface zuweisen — dann tauchen die Regeln sauber getrennt auf und Routing/NAT verhalten sich vorhersehbar.
Schritt 4: Hinter der FritzBox — Portweiterleitung #
Läuft die OPNsense hinter einer FritzBox, muss UDP 51820 dort ankommen:
Entweder ist die OPNsense als Exposed Host eingetragen (dann ist nichts
weiter zu tun), oder du legst eine gezielte Portfreigabe an:
Internet → Freigaben → Portfreigabe, Protokoll UDP, Port 51820 → interne
IP der OPNsense.
Als Endpoint im Client trägst du deinen DynDNS-Namen ein. Die FritzBox kann
DynDNS direkt aktualisieren (Internet → Freigaben → DynDNS) — alternativ
übernimmt das die OPNsense per ddclient-Plugin.
Troubleshooting: kein Handshake? #
Die Checkliste in der Reihenfolge der häufigsten Ursachen:
- Kommt UDP 51820 überhaupt an? FritzBox-Freigabe auf die richtige interne IP? Exposed Host aktiv?
- DS-Lite-Anschluss? Ohne öffentliche IPv4 ist dein Anschluss über IPv4 von außen nicht erreichbar. Optionen: IPv6-Endpoint verwenden (Client braucht dann IPv6), beim Provider echte IPv4 anfragen — oder der Umweg über ein Relay (z. B. einen kleinen VPS als WireGuard-Hop).
- WAN-Regel vergessen? Der Klassiker: Instanz läuft, aber die Firewall verwirft den Handshake.
- Falscher öffentlicher Schlüssel oder Tippfehler beim Endpoint — WireGuard meldet keine Fehler, es schweigt einfach. Ein Blick unter VPN → WireGuard → Status zeigt, ob je ein Handshake ankam.
- AllowedIPs-Kollision: Zwei Peers mit derselben Allowed-IP verdrängen sich gegenseitig — jede Client-IP nur einmal vergeben.
- Hinter CGNAT im Mobilfunk funktioniert der eingehende Weg nie — für Road-Warrior egal (der Client baut die Verbindung auf), relevant nur für Site-to-Site.
Wie weiter? #
Läuft der Tunnel, lohnen sich zwei Ausbaustufen: DNS durch den Tunnel (im Client die OPNsense/Unbound als DNS eintragen — dann funktionieren interne Hostnamen und Werbefilter auch unterwegs) und Site-to-Site zu einem zweiten Standort oder VPS.
Häufige Fragen
- Wie richte ich WireGuard auf OPNsense ein?
- Unter VPN → WireGuard eine Instanz mit Listen Port 51820 und einem eigenen Tunnelnetz anlegen, pro Endgerät einen Peer mit genau einer Allowed-IP aus dem Tunnelnetz erstellen und zwei Firewall-Regeln setzen: eingehend UDP 51820 auf dem WAN erlauben und den Zugriff der Clients auf die gewünschten Netze freigeben. Seit OPNsense 24.1 ist WireGuard fest im Kern integriert, ein Plugin ist nicht mehr nötig.
- Warum kommt bei WireGuard kein Handshake zustande?
- Die häufigsten Ursachen: UDP 51820 kommt nicht an (FritzBox-Freigabe auf die falsche IP oder Exposed Host nicht aktiv), die WAN-Regel fehlt, der öffentliche Schlüssel ist falsch oder der Endpoint vertippt. WireGuard meldet keine Fehler, es schweigt einfach — unter VPN → WireGuard → Status siehst du, ob je ein Handshake ankam. Bei DS-Lite ohne öffentliche IPv4 ist der Anschluss über IPv4 von außen gar nicht erreichbar.
- Funktioniert WireGuard hinter einer FritzBox?
- Ja. UDP-Port 51820 muss per Portfreigabe (Internet → Freigaben → Portfreigabe) an die interne IP der OPNsense weitergeleitet werden — oder die OPNsense ist als Exposed Host eingetragen. Als Endpoint im Client trägst du einen DynDNS-Namen ein, den die FritzBox oder die OPNsense per ddclient-Plugin aktuell hält.
- Was trage ich bei WireGuard unter AllowedIPs ein?
- In der Client-Konfiguration entscheidet AllowedIPs über den Modus: 0.0.0.0/0 schickt den kompletten Traffic durch den Tunnel, sinnvoll im offenen WLAN unterwegs. Für Split-Tunnel trägst du nur Heimnetz und Tunnelnetz ein. Auf der OPNsense-Seite bekommt jeder Peer genau eine Adresse aus dem Tunnelnetz — zwei Peers mit derselben Allowed-IP verdrängen sich gegenseitig.
- Geht WireGuard auch mit DS-Lite ohne öffentliche IPv4?
- Über IPv4 ist dein Anschluss dann von außen nicht erreichbar. Die Optionen: einen IPv6-Endpoint verwenden (der Client braucht dann IPv6), beim Provider eine echte IPv4 anfragen — oder der Umweg über ein Relay, etwa einen kleinen VPS als WireGuard-Hop.
Weiterlesen
OPNsense
OPNsense: read-only API-User fürs Monitoring statt Root-Key
Monitoring-Tools brauchen Lesezugriff auf die OPNsense — nicht die Schlüssel zur ganzen Firewall. So legst du einen dedizierten API-User mit genau den nötigen Rechten an, per Weboberfläche oder per API.
OPNsense
OPNsense + Unbound: Ein DNS-Server fürs ganze Netz
Unbound steckt schon in jeder OPNsense — richtig konfiguriert wird daraus ein rekursiver DNS-Resolver fürs ganze Netz: ohne Provider-DNS, mit DNSSEC, lokalen Hostnamen und optionalen Blocklisten.
OPNsense
OPNsense auf dem N100 als Haupt-Router: FritzBox nur noch als Access Point
Migration von der FritzBox zu OPNsense auf einem N100-Mini-PC — mit den Stolperfallen, die niemand vorher erzählt: gestrandete Geräte, DNS-Ausfallsicherheit und warum du nicht dauerhaft vom USB-Stick booten solltest.