VPN Tunnel zwischen einer FRITZ!Box und OPNsense

Letzte Aktualisierung am 05.08.2024, 12:08:02 Uhr

Vorwort

Aktuell nutze ich für die Kommunikation zwischen zwei Standorten einen klassischen IPSec Tunnel. Auf der einen Seite steht eine FRITZ!Box. Auf meiner Seite eine OPNsense. Inzwischen unterstützt auch die Firmware von AVM das neumodische VPN Protokoll WireGuard.

Umgebung/Voraussetzungen

FRITZ!Box

Parameter Wert Bemerkungen
FRITZ!Box Firmware FRITZ!OS:7.57
IP Subnetz 192.168.0.0/255.255.255.0 (24)
IP-Adresse der FRITZ!Box 192.168.0.1
DNS Namen 01234567890.myfritz.net Domain Service von AVM

OPNsense

Parameter Wert Bemerkungen
OPNsense Firmware OPNsense 23.7.9-amd64 FreeBSD 13.2-RELEASE-p5
IP Subnetz 192.168.52.0/255.255.255.128 (25)
IP Adresse der OPNsense 192.168.52.1
DNS Namen fw01.lan.daniel.wydler.eu Eigene Domain

Konfiguration IPSec Tunnel

Konfiguration der FRITZ!Box

Nachstehend die einzelnen Schritte für die Einrichtung des Tunnel Endpunktes.

Es handelt sich bei dem Subnetz 192.168.52.0/255.255.255.128 um das entfernte Subnetz auf der OPNsense. Aus dem später die Clients kommunizieren werden.
Fertig. Auf der FRITZ!Box ist nun alles eingerichtet.

Konfiguration der OPNsense

Punkt 1: Diese Einstellung sorgt dafür, dass die Gegenseite den Tunnel aufbauen muss. Gerade wenn die Gegenseite einen ISP nutzt, welche CGNAT einsetzen, ist diese Wert erforderlich.
Punkt 12: Hier ist der DNS Name der FRITZ!Box einzutragen.
Punkt 13: Hier ist das selbe Passwort einzugeben, wie bei der FRITZ!Box (VPN Kennwort).
Punkt 3: Es handelt sich hierbei um das Subnetz auf FRITZ!Box
Punkt 5: Es handelt sich hierbei um das Subnetz auf der OPNsense.

Testergebnis

Wenige Sekunden später ist der VPN Tunnel aufgebaut.

IMCP-ECHO (Ping) von einem Client hinter der OPNsense auf die FRITZ!Box:

IMCP-ECHO (Ping) von einem Client hinter der FRITZ!Box auf die OPNsense:

Konfiguration WireGuard Tunnel

Konfiguration der FRITZ!Box

Es handelt sich bei 192.168.52.0/255.255.255.128 um ein Subnetz, welches über den Tunnel später nutzbar sein soll.
An der Stelle nicht vergessen, die Einstellungen herunterladen. Diese sind später für die Konfiguration des WG Tunnels auf der OPNsense notwendig.
     

Konfiguration der OPNsense

Ausgangslage ist die Datei „wg_config.conf“, welche zuvor von der FRITZ!Box exportiert wurde. Nachstehend exemplarisch der Inhalt meiner Datei.

[Interface]
PrivateKey = +KNDqTqsl6AE+wk00000000000000000fI8OcgsoYm0=
Address = 192.168.52.1/25
DNS = 192.168.0.1
DNS = fritz.box

[Peer]
PublicKey = BsCeBZKtKgNpcTFE0000000000000000nH428NzXFH4=
PresharedKey = 8PVl9EW3DG9rNcG0000000000000ndJkNTk+knncpPk=
AllowedIPs = 192.168.0.0/24
Endpoint = 3sx0w000000jjzyr.myfritz.net:50205
PersistentKeepalive = 25

So kann jeder Zeit nachvollzogen werden, welcher Wert der FRITZ!Box in der WireGuard Konfiguration verwendet wurde.

Falls der Port 51281 bereits in Verwendung ist, den nächst höheren, freien Port eingeben.
Damit Die WireGuard Instanz auch über das Internet über den Port 51281 erreichbar ist, ist hierfür eine neue Regel auf dem WAN Interface notwendig.

Abschließend nicht vergessen auf der OPNsense die notwendigen Firewall Regeln von und zu dem jeweiligen Standort auf den Interfaces anzulegen.

Testen der Tunnel Verbindung

Nachstehend natürlich noch ein Funktionstest des WireGuard Tunnels. Und zwar von der OPNsense in Richtung der FRITZ!Box.

Auf der FRITZ!Box hat man leider nur rudimentäre Prüfungsmöglichkeit.

Sonstiges

Wird als Endpoint Adresse eine FQDN verwendet, wird dieser ausschließlich beim Start des Tunnels aufgelöst. Wenn für einen oder beide Standorte dynamische IP-Adressen verwendet werden, funktioniert der Tunnel nicht mehr. Passiert immer dann wenn durch eine Zwangstrennung o.ä. seitens Provider die IPv4 Adresse und/oder IPv6 Präfix gewechselt wird.

Abhilfe schafft in diesen Fall ein neuer Cron auf der OPNsense:

In diesen Fall wird der Cron jeden Tag im Jahr um 04:20 Uhr ausgeführt. Dieser Zeitpunkt muss natürlich die jeweiligen Gegebenheiten angepasst werden.

Viel Spaß beim Ausprobieren. 🙂

Abonnieren
Benachrichtige mich bei
0 Comments
neueste
älteste
Inline Feedbacks
View all comments