WireGuard-VPN auf OPNsense-Firewall einrichten | WindowsPro (2024)

WireGuard-VPN auf OPNsense-Firewall einrichten | WindowsPro (1)Beim Einsatz einer OPNsense-Firewall lässt sich WireGuard als VPN-Server als Alternative zu OpenVPN nutzen. Er hat den Vorteil, sehr schlank und schnell zu sein, zudem gibt es Clients für alle gängigen Betriebssysteme. Die Installation erfolgt als OPNsense-Erweiterung und die Konfiguration über die Web-Konsole fällt nicht schwer.

Der Aufbau einer VPN-Infrastruktur mit WireGuard auf OPNsense erfordert mehrere Schritte:

  • WireGuard installieren
  • WireGuard-Instanz erzeugen und konfigurieren
  • Netzwerk-Interface für den VPN-Server konfigurieren
  • Firewall-Regel für VPN erzeugen
  • WireGuard-Client installieren und anpassen
  • Clients auf dem VPN-Server eintragen
  • Verbindung zum WireGuard-Server testen

WireGuard als Erweiterung hinzufügen

Um ein WireGuard-VPN zu betreiben, muss man es zuerst unter System => Firmware => Erwei­terungen installieren. Diese trägt die Bezeichnung os-wireguard. Nach der Installation ist bei VPN der neue Menüpunkt WireGuard zu finden. Wird er nicht angezeigt, dann hilft eine Aktualisierung des Browser-Fensters.

Neue WireGuard-Instanz anlegen

Zuerst erstellt man auf der Registerkarte Instances unter VPN => WireGuard mit einem Klick auf das Pluszeichen einen neuen WireGuard-Server. Mithin kann man wie bei OpenVPN auch mit WireGuard auf einer OPNsense-Firewall mehrere Server betreiben. Für den neuen Server vergibt man zuerst einen Namen, wie er auf der Oberfläche angezeigt werden soll.

Bei Hörender Port wird der Port angegeben, auf dem der VPN-Server auf Anfragen lauscht. Diesen muss man später auch in der Firewall freischalten. Bei Tunnel address trägt man das Subnetz ein, in dem sich künftig die VPN-Schnittstelle und die Clients befinden.

In unserem Beispiel arbeiten wir mit dem Subnetz 172.16.2.1/24, wobei dann das VPN-Interface die IP-Adresse 172.16.2.1 erhält.

Alle anderen Felder müssen bei der Erstellung nicht ausgefüllt werden. Möchte man die Routing-Regeln selbst erstellen, dann kann man hier noch Disable routes anhaken. Nach dem Speichern wird mit Anwenden die Konfiguration des Servers in OPNsense gesichert.

Durch das Speichern erstellt OPNsense automatisch einen öffentlichen Schlüssel für den VPN-Server. Dieser wird später für den Handshake mit den Clients benötigt.

Öffnet man die Konfiguration des Servers erneut, dann sind bei Öffentlicher Schlüssel und Privater Schlüssel die beiden Felder automatisch ausgefüllt. Hier markiert man den öffentlichen Schlüssel und kopiert ihn in eine Textdatei, weil wir ihn später noch einmal benötigen.

Im Anschluss kann man WireGuard unter Allgemein aktivieren, was man wiederum mit Anwenden bestätigt muss.

Netzwerkschnittstellen für WireGuard konfigurieren

Um das VPN mit der OPNsense zu verbinden, ist unter Schnittstellen noch die Konfiguration des VPN-Interfaces erforderlich. Bei Zuweisungen sind die vorhandenen Schnittstellen zu sehen. Hier erzeugt man das neue Interface und weist dieses an WireGuard-VPN zu.

Durch einen Klick auf das neue Interface öffnet sich das Fenster mit dessen Konfiguration. Hier aktiviert man diese über die entsprechende Checkbox. Zudem ist es sinnvoll, an dieser Stelle auch gleich Verhindere die Schnittstellenentfernung zu setzen, um ein versehentliches Löschen zu verhindern.

Für die Namensauflösung im internen Netzwerk kann man Unbound DNS auf OPNsense einrichten.

Firewall-Regeln für WireGuard-VPN erstellen

Als nächstes erstellt man unter Firewall => Regeln => WAN eine Regel, die den Zugriff über das Internet auf den VPN-Server gestattet.

Beim Definieren einer neuen Regel wählt man die Aktion Erlauben und die Schnittstelle WAN aus. Bei Richtung entscheidet man sich für die Option in, bei TCP/IP-Version für IPv4, bei Protokoll für UDP und bei Quelle Jeglich.

Wichtig ist es, bei Zielportbereich unter von und an den Port anderer zu wählen und die Portnummer anzugeben, die man bei der Erstellung des Servers angegeben hat. Sie ist unter VPN => WireGuard zu finden. An dieser Stelle kann man noch die Option Protokolliere Pakete, die von dieser Regel behandelt werden aktivieren.

Mit einer weiteren Regel legt man fest, wie der Datenverkehr der VPN-Clients zum internen Netzwerk verlaufen soll. Wählen sich Clients per VPN ein, dann befinden sich diese zunächst im VPN-Netz, dessen IP-Bereich bei der Erstellung des Servers angegeben wurde.

Von hier müssen sie zu den jeweiligen Anwendungen im lokalen Netzwerk kommen. Diese Regeln konfiguriert man über Firewall => Regeln => <WireGuard-Schnittstelle>. Generell ist es empfehlens­wert, die Regeln so zu gestalten, dass die VPN-Clients nur auf die Geräte zugreifen dürfen, die sie tatsächlich brauchen.

Dazu wählt man beim Erstellen einer neuen Regel unter Aktion die Option Erlauben und bei Schnittstelle jene von WireGuard aus. Bei Richtung entscheidet man sich für in und bei Protokoll für any, und bei Quelle und Ziel kann man jeglich auswählen, wenn man den Zugang zu sämtlichen Ressourcen im Netz zulassen möchte.

WireGuard-Clients installieren und anpassen

Im Anschluss daran installiert man den WireGuard-Client, zum Beispiel in Windows. Danach kann man mit Tunnel hinzufügen eine neue Verbindung konfigurieren.

Im ersten Schritt vergibt man einen Namen für die VPN-Verbindung. Den Wert für Öffentlicher Schlüssel speichert man wieder in einer Textdatei, da man ihn später auf dem Server eintragen muss.

Bei [Interface] gibt man die IP-Adresse ein, die der Client im VPN-Subnetz erhalten soll. Diese haben wir bereits beim Erstellen des VPN-Servers festgelegt. In unserem Beispiel weisen wir dem Windows-PC die IP-Adresse 172.16.2.11 zu. Bei DNS trägt man entweder einen internen DNS-Server oder die IP-Adresse des VPN-Servers ein.

Bei [PEER] muss man unter Endpoint den Namen oder die IP-Adresse des VPN-Servers inklusive Port angeben. Bei AllowedIPs hinterlegt man, für welche IP-Adressen der Traffic durch den VPN-Tunnel laufen soll. In diesem Beispiel ist dies das Subnetz 10.0.0.0/16, also das LAN, das zur OPNsense-Firewall gehört.

Soll nach einer VPN-Verbindung der ganze Datenverkehr über das VPN gehen, auch jener zum Internet, ist hier die Angabe von 0.0.0.0/0 notwendig.

Bei PublicKey trägt man den öffentlichen Schlüssel des WireGuard-VPN-Servers ein, den wir weiter oben in einer Textdatei gespeichert haben. Den öffentlichen Schlüssel des Clients geben wir hingegen in die Konfiguration des WireGuard-Servers ein.

VPN-Clients in WireGuard konfigurieren

In der Web-Oberfläche von OPNsense konfiguriert man die VPN-Clients auf der Registerkarte Peers unter VPN => WireGuard => Einstellungen. Über das Pluszeichen erstellt man einen neuen Client und legt dessen Namen fest.

In das Feld Öffentlicher Schlüssel kopiert man den Key des Clients. Bei Zugelassene IPs trägt man die IP-Adresse ein, die man dem Client in seiner Konfiguration zugewiesen hat.

Ein Pre-shared key kann in einer produktiven Umgebung sinnvoll sein, in der Testumgebung verzichten wir darauf. Mit Speichern wird der Client erstellt.

Danach wechselt man zu Instances und öffnet die Einstellungen des WireGuard-Servers. Unter Peers setzt man bei dem neuen Client einen Haken, damit der Server diesen bei einer Verbindung akzeptiert.

Danach ist es empfehlenswert, über Lobby => Dashboard den WireGuard-Dienst neu zu starten.

Verbindungsaufbau mit dem VPN-Client

Im Anschluss kann man auf dem Client testweise eine Verbindung aufbauen. Bei Übertragen muss der Wert für empfangene und gesendete Daten ansteigen. Bleibt hier eine 0 stehen, hat der Handshake nicht geklappt.

In diesem Fall sollte man überprüfen, ob der öffentliche Schlüssel für den Server am Client und der des Clients auf dem Server richtig hinterlegt ist. Außerdem muss der Client in den Einstellungen des Servers bei Peers eingetragen sein.

Bei Protokoll sind Informationen zur Verbindung zu sehen und die OPNsense-Firewall zeigt die Verbindungen unter VPN => WireGuard => Diagnose an. Hier sind alle aktiven Clients zu erkennen.

Zusammenfassung

Die Installation von WireGuard auf OPNsense erfolgt durch Hinzufügen einer Erweiterung. Anschließend konfiguriert man dessen Interface und kümmert sich um die Namensauflösung, wobei sich dafür mit Unbound DNS ein weiterer OPNsense-Dienst anbietet.

Anschließend bestimmt man mit Hilfe von Firewall-Regeln, auf welche Ressourcen die Clients zugreifen dürfen. Schließlich richtet man die VPN-Clients ein, wobei dafür die öffentlichen Schlüssel des Servers und Clients wechselseitig in die jeweilige Konfiguration eingetragen werden müssen.WireGuard-VPN auf OPNsense-Firewall einrichten | WindowsPro (15)

WireGuard-VPN auf OPNsense-Firewall einrichten | WindowsPro (2024)

FAQs

How do I know if WireGuard VPN is working? ›

To view the status of one or more WireGuard tunnels, use the show wireguard [<instance>] command. This command prints the status of all WireGuard tunnels and can optionally limit the output to a specific instance.

Does WireGuard mask your IP? ›

The main drawback of the WireGuard protocol is that it was not built for anonymity and privacy. Its privacy is primarily questioned because it requires users to log their data. Instead of assigning a different IP address to the user, it gives the same IP address each time.

What is allowed IPS in WireGuard? ›

The keyword allowed-ips is a list of addresses that will get routed to the peer. Make sure to specify at least one address range that contains the WireGuard connection's internal IP address(es).

How to setup WireGuard VPN? ›

You can use WireGuard VPN tunnel by just following the 5 main steps given below:
  1. Download and install WireGuard for both server and clients.
  2. Generate cryptographic key pairs(Public and private keys) for both server and clients.
  3. Configure WireGuard tunnel interfaces on both server and clients.
Feb 2, 2024

How do I know if my VPN is working properly? ›

How do I check if a VPN is working? Visit websites such as WhatIsMyIP or IPLocation to see your original IP address. After connecting to a VPN, revisit the IP address checking website to recheck your IP address. The VPN works if the displayed IP address differs from your original IP address.

Why is WireGuard VPN not working? ›

When a WireGuard connection isn't working, it's usually one of four things: a WireGuard configuration problem, a firewall problem, a routing problem, or a DNS problem. The tcpdump utility can help you quickly diagnose what kind of problem it is, by identifying where packets are going awry.

What are the disadvantages of WireGuard? ›

Known Limitations
  • Deep Packet Inspection. WireGuard does not focus on obfuscation. ...
  • TCP Mode. ...
  • Hardware Crypto. ...
  • Roaming Mischief. ...
  • Identity Hiding Forward Secrecy. ...
  • Post-Quantum Secrecy. ...
  • Denial of Service. ...
  • Unreliable Monotonic Counter.

Can police track IP with VPN? ›

With a court order, police can request the ISP to provide subscriber details. VPNs, on the other hand, mask IP addresses by routing traffic through servers. However, if a VPN keeps logs or is compelled to disclose user info, IP addresses can be traced.

Can ISP see WireGuard traffic? ›

Your VPN protocol.

VPN protocols, such as OpenVPN, WireGuard®, or IKEv2/IPsec, are responsible for safe, stable, and fast connection between your device, VPN server, and the website you want to reach. Your ISP will see which VPN protocol you're using.

What network ports does WireGuard use? ›

What ports do you use for WireGuard? UDP ports 53, 80, 443, 1194, 2049, 2050, 30587, 41893, 48574, 58237.

Does WireGuard need a public IP address? ›

We recommend obtaining a public IP address from your ISP. Learn more" "Your WAN IP address is assigned via DHCP and may regularly change. This will cause VPN clients to disconnect until they are reconfigured with the new IP address.

What is the default port for WireGuard? ›

The port used by the peer for WireGuard traffic. The default port is 51820 if left empty.

What are the minimum requirements for WireGuard VPN? ›

Wireguard minimum requirements
  • 1GHz or faster CPU with AES-NI support.
  • At least 2GB of RAM.
  • At least 1GB storage.
Jan 3, 2023

How do I add an IP address to WireGuard? ›

  1. Step 1: Expose Wireguard VPN Server to the Internet. Your Public IP Address. ...
  2. Step 2: Setup Wireguard VPN Server. Install the wireguard software and dependencies. ...
  3. Step 3: Setup client connections. ...
  4. Step 4: Setup clients. ...
  5. Step 5: Test Connection.
Sep 29, 2023

Is WireGuard TCP or UDP? ›

Networking. WireGuard uses only UDP, due to the potential disadvantages of TCP-over-TCP. Tunneling TCP over a TCP-based connection is known as "TCP-over-TCP", and doing so can induce a dramatic loss in transmission performance (a problem known as "TCP meltdown").

How do I check the status of my WireGuard client? ›

If it's less than two minutes old, the client is connected. If the latest handshake line is missing entirely, the peer has never connected successfully! If in doubt, you can often ping the client to verify.

Is WireGuard always on? ›

With on-demand, encrypted WireGuard® VPN connection will always be on your phone. It seamlessly creates a protected VPN connection to keep your device away from cyber threats once you leave your home WiFi environment, and use public WiFi or mobile cellular.

Can WireGuard be detected? ›

UDP: WireGuard uses UDP as its transport protocol. There is no standard port and typically WireGuard is detected through heuristics.

How do I activate the tunnel in WireGuard? ›

Configure a WireGuard Tunnel
  1. Navigate to VPN > WireGuard > Tunnels.
  2. Click. ...
  3. Fill in the WireGuard Tunnel settings as described in WireGuard Package Settings.
  4. Click Save Tunnel.
  5. Add firewall rules on Firewall > Rules, WAN tab to allow UDP traffic to the port for this WireGuard tunnel (WireGuard and Rules / NAT)
May 1, 2023

Top Articles
Latest Posts
Article information

Author: Annamae Dooley

Last Updated:

Views: 6080

Rating: 4.4 / 5 (65 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Annamae Dooley

Birthday: 2001-07-26

Address: 9687 Tambra Meadow, Bradleyhaven, TN 53219

Phone: +9316045904039

Job: Future Coordinator

Hobby: Archery, Couponing, Poi, Kite flying, Knitting, Rappelling, Baseball

Introduction: My name is Annamae Dooley, I am a witty, quaint, lovely, clever, rich, sparkling, powerful person who loves writing and wants to share my knowledge and understanding with you.