Einrichtung eines VPN Tunnels mit Netgear Router FVS318
Winfried Mueller :: reintechnisch.de :: Start: 25.03.13 :: Stand: 25.03.13
Der Netgear FVS318 ist ein VPN-DSL-Router für kleine Unternehmen. Es gibt ihn auch mit WLAN unter der Bezeichnung FVG318. Interessant sind diese Router, weil sie ein relativ günstiges Preis-Leistungsverhältnis haben. Der FVS318 ist unter 100 Euro zu bekommen, der FVG318 für um die 120 Euro. VPN-Router von Lancom bspw. bekommt man erst so ab 500-600 Euro.
Die Router können 8 VPN-Tunnel gleichzeitig aufbauen.
Um ein VPN aufzubauen, gibt es 2 Möglichkeiten. Entweder bestückt man beide Endpunkte mit einem Netgear Router, die untereinander den Kanal aufbauen. Oder man nutzt an einem Endpunkt eine Software, die den VPN-Kanal realisiert. Weil die Netgear-Implementierung auf IPsec beruht, welches auch in vielerlei Hinsicht konfigurierbar ist, sollte es mit vielen Software-Lösungen kompatibel sein.
Die Einrichtung gestaltete sich allerdings alles andere, als einfach. Einerseits ist die Dokumentation nicht sonderlich gelungen, andererseits gestaltet sich die Fehlersuche sehr schwer. Denn die Router sind schweigsam, wenn etwas nicht funktioniert. Man bekommt oft genug gar nichts an Infos, man stellt nur fest, das der Kanal nicht aufgebaut werden kann. Warum, weiß man dann nicht und damit gleicht das der Suche einer Nadel im Heuhaufen.
Ich wäre sehr froh gewesen, wenn ich wenigstens mal eine Beispiel-Konfiguration gehabt hätte, die funktioniert. Dann hätte man von da aus sich weiter durcharbeiten können. Wenn aber tagelang gar nichts funktionieren will, ist das schon sehr frustrierend.
Software-Lösung
Eine Software-Lösung ist sehr praktisch, weil man dann nur im Unternehmen einen Router braucht. Mobile Arbeitsplätze oder Heimarbeitsplätze können so sehr einfach mit einer Software angebunden werden, ohne dass erst Spezial-Hardware installiert werden muss. Außerdem wollen viele zu Hause sowieso eigene Router für den Internetzugang einsetzen, da gestaltet sich die hardwarebasierte Lösung sowieso schwierig (wenn auch nicht unmöglich).
An Softwarelösungen unter Windows gibt es gar nicht so viele Anbieter. 2 recht gängige Anbieter sind ncp und TheGreenbow. Einige Clients der Hardwarehersteller basieren auch auf diesen Lösungen, so basiert der Lancom Client auf NCP und der Netgear-Client auf TheGreenbow. Preislich nehmen die sich alle nicht viel, sie kosten knapp 100 Euro pro Lizenz. Lediglich der Netgear-Client ist mitunter schon für 50 Euro zu haben, es kann aber sein, dass dieser auch nur mit Netgear-Hardware läuft und man so die universelle Verwendung einbüßt. Für jedes Endgerät ist natürlich eine Lizenz erforderlich. Von den meisten Clients gibt es 30 Tage Testversionen.
Wer sein Glück mit einem kostenlosen VPN-Client versuchen will, kann es mit Shrew VPN Client probieren.
Solche Softwarelösungen kommunizieren in der Regel im Aggressive Mode mit dem Router. Der Router ist hierbei grundsätzlich offen für jeden Connectversuch, egal von welchem Rechner, welcher IP oder welcher Domain. Bei diesem Connect wird dann geprüft, ob alle zuvor definierten Parameter stimmen und ob natürlich der Preshared Key stimmt, der zuvor auf beiden Seiten eingerichtet wurde. Wenn ja, dann kommt die Verbindung zustande, der Kanal ist aufgebaut.
Hat man hingegen jeweils einen FVS318 Router an den Endpunkten, kann man im sehr sicheren Main-Mode arbeiten. Hier werden nur Connects von der Endstelle zugelassen, die zuvor definiert wurde, z.B. über eine statische IP oder eine dyndns-Domain.
Eine Sache, über die ich lange Zeit bei Software-VPN gestolpert bin: Ich bin mit einem FVS318 Router an dem Endpunkt ins Netz gegangen, wo ich die Software testen wollte. Obwohl in diesem Router alle VPN-Policies abgeschaltet waren, wurden keine VPN-Pakete von der Gegenstelle durch den Router durchgeleitet. Erst als ich den Router gegen eine einfache Fritzbox (WLAN 3131) austauschte, klappte es. Man sollte also prüfen, ob der eingesetzte Router VPN-Pakete durchlässt. Router mit eigener VPN-Funktionalität könnten hier Probleme machen oder man muss sie erst korrekt konfigurieren. In den Logfiles der VPN-Software erkennt man in der Regel, ob Antwortpakete von der Gegenstelle ankommen.
Ein Nachteil der Software-Lösung ist, dass man für jeden Client eine Lizenz braucht. Hat man hingegen 2 FVS318 Router, die miteinander einen Kanal aufgebaut haben, können alle Rechner im lokalen Netzwerk auch eine Verbindung durch den Tunnel zum entfernten Netzwerk aufbauen. Das kann je nach Situation wesentlich kostengünstiger sein.
Netgear VPN-Client
Hier eine Beispiel-Konfiguration mit dem Netgear Client. Das Firmennetz am Router liegt auf 192.168.8.0/255.255.255.0. Das Netz des Clients liegt auf 192.168.7.0/255.255.255.0.
Netgear und TheGreenbow sind nahezu identisch.
Zuerst wird die IKE- und VPN-Richtlinie im Router festgelegt:
Der Typ wird hier auf Remote Access und Aggressive Mode eingestellt, was typisch für den Einsatz bei einem Software-VPN ist. Zur Identifikation wird der Typ FQDN verwendet und dort eindeutige Bezeichner für den Router selber (netgear) und für die Gegenseite (thegreenbow) eingetragen. Diese werden später in der Software genauso verwendet, nur umgedreht. Sie sind Teil der korrekten Aushandlung für den Kanalaufbau. Hier kann man beliebige Bezeichner eintragen, so lange Übereinstimmung auf beiden Seiten vorliegt.
Es folgt der Preshared Key und ein paar Parameter, wie die IPsec-Kanal aufgebaut werden soll. Diese Parameter können später auch noch angepasst werden, z.B. andere Verschlüsselungsverfahren. Am Preshared Key hängt die eigentliche Sicherheit, von daher muss der natürlich starke Sicherheitsmerkmale haben. Am besten wählt man zufällige Zeichen (Groß/Kleinbuchstaben, Zahlen, Sonderzeichen) mit mindestens 28 Stellen Länge. Bei der Eingabe muss man sehr genau sein, vertut man sich, kommt der Kanal nicht zustande. Am besten holt man ihn sich per Copy&Paste aus einer Quelle. Damit vermeidet man hier Fehler.
Bei der VPN-Policy wählt man den Typ Auto beim Anlegen dieser. Durch Adress-Type IP-Adress und dort 0.0.0.0 kann jede beliebige Gegenstelle sich verbinden. Sie muss also nicht auf einer bestimmten IP-Adresse liegen, was ja bei typischer dynamischer Zuweisung schwierig wäre. Hat die Gegenstelle hingegen eine statische IP, kann hier auch diese eingetragen werden. Wohlgemerkt, es ist die IP-Adresse gemeint, über die diese Gegenstelle im Internet erreichbar ist, nicht das lokale Netzwerk.
Mit dem Traffic-Selektor kann man den Austausch über VPN eingrenzen. Hier wird in diesem Beispiel festgelegt, dass der VPN-Kanal routerseitig nur auf das Netz 192.168.8.0/24 zugreifen kann und das lokale Netz der Gegenstelle sich im Adressbereich 192.168.7.0/24 befinden muss. Am Anfang kann man für Tests auch erstmal auf "Any" stellen, um hier keine Beschränkungen zu haben.
AH Config lässt man in der Regel ausgeschaltet, aber die ESP ist essentiell wichtig. Würde man hier "Enable Encryption" vergessen, würde keine Verschlüsselung stattfinden! Man hätte also einen Kanal, der unverschlüsselt wäre. Netbios sollte man einschalten, damit die Dateidienste von Windows funktionieren.
Die Netgear-Software wird nun so konfiguriert:
Bei IKE-Port und NAT-Port muss nichts eingetragen werden, wenn der Standard verwendet wird.
Unter Interface können wir auch "all" stehen lassen oder man trägt hier die IP-Adresse der LAN-Karte ein. Unter Remote-Gateway wird die dyndns-Adresse eingetragen, unter der der Router gefunden werden kann. Hierfür braucht man bei dyndns einen Account und dieser muss auch im Router unter Dynamic DNS eingetragen werden. Es sei denn, man hat eine feste Domain oder IP-Adresse, unter der der Router im Netz zu finden ist. Hier wird nun auch der Preshared-Key eingetragen. Auch hier wieder sicherstellen, dass der absolut korrekt ist. Die IKE-Parameter werden hier passend zum Router eingestellt.
Der Aggressive Mode muss eingeschaltet sein. Hier werden auch in umgedrehter Reihenfolge die FQDN der beiden Partner eingetragen.
Die VPN-Client-Adresse lassen wir hier auf 0.0.0.0 stehen. Damit wird die später durch die Adresse ersetzt, die der LAN-Karte wirklich zugeordnet ist. Möchte man hier eine andere virtuelle Adresse haben, muss ein Wert eingetragen werden. Darunter wird das lokale entfernte Netzwerk des Routers festgelegt. Hier ist es beispielhaft 192.168.8.0/24. Darunter dann die ESP-Parameter, wie wir sie auch im Router festgelegt haben. PFS nutzen wir erstmal nicht.
Der Tunnel kann wird hier bei Programmstart automatisch geöffnet. Soll manuell geöffnet werden, dann nimmt man hier das Häkchen raus. Am besten lässt man den VPN-Client gleich beim Booten mit starten, dann liegt er in der Taskleiste. Von dort kann man dann mit der rechten Maustaste den Kanal öffnen.
Das Öffnen das Kanals sollte innerhalb von etwa 3-10 Sekunden vonstatten gehen. Klappt etwas nicht, kann man sich ein paar Infos unter Tools > Konsole holen. Diese sind aber nicht sonderlich differenziert, so dass dies oft ein Stochern im Nebel ist. Bei argen Problemen kann man sich auch mal wireshark installieren und die Pakete überprüfen, die hin- und hergeschickt werden. Allerdings braucht man hier auch tiefere Netzwerkkenntnisse, um hier Fehler aufspüren zu können.
NCP VPN-Client
Den NCP-Client ans Laufen zu bekommen, war nicht so leicht. Im Nachhinein ist die Konfiguration aber doch logisch. Hier gibt es nur so viel an Konfigurationsmöglichkeiten, dass man schnell mal irgendwo einen Fehler macht. Auch ist nicht immer klar, welche Parameter man hier wie einstellen muss.
Die Konfiguration der Routerseite ist hier identisch zum Netgear-Client. Auch die Beispielkonfiguration ist gleich: Das Firmennetz am Router liegt auf 192.168.8.0/255.255.255.0. Das Netz des Clients liegt auf 192.168.7.0/255.255.255.0.
Zuerst legt man ein neues Profil an. Dieses wird nun wie folgt konfiguriert:
Hier wird die dyndns-Adresse eingetragen, über die der Router erreichbar ist. Es sei denn, er ist über eine statische IP-Adresse oder Domain erreichbar.
Hier war der Knackpunkt, worüber ich gestolpert bin. Hatte ich hier das lokale Netzwerk des Routers nicht eingetragen, kam keine Verbindung zustande! Könnte sein, dass das mit den Traffic-Selector-Einstellungen der Gegenseite korrespondiert. Denn eigentlich könnte man vermuten, dass auch ohne Eintrag hier ein Kanal geöffnet werden müsste.
Bei Problemen kann man ins Logbuch schauen, was hier umfangreicher ist, als beim Netgear-Client. Das erleichtert einem etwas die Fehlersuche. Mitunter kommen aber Meldungen, die man nur schwer zuordnen kann. Stimmt der Key z.B. nicht, bekommt man als Fehlermeldung "P1 Algorithm mismatched".