labkompass

Guides · OPNsense

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.

Veröffentlicht:


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/32 fürs erste Gerät, 10.10.10.3/32 fü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:

  1. WAN: eingehend UDP auf Port 51820 erlauben (Destination: WAN address). Ohne diese Regel kommt kein Handshake zustande.
  2. 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:

  1. Kommt UDP 51820 überhaupt an? FritzBox-Freigabe auf die richtige interne IP? Exposed Host aktiv?
  2. 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).
  3. WAN-Regel vergessen? Der Klassiker: Instanz läuft, aber die Firewall verwirft den Handshake.
  4. 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.
  5. AllowedIPs-Kollision: Zwei Peers mit derselben Allowed-IP verdrängen sich gegenseitig — jede Client-IP nur einmal vergeben.
  6. 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.