ADMIN

2023

05

2023-04-28T12:00:00

Lokale Netzwerke

SCHWERPUNKT

090

Netzwerkinfrastruktur

Betriebssystem

Virtual Private Network

WireGuard-VPN mit der FRITZ!Box nutzen

Tunnelbauer

von Dr. Christian Knermann

Veröffentlicht in Ausgabe 05/2023 - SCHWERPUNKT

Mit dem Router-Betriebssystem FRITZ!OS 7.50 optimiert AVM die VPN-Funktionen diverser Modelle der FRITZ!Box-Familie. Alternativ zu IPSec hält dabei auch das neuere WireGuard Einzug. Das ist deutlich schneller als IPSec und einfacher in der Konfiguration. Wir helfen bei der Einrichtung von Clients und der Vernetzung von Standorten.

In großen Unternehmen kümmern sich in der Regel dedizierte Router und Firewalls namhafter Netzwerkausrüster um virtuelle private Netze (VPN) zwischen Zentrale und Außenstellen sowie um die Anbindung mobiler User. Für die Vernetzung von Standorten untereinander kommt dabei oftmals IPSec zum Einsatz. Zur Integration von Clients setzen die etablierten Hersteller auf eigene Softwareclients oder Kompatibilität zu Open-Source-Werkzeugen wie OpenConnect oder OpenVPN.
Welche Möglichkeiten, VPN-Verbindungen aufzubauen, bieten sich aber kleinen Unternehmen und Selbständigen im SOHO (Small Office / Home Office), die sich weder dedizierte Systeme noch dafür ausgebildete Admins leisten können oder wollen? Wer nach passenden Lösungen sucht, stößt unweigerlich auch hier auf IPSec und OpenVPN, die zunehmend Konkurrenz von der VPN-Software WireGuard bekommen.
Letztere hat der Hersteller AVM ab der Version 7.50 seines hauseigenen Betriebssystems FRITZ!OS für diverse Modelle aus der verbreiteten FRITZ!Box-Familie implementiert. Bis zum Redaktionsschluss für diese Ausgabe war FRITZ!OS 7.50 [1] bereits für die Modelle 7590, 7590 AX, 7583, 7583 VDSL, 7530, 7520, 7510, 6690 Cable, 6660 Cable sowie 6591 Cable final verfügbar. Zusätzlich bietet der Hersteller im "Fritz! Labor" [2] frische Beta-Versionen für zahlreiche weitere Modelle an – darunter sogar den älteren, in freier Wildbahn noch häufig anzutreffenden DSL-Router FRITZ!Box 7490.
In großen Unternehmen kümmern sich in der Regel dedizierte Router und Firewalls namhafter Netzwerkausrüster um virtuelle private Netze (VPN) zwischen Zentrale und Außenstellen sowie um die Anbindung mobiler User. Für die Vernetzung von Standorten untereinander kommt dabei oftmals IPSec zum Einsatz. Zur Integration von Clients setzen die etablierten Hersteller auf eigene Softwareclients oder Kompatibilität zu Open-Source-Werkzeugen wie OpenConnect oder OpenVPN.
Welche Möglichkeiten, VPN-Verbindungen aufzubauen, bieten sich aber kleinen Unternehmen und Selbständigen im SOHO (Small Office / Home Office), die sich weder dedizierte Systeme noch dafür ausgebildete Admins leisten können oder wollen? Wer nach passenden Lösungen sucht, stößt unweigerlich auch hier auf IPSec und OpenVPN, die zunehmend Konkurrenz von der VPN-Software WireGuard bekommen.
Letztere hat der Hersteller AVM ab der Version 7.50 seines hauseigenen Betriebssystems FRITZ!OS für diverse Modelle aus der verbreiteten FRITZ!Box-Familie implementiert. Bis zum Redaktionsschluss für diese Ausgabe war FRITZ!OS 7.50 [1] bereits für die Modelle 7590, 7590 AX, 7583, 7583 VDSL, 7530, 7520, 7510, 6690 Cable, 6660 Cable sowie 6591 Cable final verfügbar. Zusätzlich bietet der Hersteller im "Fritz! Labor" [2] frische Beta-Versionen für zahlreiche weitere Modelle an – darunter sogar den älteren, in freier Wildbahn noch häufig anzutreffenden DSL-Router FRITZ!Box 7490.
WireGuard auf dem Vormarsch
WireGuard [3] ist als quelloffene Software unter der Lizenz GNU GPLv2 für zahlreiche Plattformen kostenfrei verfügbar. Als wir uns zum ersten Mal mit den Grundlagen dieser VPN-Technologie beschäftigten, befand sich das Projekt noch in einem experimentellen Stadium, glänzte aber bereits mit simpler Konfiguration und deutlich höherer Geschwindigkeit als IPSec und OpenVPN.
Zudem ist WireGuard robust gegenüber instabilen Verbindungen und Roaming zwischen verschiedenen Netzen. So macht eine laufende VPN-Sitzung klaglos etwa einen Wechsel zwischen WLAN und Mobilfunknetz mit. Selbst die vor allem an privaten Internetzugängen immer noch übliche Zwangstrennung nach 24 Stunden bringt die Software nicht ins Schleudern.
WireGuard verwendet als Transportmedium wahlweise eine IPv4- oder IPv6-Verbindung, hat folglich auch mit Kabel- oder Glasfaser-Anschlüssen (FTTH, Fiber-to-the-Home) keine Probleme. Das gilt ebenso, wenn diese Dual-Stack Lite (DS-Lite) verwenden und somit neben ihrer IPv6-Adresse keine öffentliche IPv4-Adresse mehr erhalten. Laut AVM funktioniert zwar ab FRITZ!OS 7.50 auch IPSec via IPv6, doch im Hinblick auf die Geschwindigkeit und den Aufwand der Konfiguration hat WireGuard die Nase vorn.
Die Software setzt auf UDP und nutzt standardmäßig den Port 51.820/UDP. FRITZ!OS wählt pro Verbindung stattdessen einen zufälligen High-Port zwischen 49.152 und 65.535/UDP. Innerhalb eines Tunnels unterstützt WireGuard sowohl IPv4 als auch IPv6 und UDP wie auch TCP.
Alles einfacher mit FRITZ!OS 7.50
Aufgrund seiner Vorteile hat sich WireGuard schnell als Alternative zu den alteingesessenen Techniken etabliert und ist bereits seit der Version 5.6 des Linux-Kernels fester Bestandteil des freien Betriebssystems. Sie finden zudem Implementierungen für Microsoft Windows, Apple macOS sowie die mobilen Betriebssysteme Apple iOS und Google Android auf der Projektseite und in den App Stores der jeweiligen Plattformen.
Wollten Sie vor FRITZ!OS 7.50 in den Genuss von WireGuard kommen, blieb Ihnen nur, hinter Ihrem Router eine separate Maschine als Endpunkt für das VPN zu installieren. Dabei kann es sich etwa um einen weiteren Router mit der speziell dafür konzipierten Linux-Distribution OpenWrt, einen Raspberry Pi oder eine virtuelle Maschine handeln. Jede dieser Alternativen bedeutet aber eine weitere Komponente, die ausfallen kann, überwacht und regelmäßig mit Updates versorgt werden möchte. Weiterhin müssen Sie in allen Fällen dafür sorgen, dass der primäre Router eine statische Route zum entfernten Standort über die separate Maschine leitet, und die weitere Wire-Guard-Konfiguration manuell erledigen.
Einfacher gelangen Sie mithilfe des grafischen Werkzeugs Firezone zu einer Konfiguration und etablieren dabei selbst fortgeschrittene Funktionen, wie eine separate Anmeldung mit Benutzernamen und Passwörtern. Für solch ein Vorhaben benötigen Sie allerdings weiterhin eine separate WireGuard-Installation, denn AVM hat die Optionen in der Oberfläche von FRITZ!OS auf das Wesentliche reduziert, sodass Sie mit geringstmöglichem Aufwand zu Konfigurationen sowohl für die Vernetzung von Standorten als auch für den Zugriff mobiler Clients gelangen.
Bild 1: In der Übersicht sehen Sie aktive Standortkopplungen sowie eingehende Clientverbindungen.
Konflikte im Netzwerk vermeiden
Die vorbereitenden Schritte sind unabhängig davon, ob Sie ein VPN per IPSec oder WireGuard etablieren möchten. Wenn zwei zu vernetzende Standorte identische IPv4-Adressbereiche verwenden, ist keine VPN-Verbindung zwischen ihnen möglich. Gleiches gilt für Netze, in denen sich Ihre Clients tummeln. Da Router vom Typ FRITZ!Box sehr verbreitet sind und als Voreinstellung intern sämtlich den Adressbereich 192.168. 178.0/24 nutzen, sind in der Praxis Konflikte wahrscheinlich.
Ändern Sie folglich auf allen Boxen, die an Ihrer VPN-Infrastruktur teilnehmen sollen, den Adressbereich. Navigieren Sie dazu in der Admin-Oberfläche der Box zum Menüpunkt "Heimnetz / Netzwerk" und auf der Registerkarte "Netzwerkeinstellungen" weiter zum Bereich "LAN-Einstellungen". Dort expandieren Sie die weiteren Einstellungen und finden weiter unten auf der Seite bei den "IP-Adressen" die Schaltfläche "IPv4-Einstellungen". Ändern Sie hier pro Box deren IP-Adresse und Subnetzmaske auf einen individuellen Wert. Dabei haben Sie die freie Wahl aus den von der Internet Assigned Numbers Authority (IANA) für die private Verwendung reservierten Adressbereichen [4].
In gewachsenen lokalen Netzen führt dies zu Unterbrechungen, da alle bereits verbundenen Clients per DHCP neue Adressen beziehen müssen. Erledigen Sie die Aufgabe jedoch unbedingt, bevor Sie Wire­Guard-Verbindungen konfigurieren. Ändern Sie den Adressbereich erst zu einem späteren Zeitpunkt, müssen Sie sämtliche VPN-Verbindungen danach entfernen und neu konfigurieren. FRITZ!OS macht die Einrichtung von WireGuard zwar denkbar einfach, bietet aber aktuell leider keine Möglichkeit, Verbindungen nachträglich zu editieren.
Dynamisches DNS einrichten
Sorgen Sie nun dafür, dass Ihre Boxen dynamisch extern erreichbare Namen im DNS registrieren. Dazu können Sie grundsätzlich unter "Internet / Freigaben" auf der Registerkarte "DynDNS" einen beliebigen Drittanbieter integrieren. Einfacher geht es aber über den von AVM selbst betriebenen Dienst MyFRITZ! [5]. Registrieren Sie sich auf dessen Webseite für ein kostenloses Konto und nutzen Sie dabei möglichst die Option, die Anmeldung zusätzlich zum Passwort mit einem zweiten Faktor abzusichern. AVM unterstützt generische Time-based One-Time-Passwords mit beliebigen Authenticator-Apps oder die biometrischen Funktionen geeigneter Smartphones.
Daraufhin melden Sie Ihre Boxen in deren Admin-Oberfläche unter "Internet / MyFRITZ!-Konto" am Onlinedienst an. Sobald Sie den Vorgang mittels per E-Mail übermitteltem Bestätigungslink abgenickt haben, erscheinen Ihre Boxen in der Geräteübersicht des Webdienstes. Die jeweilige MyFRITZ!-Adresse finden Sie dort im Bereich "FRITZ!Box-Informationen und Zugänge" sowie in den lokalen Weboberflächen der Boxen unter "MyFRITZ!-Internetzugriff". Notieren Sie diesen dynamischen DNS-Namen zur weiteren Verwendung.
FRITZ!OS lässt sich Benutzerkonten und VPN-Zugänge nicht ohne Weiteres unterschieben, sondern verlangt bei der Einrichtung, dass Sie die Vorgänge durch Eingabe eines Zahlencodes an einem Telefon oder über eine der lokalen Tasten des Routers quittieren. Bei der folgenden Konfiguration von VPN-Verbindungen benötigen Sie daher ein mit der jeweiligen FRITZ!Box verbundenes Telefon oder physischen Zugriff auf die Box.
Bild 2: FRITZ!OS exportiert die VPN-Konfiguration als QR-Code und Textdatei.
Standortkopplung per IPSec
Das Webfrontend der FRITZ!Box verbirgt die Komplexität der VPN-Konfiguration weitestgehend. Die Verwendung von IPSec verlangt aber das Jonglieren mit Benutzernamen, Passwörtern und geheimen Schlüsseln. Navigieren Sie zum Menüpunkt "Internet / Freigaben" und dort auf die Registerkarte "VPN (IPSec)". Weiter geht es mit der Schaltfläche "VPN-Verbindung hinzufügen".
Hier haben Sie die Möglichkeit, die Boxen zweier Standorte miteinander zu verbinden. Dazu müssen Sie ein möglichst komplexes VPN-Kennwort, den Preshared Key, festlegen und den DynDNS-Namen sowie Netzwerk und Subnetzmaske der Gegenseite eintragen. Im Frontend der Gegenstelle tippen Sie denselben Preshared Key und die Informationen der lokalen Niederlassung ein. Weiterhin können Sie aktivieren, dass die Boxen die VPN-Verbindung dauerhaft halten sollen. Eine zusätzliche Option erlaubt NetBIOS, sodass Datei- und Druckerfreigaben standortübergreifend funktionieren.
Wartet auf der Gegenseite keine FRITZ!Box, sondern ein Firmen-VPN mit der Firewall eines Drittanbieters, benötigen Sie zusätzlich zum Preshared Key auch noch einen VPN-Benutzernamen (Key-ID) sowie beim optionalen Einsatz von XAUTH noch einen weiteren Benutzernamen nebst Passwort.
Umständliches Client-VPN per IPSec
Möchten Sie den VPN-Zugang für mobile Clients einrichten, gelingt dies nicht ohne ein Benutzerkonto. Der Assistent zur Einrichtung leitet Sie daher um zum Menüpunkt "System / FRITZ!Box-Benutzer". Dort fügen Sie einen lokalen Benutzer hinzu, den Sie wiederum mit einem möglichst komplexen Passwort versehen und mindestens die Option "VPN" aktivieren.
Sie finden den Benutzer anschließend unter "Internet / Freigaben / VPN (IPSec)" wieder, wo Sie die zugehörigen VPN-Einstellungen anzeigen. Zum Benutzernamen und Passwort gesellt sich neben dem DynDNS-Namen der Box noch ein IPSec-Schlüssel als Shared Secret. Dabei handelt es sich um eine von FRITZ!OS gewürfelte Zeichenkette bestehend aus 16 Zeichen – Zahlen sowie große und kleine Buchstaben.
All diese Informationen müssen Sie auf sichere Weise an die Endanwender übermitteln, die sie fehlerträchtig manuell an den Clients eintippen dürfen. Immerhin bringen Apple macOS und iOS sowie Google Android ab Werk bereits integrierte IPSec-Clients mit. Für Debian-kompatible Linux-Distributionen mit dem Window-Manager GNOME empfiehlt AVM die Installation des zugehörigen VPN-Clients mittels
sudo apt-get install network-manager-vpnc-gnome
Für Microsoft Windows bis zur Version 10 stellt AVM mit der Software FRITZ!Fernzugang einen eigenen IPSec-VPN-Client zum Download bereit [8]. Ab Windows 11 empfiehlt AVM jedoch ausdrücklich die Verwendung von WireGuard. Und das erleichtert die Handhabung aller zuvor beschriebenen Anwendungsfälle deutlich.
Site-to-Site per WireGuard
WireGuard verbindet zwei Standorte ganz ohne Hantieren mit DynDNS-Namen und selbst generierten Preshared Keys. Unter der Annahme, dass Sie noch keine WireGuard-Verbindung konfiguriert haben, starten Sie die Einrichtung auf einer der beteiligten Boxen, exportieren die Konfiguration in eine Datei und importieren diese auf der Gegenseite.
Sie beginnen wiederum unter dem Menüpunkt "Internet / Freigaben" und diesmal auf der Registerkarte "VPN (WireGuard)". Starten Sie den Assistenten über die Schaltfläche "Verbindung hinzufügen" und entscheiden Sie sich für eine benutzerdefinierte Einrichtung. Die Frage, ob diese Verbindung bereits auf der Gegenseite vorhanden ist, verneinen Sie ebenso wie die Frage, ob Sie die neue Verbindung gleichzeitig zu einer bestehenden Verbindung der Gegenstelle nutzen wollen.
Letztere Option ist nur relevant, wenn Sie die Gegenstelle gleichzeitig mit mehreren Niederlassungen vernetzen möchten. Laut AVM ist das grundsätzlich möglich. Der Hersteller rät aber davon ab, mehr als 20 gleichzeitige VPN-Verbindungen zu konfigurieren. Wie viele tatsächlich praxistauglich sind, hängt aber von den verwendeten FRITZ!Box-Modellen, dem auftretenden Datenvolumen und der sonstigen Auslastung der Boxen ab.
Nun fragt der Assistent, ob Sie ein einzelnes Gerät oder einen anderen WireGuard-kompatiblen Router anbinden möchten. Für die Standortkopplung wählen Sie Letzteres. Daraufhin geben Sie der Verbindung einen Namen und tragen Netzwerkadresse sowie Subnetzmaske der Gegenseite ein.
Sie dürfen weiterhin entscheiden, ob künftig der gesamte Netzwerkverkehr den Weg über die VPN-Strecke nehmen soll oder nur die Zugriffe auf Ressourcen am entfernten Standort. Auch WireGuard unterstützt auf Wunsch NetBIOS für Datei- und Druckerfreigaben unter Win­dows. Optional können Sie den Zugriff auf die VPN-Verbindung auf bestimmte Geräte in Ihrem lokalen Netz beschränken. Klicken Sie anschließend auf "Fertigstellen" und speichern Sie die von FRITZ!OS generierte Konfigurationsdatei "wg_config.conf".
Am anderen Standort beginnen Sie den Lauf des Assistenten nun analog. Die Antwort auf die Frage, ob Sie die Verbindung bereits auf der Gegenstelle erstellt haben, bejahen Sie nun aber. Daraufhin fragt der Assistent nur noch nach einem Namen für die Verbindung und importiert die Konfigurationsdatei. Sie können nun wechselseitig auf Ressourcen der jeweils entfernten Niederlassung zugreifen.
Clients per WireGuard anbinden
Anders als im Fall von IPSec koppelt FRITZ!OS die Berechtigung zum Zugriff beim WireGuard-VPN nicht an Benutzerkonten. Wir empfehlen daher, pro Client eine separate Geräteverbindung zu konfigurieren. So können Sie bei Kompromittierung, Verlust oder Defekt einzelner Clients ganz einfach dessen Verbindung deaktivieren oder löschen, ohne die übrigen Clients auszusperren.
Zur Integration von Clients starten Sie wiederum den Assistenten. Diesmal genügt jedoch die "Vereinfachte Einrichtung". Der Assistent verlangt dann lediglich nach einem Namen. Wählen Sie eine Bezeichnung, mit der Sie den jeweiligen Client eindeutig identifizieren können – fertig. Der Assistent erstellt nun automatisch eine passende WireGuard-Konfiguration und bietet Ihnen diese als QR-Code sowie als Konfigurationsdatei zum Download an.
Auf mobilen Begleitern unter Apple iOS oder Google Android installieren Sie nun die WireGuard-App aus dem Store der jeweiligen Plattform. Starten Sie die App, wählen Sie "Tunnel hinzufügen \ Aus QR-Code erstellen". Die App verlangt nun Zugriff auf die Kamera des Geräts, liest den QR-Code ein und ist anschließend bereit, eine VPN-Verbindung aufzubauen.
Auch unter macOS laden Sie die App aus dem Store. Die Setuproutine für Clients ab Windows 7 aufwärts sowie Hinweise zur Installation für zahlreiche Linux-Distributionen finden Sie auf der Webseite des Projekts. In allen Fällen füttern Sie die Client-App mit der Konfigurationsdatei und sind damit in der Lage, aus der Ferne per VPN auf das Netz hinter ihrer FRITZ!Box zuzugreifen.
Im Webfrontend der Box sehen Sie anschließend, welche VPN-Verbindungen gerade aktiv sind, zuoberst die Standortkopplungen und darunter die einzelnen Clients.
Fazit
Mit Version 7.50 seines Router-Betriebssystems FRITZ!OS hat AVM einen großen Schritt in der Entwicklung gemacht. WireGuard als zusätzliche VPN-Variante neben IPSec macht den Boxen Beine, funktioniert bestens auch via IPv6 und ist noch dazu denkbar einfach in der Einrichtung. Kleine Büros und Außenstellen mit wenigen Benutzern profitieren somit und können den Zugriff von extern komfortabel mit einer FRITZ!Box abwickeln. Auch die Kopplung von Standorten ist kein Hexenwerk.
Wer komplexere Konfigurationen abbilden oder viele Benutzer und Geräte unterstützen will, installiert weiterhin besser einen separaten WireGuard-Server oder greift zu einer dedizierten Firewall. Kosten und Aufwand steigen damit jedoch nennenswert gegenüber der simplen Handhabung der Systeme aus dem Hause AVM.
(ln)
Link-Codes
[1] FRITZ!OS 7.50: http://it-a.eu/n5z61/
[2] FRITZ! Labor: http://it-a.eu/n5z62/
[3] WireGuard: http://it-a.eu/m7z55/
[4] Private IP-Adressräume gemäß IANA: http://it-a.eu/n5z64/
[5] MyFRITZ!: http://it-a.eu/n5z65/
[6] VPN mit FRITZ!Box: http://it-a.eu/n5z66/