Ein Virtual Private Network - kurz VPN - verbindet externe Rechner mit dem lokalen Netzwerk und verschlüsselt hierbei auch die Daten. Das Internet dient dabei als Transportmedium. Ist man im VPN eingebunden, agiert man wie im lokalen Netz. Die Technik eignet sich daher zum Zugriff auf das eigene LAN oder Multiplayer-Spiele, die nur die Nutzung innerhalb eines LANs erlauben.
Der Artikel beschreibt in kurzen Zügen, wie man bei der Einrichtung eines VPN auf der Server- und Client-Seite unter Windows XP vorgeht. Für andere Betriebssysteme gelten unter Umständen andere Verfahrensweisen.
Die Technik
Wie bereits im Vorwort dargestellt, wird ein Rechner, der sich über VPN mit dem LAN (Local Area Network) verbindet, wie ein weiterer Rechner im lokalen LAN behandelt. Sofern Freigaben für den Nutzer vorhanden sind, kann man diese ebenso nutzen, wie freigegebene Drucker etc. Nach der Einwahl erhält jeder VPN-Nutzer eine IP-Adresse aus dem Adressraum des lokalen Netzes. Damit sind nun auch Multiplayer-Spiele möglich, die eigentlich nur im lokalen LAN spielbar waren.
Das für die VPN-Verbindung notwendige VPN-Protokoll PPTP (Point to Point Tunneling Protocol) wird bei Windows XP direkt mit installiert. Auf Lösungen über "L2TP over IPSec" gehen wir hier nicht ein.
Auf Clientseite erfolgt die Einrichtung der Verbindung grundsätzlich wie jede andere DFÜ-Verbindung.
Auf der Serverseite (dort, wo man sich einwählen möchte) muss allerdings ein VPN-Server laufen. Windows 2000, sowie Windows XP Home und die Professional-Version bieten bereits einen eingebauten VPN-Server. Dieser erlaubt aber nur eine Verbindung gleichzeitig. Wer mehr benötigt, muss sich einen "echten" Server (Windows 2003) oder einen Router mit eingebautem VPN-Server zulegen. Beispielsweise vertreibt Draytek solche Geräte.
Für unseren Zweck reicht aber zunächst der Lieferumfang.
Sicherheit
VPN unter Windows XP nutzt per Default PPTP als Protokoll. Dieses bietet in der neuesten Version eine Verschlüsselung von 128 Bit und ist mit ausreichend langen Passwörtern auch ausreichend sicher. Das modernere Protokoll IPsec bietet zwar eine höhere Sicherheit, wird aber nicht von allen Betriebssystemen unterstützt.
Wer sich mit VPN unter Windows beschäftigen möchte, sollte einen Blick in das kostenlose "Infobuch von Microsoft VPN mit Windows 2003 - ein Überblick" werfen. Dieses Whitepaper bietet Ihnen einen Überblick über die von Windows Server 2003 und Windows XP unterstützten VPN-Technologien. Es beschreibt die Features der beiden Betriebssysteme, die Ihnen die Administration von VPN-Verbindungen in Unternehmensnetzwerken erleichtern und gibt Hintergrundinformationen zu den beiden Industriestandards Point-to-Point-Tunneling-Protocol (PPTP) und Layer-Two-Tunneling-Protocol mit Internet-Protocol-Security (L2TP/IPSec).
Einrichtung auf Server-Seite
Widmen wir uns zunächst der Server-Seite, d.h. dem Rechner, auf dem die Einwahl erfolgt.
Zunächst muss man eine neue eingehende Verbindung einrichten. Hierzu geht man über die "Systemsteuerung" auf "Netzwerkverbindungen" und wählt hier "Neue Verbindung erstellen".
Den folgenden Assistenten bestätigt man mit weiter und wählt dann "Eine erweiterte Verbindung einrichten".
Im Folgenden wählt man "Eingehende Verbindung zulassen".
Die nun folgende Auswahl der Geräte muss man ignorieren, da die Einwahl bei einer bestehenden Onlineverbindung über die IP-Adresse oder einen Domänennamen erfolgt, der von Diensten wie http://www.dyn.com/ auf den eigenen Rechner umgeleitet wird.
Wie man eine solche Umleitung automatisiert und einrichtet, hat Konrad Priemer in seinem Artikel "Dynamisches DNS-Update für die lokale Homepage" ausführlich beschrieben.
Der nächste Dialog will wissen, ob man VPN-Verbindungen zulassen möchte, was man über den Radio-Button aktiviert.
Damit dem von außen die VPN-Verbindung herstellenden User der Zugang zum lokalen Netz gewährt wird, muss er als Benutzer auf dem lokalen System bekannt sein. In unserem Beispiel fehlt der Nutzer noch.
Über die Schaltfläche "Hinzufügen" erstellt man daher einen neuen Nutzer.
Der Gast von außen muss sich später mit diesen Daten anmelden. Aus Sicherheitsgründen sollte man kein zu leichtes Passwort wählen.
Wir haben nun den VPNBenutzer (als Accountname) erstellt und aktiviert.
Im nun folgenden Schritt legt man die Einstellungen für das Netzwerk fest. Es müssen sowohl das TCP/IP-Protokoll wie auch der Client für Microsoft-Netzwerke und (falls gewünscht) die Datei- und Druckerfreigabe für Microsoft-Netzwerke aktiviert werden.
Der Eintrag Internetprotokoll (TCP/IP) bedarf dabei ggf. noch einer Anpassung unter "Eigenschaften".
Der Netzwerkzugriff (oben) ist per Default im Regelfall aktiviert.
Ob man nun die TCP/IP-Adresse des Gastrechners über DHCP automatisch vergeben lässt oder manuell selbst festlegt, hängt von den Vorgaben des lokalen Netzes ab. Wichtig ist vor allem, dass sich beide Rechner im gleichen Subnetz später befinden (also 192.168.x.Y, d.h. auf beiden Rechnern muss die IP-Adresse bis auf das Y identisch sein).
Sollten sich nach dem späteren Test beide Rechner nicht sehen, könnte genau hier die Fehlerquelle liegen. In diesem Fall gehen Sie in die Eingabeaufforderung (Start -> Ausführen -> CMD) und prüfen dort mit IPCONFIG die IP-Adresse des Rechners. Lautet diese z.B. 192.168.1.x, können Sie auch manuell einen Adressbereich von 192.168.1.x bis 192.168.1.255 wählen.
Damit ist die Einrichtung auf der Serverseite bereits erledigt.
Ein neues Icon unter den Netzwerkverbindungen zeigt an, dass eingehende Verbindungen aktiviert sind. Stellt nun ein Rechner die Verbindung her, wird der Accountname genau hier angezeigt.
Einrichtung des Clients
Auf der Client-Seite ist die Einrichtung der VPN-Verbindung zum VPN-Server relativ einfach.
Selbst für Windows 95 und Windows 98 gibt es eine Möglichkeit mit dem VPN-Server eine Verbindung herzustellen. Hierzu wird lediglich das Update 1.4 fürs DFÜ-Netzwerk (Microsoft Windows 98 Dial-Up Networking 1.4) benötigt und der Zugang über das DFÜ-Netzwerk eingerichtet.
Für Windows 2000 und XP richtet man die Kontaktaufnahme zu dem VPN-Server wie folgt ein:
Unter "Netzwerkverbindungen" in der "Systemsteuerung" klickt man auf "Neue Verbindung erstellen" und wählt beim folgenden Assistenten "Verbindung mit dem Netzwerk am Arbeitsplatz herstellen".
Im nächsten Dialog wählt man VPN-Verbindung.
Nun gibt man der Verbindung einen Namen.
Zuletzt möchte der Assistent noch die Erreichbarkeit des VPN-Servers wissen. Hier gibt man entweder den Umleitungsnamen des DYNDNS-Dienstes an (siehe Einrichtung) oder die aktuelle IP-Adresse des Gegenübers mit dem VPN-Server. Da sich diese im Regelfall bei jeder Einwahl ändert, muss diese bei jeder Verbindung dann neu eingegeben werden (siehe weiter unten "Kontaktaufnahme").
Der Assistent kann die Verbindung nun für alle oder nur den aktuellen Benutzer bereitstellen und zuletzt auch noch eine Verknüpfung auf dem Desktop erstellen lassen.
Kontaktaufnahme
IP des Servers ermitteln
Sofern der VPN-Server eine übliche DialUp-Verbindung wie DSL oder ISDN nutzt, muss der Server zunächst eine Verbindung ins Internet herstellen. Nun muss dem "Gast" per Telefon oder Mail, ICQ etc. die aktuelle IP-Adresse des Servers mitgeteilt werden, damit der Gast diesen auch ansprechen kann. Man kann die aktuelle IP-Adresse über den Befehl ipconfig aus der Eingabeaufforderung (Start -> Ausführen: cmd -> ipconfig) erfahren. Ggf. werden hier mehrere IPs angezeigt. Eine IP beginnend mit 192.x und ist dabei immer die vom lokalen Rechner und nicht die IP vom Internetprovider. Sie müssen demnach die IP vom Internetprovider dem Gast mitteilen.
Ein eleganterer Weg ist über einen so genannten DYNDNS-Service. Mit Hilfe von Tools wie DirectUpdate wird diesen Diensten automatisch immer die aktuelle IP des Rechners mitgeteilt. Der Rechner selbst ist über den DYNDNS-Dienst immer unter einem gleichen Namen wie hier im Beispiel testrechner.homedns.org erreichbar.
Wie man eine solche Umleitung automatisiert und einrichtet, hat Konrad Priemer in seinem Artikel "Dynamisches DNS-Update für die lokale Homepage" ausführlich beschrieben. Der Weg über einen DYNDNS-Dienst hätte den Vorteil, dass der Gast immer den gleichen Namen in der VPN-Verbindung als Zielangabe belassen kann und nicht immer die IP erst ermitteln muss.
Auf Clientseite
Der Client braucht - wie oben dargestellt - zunächst die IP des Zielrechners. Ist diese vorhanden oder der Weg über einen DYNDNS-Namen gelöst, kann es losgehen.
Zunächst baut man eine Verbindung zum Internet auf.
Auf Doppelklick zur oben erstellten VPN-Verbindung will diese den Benutzernamen und das Passwort. Hier sind die Angaben erforderlich, welche auch auf dem Server eingerichtet wurden.
Muss man noch die IP-Adresse des Servers eingeben, klickt man auf Eigenschaften.
Unter Allgemein findet sich wieder das Feld mit den Angaben des Hostrechners. Hat man die neue IP vom Server bekommen, trägt man diese dort ein. Als Protokoll sollte unter Netzwerk übrigens "PPTP-VPN" eingestellt sein.
Kommt nun die Verbindung fehlerfrei zu Stande, erscheint auf Server-Seite ein neues Icon unter Netzwerkverbindungen, welches den eingewählten Nutzer anzeigt.
Über das Kontextmenü der Icons kann die Verbindung serverseitig getrennt oder können Statusinformationen abgefragt werden.
Verbindung OK, was nun?
Hat man erfolgreich die VPN-Verbindung aufgebaut, bekommt der "Gast" eine IP-Adresse aus dem Adressraum des Servers. Faktisch befinden sich damit beide Rechner im gleichen lokalen Netz. Sofern Dateifreigaben für den angemeldeten Benutzer sichtbar sind, kann er auf diese über Netzwerkumgebung auch zugreifen.
Startet nun der Client oder Server ein Spiel, welches über TCP/IP im lokalen Netz spielbar ist, sollten sich beide Rechner auch hier finden.
Zugriff auf den entfernten Rechner
Am besten sind beide Rechner in der gleichen Arbeitsgruppe. Der entfernte Rechner taucht meist nicht direkt in der Netzwerkumgebung auf, da die dafür notwendigen Broadcast-Daten nicht über VPN übertragen werden. Man kann den entfernten Rechner aber dennoch mit UNC-Pfadangaben über die Adresszeile im Arbeitsplatz/Explorer über \IPAdresse bzw. \IPAdresseFreigabe ansprechen, also z.B. \192.168.1.11Dokumente. Alternativ kann auch der Rechnername statt der IP verwendet werden.
Es lassen sich auch Netzwerklaufwerke verbinden. Diese gibt man wieder über UNC-Pfade an.
Remote Control
Ein ganz anderes Betätigungsfeld ist die RemoteControl des Servers. Nachdem eine VPN-Verbindung zum Server herstellt wurde, kann man über das Programm "Remotedesktopverbindung" den Server komplett fernsteuern. Wie dies im Detail funktioniert und was es hierbei zu beachten gilt, beschreibt der Artikel Fernsteuerung von Windows XP von PCDMicha.
Probleme durch Firewall oder Router
Eine (Software-)Firewall bzw. ein Router stellt oft ein Problem bei gescheiterten VPN-Verbindungen dar. Damit die Verbindung reibungslos klappt, muss die (Software-)Firewall bzw. der Router in der Lage sein, VPN-Verbindungen zu den Clients und dem Server zuzulassen. Die Clients sind kein Problem. Spezielle Freigaben sind hier im Regelfall nicht erforderlich. Microsoft beschreibt im KB-Artikel 314076, welche Ports geöffnet werden müssen:
Für PPTP reicht auf der Serverseite der Port 1723 TCP, d.h. dass dieser Port an den VPN-Server durchgereicht werden muss.
Dennoch klappt nicht mit allen Routern die Verbindungsaufnahme. Damit der VPN-Server hinter dem Router erreichbar ist, muss der Router für eintreffende PPTP-Verbindungen diese ins lokale Netz weiterleiten (Port Forwarding) bzw. die Firewall diese durchlassen. PPTP verwendet jedoch nicht TCP/UDP sondern GRE (Generic Routing Encapsulation) als Transportprotokoll (Protokollnummer 47). Dies können nicht alle Router an einen VPN-Server weiterleiten. Viele Hersteller meinen mit VPN-Fähigkeit lediglich, dass der Router mit einem VPN-Server verbinden kann, nicht aber vor einem VPN-Server funktioniert.
Das Problem ist daher der Router/die Firewall vor dem VPN-Server. Entweder muss hier auch das GRE-Protokoll für den Server-Rechner weitergeleitet werden oder der Rechner komplett von der Firewall (bzw. der des Routers) freigestellt werden (nennt sich meist DMZ, wenn es auch eher ein Exposed Host darstellt). Die 2. Lösung macht den Rechner aber für alle Angriffe von außen angreifbar und sollte daher nur eine Notlösung darstellen.
Problemlos funktioniert ein VPN-Server zu Beispiel an Vigor-Routern von Draytek oder der Fritz-Fon-Box DSL. Einige Routertypen bieten sogar einen eingebauten VPN-Server, den man aber zu Gunsten des Windows-VPN-Servers abschalten kann.
Bei anderen Herstellern hilft nur Ausprobieren: Eventuell lässt sich das GRE-Protokoll unter Angabe seiner IP-Protokollnummer 47 zum VPN-Server weiterleiten. Für die Kerio-Firewall z.B. lässt sich GRE über "Advanced" -> Protokoll "Other" und "Protokollnummer 47" hinzufügen.
Am Beispiel der Fritz-Fon-Box DSL hier die richtigen Freigaben (gelb markiert) :
Windows-Firewall vom Service Pack 2
Die im Service Pack beinhaltete Firewall richtet sich beim Erstellen eines VPN-Servers selbstständig ein und braucht im Regelfall nicht weiter konfiguriert zu werden. Die Einstellungen findet man über die Windows-Firewall - > Erweitert -> Einstellungen [der benutzen Netzwerkverbindung] (z.B. die Standard-LAN-Verbindung). Windows öffnet hier die richtigen Ports für PPTP und L2TP. Wer nur PPTP nutzt, kann die zwei anderen Serverdienste wieder deaktivieren.
Zu beachten ist noch, dass man auf der Registerkarte ICMP "Eingehende Echoanforderungen zulassen" aktiviert. Dies erleichtert die Fehlersuche bzw. Diagnose, da sonst der Server-Rechner auf Ping-Anfragen nicht reagiert.
Keine gleichen IP-Netze verwenden
Wie oben beschrieben, erhält der Client vom Server eine weitere IP und wird so in das entfernte Netz eingebunden. Ein Problem entsteht dann, wenn der Client sich lokal bereits im gleichen IP-Adressraum wie das entfernte Netz befindet. Sitzt der Client demnach im Netz 192.168.1.x und verbindet sich über VPN mit einem Netz, welches auch diesen Adressraum benutzt, klappt die VPN-Verbindung nicht, da die Pakete weiter nur lokal versendet werden. Es ist daher darauf zu achten, dass die Rechner andere IP-Adressräume lokal benutzen. Wer einen DHCP-Server per Software oder Router betreibt, sollte daher am besten den Adressraum ändern.
Ein weiteres Problem tritt auf, wenn die Internetverbindungsfreigabe genutzt wird. Hier vergibt XP automatisch Adressen aus dem Netz 192.168.0.x. Nutzen daher beide Seiten diesen Adressraum, muss dieser auf einer Seite geändert werden. Nutzen beide Seiten die Internetverbindungsfreigabe, ist uns für Windows 2000 ff. leider kein Weg bekannt.
Internetverbindung funktioniert bei VPN-Nutzung nicht mehr
Ist ein Client PC über VPN mit einem VPN-Server verbunden, scheint die Internetverbindung nicht mehr zu funktionieren.
Grund hierfür ist, dass der VPN-Server sich als neuen Gateway einrichtet und der IP-Verkehr nun in den VPN-Tunnel geschickt wird.
Man kann das Verhalten aber bequem abschalten.
Im Bereich "Netzwerkverbindungen" wählt man die Eigenschaften der VPN-Verbindung, wechselt hier auf die Registerkarte "Netzwerk" und wählt die Eigenschaften des Internetprotokolls. Wieder unter "Erweitert" findet sich eine Checkbox auf Allgemein, die sich "Standardgateway für das Remotenetzwerk verwenden" nennt. Deaktiviert man diese Option, funktioniert der Internet-Zugang wie gewohnt.
Mehrere Verbindungen, Windows Server
Wer mehr als eine VPN-Verbindung benötigt, ist auf fremde Hilfe angewiesen. Zum Einsatz kann hier ein echter Windows 2003-Server (auch SBS) oder eine Linux-Installation kommen.
Unter dem Artikel 323441 beschreibt Microsoft beispielhaft, wie man einen VPN-Server unter Windows 2003 Server einrichtet.
Sehr gute Ergebnisse wurden nach Erfahrungen der Community mit FLi4L gemacht. Der kostenlose Linux-Router kommt auf einer startfähigen Diskette und braucht lediglich einen alten 486er Rechner, um alle Routingaufgaben und damit auch die eines VPN-Servers zu erledigen.
Weitere Probleme?
Microsoft selbst gibt in dem KB-Artikel 314076 Hinweise zur Fehlersuche, wenn beim Verbindungsaufbau Fehlermeldungen erscheinen. Weitere Anlaufpunkte sind das WinTotal-Forum im Bereich Netzwerk oder NetzwerkTotal.
Eine Alternative zum Microsoft VPN ist noch das kostenlose OpenVPN, mit dem es nach Aussage einiger Nutzer für den Bereich Spiele viel weniger Probleme geben soll.