BlogVPN-Verbindung zur Office-Fritzbox vom heimischen Windows-PC aus einrichten

VPN-Verbindung zur Office-Fritzbox vom heimischen Windows-PC aus einrichten

Viele kleine oder auch mittelgroße Unternehmen setzen eine Fritzbox als VPN-Gateway ein. In vielen Fällen übernimmt die Fritzbox, wie in der Default-Konfiguration von AVM vorgesehen, zahlreiche weitere Rollen wie DSL-Modem, LAN-Router, WLAN-AP, Firewall oder DECT-Telefonie. Dieser Artikel zeigt, wie kleine Unternehmen auf ihrer Firmen-Fritzbox ein VPN-Gateway derart einrichten, dass Mitarbeiter von zuhause mit einem Client-PC (z. B. Windows 10) Verbindung zum Firmennetzwerk durch einen sicheren VPN-Tunnel aufbauen können. Ein solches Setup nennt man auch die Client-to-Site-VPN, wobei der Client in der Regel ebenfalls „hinter“ einem DSL-Router operiert, was in vielen Fällen ebenfalls eine Fritzbox sein dürfte. Die VPN-Funktionalität der Fritzbox basiert auf dem IPSEC-Framework.

Geschickt verschleiert

Auch wenn das IPSEC-Framework sehr komplex ist und vom Admin detailliertes Fachwissen im Kontext der bei IPSEC verwendeten Konzepte, Technologien und Algorithmen erfordert, liegt es auch im Wesen von IPSEC, dass Verbindungs-, Schlüsselaustausch- und Verschlüsselungs-Parameter mehr oder weniger automatisch ausgehandelt werden. Daher werden Fritzbox-Admins und Nutzer beim Einrichten eines VPN-Fernzugang zur Fritzbox überhaupt nicht mit Protokollen wie ESP/IKE, Hash-Verfahren wie SHA1/SHA245, Deffie  Hellman-Groups wie modp1024/ecp246 oder symetrischen Verschlüsselungs-Algorithmen wie AES256/Blowfisch in Berührung kommen. Trotzdem ist ein Grundverständnis der Zusammenhänge bei IPSEC essentiell für die Fehlersuche, etwa wenn Pakete im Tunnel verschwinden, die dort nicht hinein sollen und vice versa, denn die Krux bei IPSEC, z. B. gegenüber SSL-VPNs ist, dass es kein VPN-Device gibt, das man im Routing-Table entsprechend „behandeln,  kann.

Allerdings bleibt IPSEC im Hintergrund immer noch eine komplexe Angelegenheit, besonders im Kontext eines Client-to-Site-VPNs (Road Warrier-Szenario). Dieses ist hinsichtlich der Einrichtung und von den Prozessen her aufwendiger, als ein reines Transport-VPN zwischen VPN-Gateways, weil IPSEC vom Grundsatz her erstmal öffentliche IP-Adressen auf den beteiligten Peers erwartet.

Theorie und Praxis

In der Praxis werden aber eher selten reine Transport-VPNs zwischen Gateways, sondern in der Regel Client-to-Site-VPNs oder Site-to-Site-VPNs verwendet, bei denen mehrere Technologien/Aspekte mit IPSEC in Reinkultur kombiniert werden wie z. B. der Tunnel-Mode oder NAT. Außerdem sind Modem, Internet-Gateway, NAT-Router und VPN-Gateway in der Praxis nicht notwendigerweise im gleichen Gerät vereint, wie bei der Fritzbox. Daher müssen essentielle IPSEC-Parameter wie die SPD (Security Policy Database) und die SAD (Security Association Database) quasi dynamisch generiert werden. Erstere bildet die Grundlage für die Entscheidung seitens des VPN-Gateways „wie“ mit einem ankommenden IP-Paket verfahren werden soll (Discard, Protect  [also durch den VPN-Tunnel senden] oder Bypass); Zweitere enthält für jede aufgebaute IPSec-Verbindung die jeweils benötigte SA (Security Association). Zur Erinnerung: Die IPSEC-SAs sind unidirektional (es werden also immer Zwei pro Verbindung benötigt), die IKE-SA ist bidirektional. Security Associations enthalten pro Peer die jeweiligen Vereinbarungen darüber, „dass“ und in „welcher Form“ (VPN-Protokoll, Schlüsselaustauschverfahren, Verschlüsslungsprotokoll) die Partner miteinander kommunizieren wollen. In einen Client-to-Site-Szenario werden die SAs ebenfalls dynamisch erzeugt. Wie oben angedeutet, muss man sich bei „Fritzbox Fernzugang“ aber um die meisten dieser Dinge nicht kümmern, weil die Software zur VPN-Konfiguration zwei für das vorgesehene Client-Szenario passende cfg-Files erzeugt, die vom Admin lediglich „eingespielt“ werden. Schauen wir uns also den Workflow bei der Fritzbox an:

„FRITZ!Fernzugang!“ und „FRITZ!Box Fernzugang einrichten“ installieren

Anmerkung: Dieser Workshop funktioniert nur, für einen Client-PC mit Windows 10 (64Bit) bzw. Windows 8.1 / 8 / 7 (64/32Bit) und einer Fritzbox im Router-Betrieb, die vom Internet-Provider eine öffentliche IPv4-Adresse erhalten hat. Für den Client-Zugriff muss das Tool „FRITZ!Fernzugang“ installiert werden. Dieses können Nutzer unkompliziert direkt von AVM https://avm.de/service/vpn/uebersicht/ herunterladen.

Das heruntergeladene ZIP-Archiv muss lokal entpackt werden und enthält ein EXE-File, das die lokale Installation einleitet:

Nach der Installation ist ein Neustart fällig. Zudem muss von der gleichen Website das Programm „FRITZ!Box Fernzugang einrichten“ heruntergeladen und auf einem Windows-PC installiert werden.

Dieses Tool erlaubt eine komfortable VPN-Konfiguration, weil wie oben angedeutet alle Sicherheitseinstellungen automatisch erzeugt und in zwei Konfigurationsdateien (*.cfg)  geschrieben (Eine für die Fritzbox, eine für den Client) werden. Diese muss der Admin nach Abschluss der Konfiguration lediglich an der Ziel-Fritzbox, und im Programm „FRITZ!Fernzugang“ des Clients importieren. Dabei ist wichtig, dass beide „Seiten“ der IPSEC-VPN-Verbindung IP-Adressen aus unterschiedlichen privaten IP-Netzwerken benutzen. Es ist demnach nicht möglich, das folgende Setup von einem Windows-Server aus zu testen, der an der gleichen Fritzbox hängt. Das klappt auch dann nicht, wenn der Client-Rechner zwar mit einer anderen Fritzbox verbunden ist, diese aber wegen nicht angepasster Werkseinstellungen den gleichen IP-Adressbereich nutzt, wie die VPN-Fritzbox.

Adresskonflikte vermeiden

Möchte man das Setup lokal testen, besteht die einfachste Möglichkeit darin, den VPN-Client-Rechner (z. B. Windows Notebook) per USB- oder Bluetooth-Tethering mit einem LTE-Smartphone zu verbinden, was insbesondere bei USB-Tethering im Handumdrehen erledigt ist. Hierzu aktiviert man z. B. unter Android lediglich im Menü „Mobilfunktnetz / Tethering & mobiler Hotspot“ den Schieber bei „UBS-Tethering“ und verbindet das Smartpone per UBS-Kabel mit dem Notebook. Dieses stellt dann unmittelbar ein Ethernet-Device mit einer z. B. vom vorhandenen WLAN unabhängigen IP-Konfiguration zur Verfügung. Im Real-World-Szenarien muss man auf Client-Seite einen anderen DSL-Router mit abweichend konfigurierten privaten IP-Bereich nutzen oder wenn am Client-Standort ebenfalls eine Fritzbox mit „Werkskonfiguration“ steht, deren IP-Bereich in den Netzwerkeinstellungen anpassen.

Dies geschieht bekanntlich im Menü „Heimnetz / Netzwerk“ im Reiter „Netzwerkeinstellungen“. Hier kann man dann im Bereich „IP-Adresse manuell festlegen“ IP-Adresse und Netzwerk der Fritzbox einstellen.

Die Netzwerkeinstellungen können entweder an der Fritzbox im Office angepasst werden, die als VPN Gateway fungieren soll oder an der heimischen Fritzbox, falls diese den als VPN-Client vorgesehenen Windows-Rechner mit einer Internetverbindung nebst IP-Konfiguration versorgt.

VPN-Einstellungen generieren

Sind alle Vorbereitungen soweit getroffen, kann man die gewünschten VPN-Einstellungen für die Fritzbox im Office generieren und starten dazu das oben installierte Programm „FRITZ!Box-Fernzugang einrichten“. Dieses erfordert keinen Neustart. Nach dem Start klickt man auf die Schaltfläche „Neu“, um eine neue Konfiguration zu erzeugen.

Hier verwenden wir für dieses Workshop den ersten Eintrag „Fernzugang für einen Benutzer“ einrichten. Im nächsten Dialog wählen wie die Option „PC mit FRITZ!Fernzugang“ für dem gewünschten Client-Typ.

Danach gibt man die E-Mail-Adresse des Benutzers an, der die VPN-Verbindung zur Firmen-Fritzbox herstellt. Es folgt der MyFRITZ!-Domainnamen der Ziel-Fritzbox.

Dieser ist notwendig, weil Fritzboxen üblicherweise mit dynamisch von Provider vergebenen öffentlichen IPs versorgt werden. Wer den Fritzbox-eigenen DynDNS-Service in Verbindung mit einem MyFRITZ!-Konto nicht nutzen möchte, kann natürlich auch einen anderen DynDNS-Anbieter verwenden. Wichtig ist nur, dass die Ziel-Fritzbox immer über einen eindeutigen öffentlich auflösbaren DNS-Namen auffindbar ist.

Freundlicherweise lässt sich ein MyFRITZ!-Domainnamen direkt aus diesem Dialog heraus einrichten, falls noch keiner existiert. Der Dialog leitet den Nutzer dann dazu auf die Oberfläche der Fritzbox um. Nach einem Klick auf „Weiter“ muss das IP-Netzwerk der Fritzbox angegeben werden. Nur wer die Werks-Einstellungen der Fritzbox nicht geändert hat (IP-Adresse 192.168.178.1, Subnetzmaske 255.255.255.0) kann hier einfach die Option „Werkseinstellung der FRITZ!Box für das IP-Netzwerk übernehmen“ verwenden. Andernfalls verwendet man die Option „Anderes IP-Netzwerk verwenden“ und gibt die Daten zum Ziel-Netzwerk an. Wer möchte kann sogar bei bestehender VPN-Verbindung sämtliche Internet-Anfragen des Client-PCs  über die entfernte Fritzbox leiten, wenn er dazu die Option „Alle Daten über den VPN-Tunnel senden“ aktiviert.

Das würde es Mitarbeiten von unterwegs ermöglichen, z. B. Ihre E-Mails sicher abzurufen, obwohl sie mit einem unsicheren WLAN, wie einem öffentlichen Hotspot verbunden sind. Allerdings ist es häufig effektiver, den VPN-Tunnel nur dazu zu nutzen, sich z. B. per RDP oder SSH auf einen Firmenrechner (Windows / Linux) zu verbinden und quasi direkt „vorort“ zu arbeiten.

Nach einem Klick auf „Weiter“ kann man sich noch aussuchen, ob man die Konfigurationsdateien direkt exportieren möchte oder nur „das Verzeichnis anzeigen“ haben möchte, das die Konfigurationsdateien enthält.

In diesem Fall muss man den Export noch einmal mit einem extra Klick auf „Exportieren“ im Hauptbildschirm einleiten.

Hier muss man sich entscheiden, ob der Export als E-Mail-Anhang direkt versandt oder lokal im angegebenen Verzeichnis gespeichert werden soll und ob das Programm die VPN-Einstellungen verschlüsselt. In diesem Fall ist ein Kennwort anzugeben.

VPN-Einstellungen importieren

Jetzt müssen die VPN-Einstellungen nur noch auf der „Ziel“-Fritzbox und im Tool „FRITZ“Fernzugang“ des Clients importiert werden. Dazu loggt man sich zuerst im Webinterface der Ziel-Fritzbox ein, klickt im Menü „Internet“ auf „Freigaben“, wechselt zum Reiter „VPN“ und klickt dann auf „VPN-Verbindung hinzufügen“. Dann klickt man auf „Eine VPN-Konfiguration aus einer vorhandenen VPN-Einstellungsdatei importieren“.

Ein Klick auf „Datei auswählen“ genügt, und man kann die eben exportierte, bzw. per E-Mail übertragene Datei angeben. Achtung. Es handelt sich um die Datei „vpnadmin.cfg“ z. B. im Verzeichnis  ~USER/AppData/Roaming/AVM/FRITZ!Fernzugang.

Mit einem finalen Klick auf „Speichern“ werden die Einstellungen übernommen.

Jetzt müssen wir die Datei am Client im Programm „FRITZ!Fernzugang“ importieren. Dies erfolgt mit einem Klick auf „Datei  / Import“. Hier handelt es sich um die Datei ~USER/AppData/Roaming/AVM/FRITZ!Fernzugang/<MyFRITZ!-DNS-Name>/<User>/vpnuser_<user>.cfg.

Jetzt kann das Programm zum Herstellen der VPN-Verbindung genutzt werden, sofern die oben erwähnten Voraussetzungen hinsichtlich der IP-Bereiche erfüllt sind. Dazu klickt man im Hauptfenster des Tools auf den Namen der Verbindung und danach auf das Symbol „Aufbau“.

Abschließend sei noch erwähnt, dass man nicht unbedingt FRITZ!Fernzugang für den Verbindungsaufbau nutzen muss. Dessen Vorteil besteht aber darin, dass eine passende Konfiguration erzeugt wird, die direkt eingelesen werden kann. In früheren Versionen der Fritzbox-VPN-Implementation empfahl AVM die Verwendung des https://www.shrew.net/download/vpn  Screwsoft-VPN-Clients. Dieser ist sehr mächtig und erfordert ein gewisses Grundverständnis der Zusammenhänge. Allerdings wird die Software seit 2013 nicht mehr weiterentwickelt.

Darüber hinaus bringen auch alle modernen Betriebssysteme VPN-Clients und gut zu bedienende Assistenten mit, wie etwa der von Windows 10.  Der richtige VPN-Typ für das Fritzbox-Client-to-Seite-IPSEC-VPN wäre hier „L2TP/IPsec mit vorinstalliertem Schlüssel.

Bewertungen

Kundenstimme
Mausolf B.
Struers GmbH
star-participantstar-participantstar-participantstar-participantstar-participant
Tolle Schulung - kompetenter Trainer, der geduldig auf alle Fragen einging, diese beantworten konnte und darüber hinaus viele neue Anregungen mit auf den Weg gab. Die Schulung hat Spaß gemacht.
Kundenstimme
Nina P.
GEUTEBRÜCK GmbH
star-participantstar-participantstar-participantstar-participantstar-participant
Das Seminar hat meine Erwartungen voll erfüllt. Man hat gemerkt, dass der Trainer Spaß an der Sache und sehr viel Ahnung vom Thema hat. Das Gefühl hat man nicht in allen Schulungen (auf Schulungen im Allgemeinen bezogen).
Kundenstimme
Thomas M.
Aldi GmbH & Co. KG
star-participantstar-participantstar-participantstar-participantstar-participant
Lernen in einem sehr entspannten und angenehmen Klima. Prima!
Kundenstimme
Torsten B.
Westdeutscher Rundfunk WDR
star-participantstar-participantstar-participantstar-participantstar-participant
Das Seminar hat nicht nur Spaß gemacht, sondern auch wirklich 'ne Menge gebracht :-)