Teil 1 dieses Beitrags finden Sie in der ComputerPartner-Ausgabe 30/06, Seite 28.
Von Albert Lauchner, tecChannel.de
Server finalisieren
Eine letzte Aufgabe auf der Server-Box bleibt noch zu erledigen. Der OpenVPN-Server wartet auf TCP-Port 1194 auf Anfragen von Clients. Bislang blockt die Firewall der Fritz Box aber noch alle Pakete ab. Über das Webinterface kann man zwar die Firewall öffnen und eine Portweiterleitung an PCs einstellen. Jedoch akzeptiert die Box keinen Eintrag für Pakete an sich selbst. Daher müssen wir dieses Loch in der Firewall von Hand erzeugen.
Die Firewall-Regeln sind in der Datei "/var/flash/ar7.cfg" abgelegt. Entweder Sie kopieren diese Datei analog der debug.cfg auf den PC und bearbeiten sie dort (mit "cat" temporäre Datei erzeugen, "FTP" auf PC, bearbeiten, "FTP" zurück zur Box, mit "cp" in das Flash kopieren). Oder Sie bearbeiten die Datei mit dem vi-Editor direkt. Wenn Sie dabei den Befehl "nvi" benutzen, können Sie die ar7.cfg auch direkt im Flash öffnen.
Suchen Sie in der ar7.cfg nach einem Block, der mit "forwardrules" beginnt und mit "shaper =" endet. Tragen Sie dort folgende Zeile zusätzlich ein:
"tcp 0.0.0.0:1194 192.168. 100. 1:1194 0 #OpenVPN",
Verwenden Sie bei der zweiten IP-Adresse die eigene Adresse der Server-Fritz-Box. Vergessen Sie keinesfalls das abschließende Komma, falls Sie den Eintrag nicht an das Ende des Blocks stellen. In diesem Fall müssen Sie allerdings in der darüber liegenden Zeile ein Komma und am Ende des Blocks den Strichpunkt einfügen.
Dyndns einrichten
Ein letztes Problem stellt sich aber doch noch: Da der Server an einer DSL-Leitung angeschlossen ist, besitzt er keine feste IP-Adresse. Doch wie soll später der VPN-Client dann Kontakt aufnehmen? Hier bietet sich Dynamic DNS als Lösung an.
Dabei legt man sich bei einem der Dynamic-DNS-Anbieter zunächst einen kostenlosen Account zu. Mit dessen Zugangsdaten loggt sich die Server-Fritz-Box in regelmäßigen Abständen und nach jeder Adressänderung durch den DSL-Provider ein. Die Box meldet dabei dem Dynamic-DNS-Anbieter ihre neue IP-Adresse, die der Anbieter dann in seinem DNS-Server aktualisiert. So kann er den Domain-Namen immer in die jeweils aktuelle IP-Adresse auflösen.
Einer der bekanntesten Anbieter dieser Lösung findet sich unter www.dyndns.org. Man muss beim Erzeugen eines neuen Accounts nur darauf achten, die kostenlose Version "Dynamic DNS" zu wählen.
Hat man beispielsweise die Subdomain "tecchannel22" bei dyndns.org angemeldet, ist die Fritz Box unter tecchannel22.dyndns.org jederzeit aus dem Internet erreichbar, da der DNS-Server von dyndns.org diesen Namen zur jeweils aktuellen DSL-IP-Adresse auflöst.
Auf der Fritz Box finden Sie die Konfiguration zum automatischen Update der IP-Adresse im Webmenü unter "Internet/Dynamic DNS".
Client-Fritz-Box einrichten
Die Konfiguration der Client-Box gestaltet sich einfacher, da man hier keinen Dyndns-Account einrichten muss. Auch sind keine Änderungen an der Firewall nötig, da die Client-Box ja selbst aktiv die Verbindung initiiert. Im Prinzip sind wieder die bekannten drei Blöcke in der debug.cfg nötig: Key-Datei herausschreiben, Konfigurationsdatei herausschreiben, Software nachladen und starten.
Das Vorgehen dabei ist analog der Server-Box. Als einfachsten Ansatz empfehlen wir wieder, erst den FTP-Server zu installieren und das Editieren am PC zu erledigen. Der einzige Unterschied zur Serverbox-Installation liegt in der Konfigurationsdatei, die auf der Clientsite ein paar zusätzliche Einträge benötigt.
ifconfig 192.168.200.1 192. 168.200.2
dev tun
dev-node /dev/misc/net/tun
tun-mtu 1500
mssfix
persist-tun
persist-key
#Remote Adresse des Servers angeben, muss entsprechend geändert werden
remote tecchannel22.dyndns. org
#Pfad zum Key File
secret /var/tmp/secret.key
#Protokoll auf TCP und Port 1194, Änderungen müssen auf Client und Server Seite gleich sein
proto tcp-client
port 1194
#Da die Verbindung alle 24 Stunden getrennt wird, soll regelmäßig kontrolliert werden ob die Verbindung noch steht
ping 15
ping-restart 120
#Der DynDNS Name soll alle 60 Sekunden neu aufgelöst werden, da OpenVPN sonst ständig versucht, über die alte IP zu verbinden
resolv-retry 60
#Protokollierungseinstellung 4 ist optimaler Modus
verb 4
#Daemon sollte erst eingeschaltet werden, wenn die Konfiguration passt
daemon
#Routen setzen, bei route Subnetz der Server-Box, bei push Subnetz der eignen Client-Box eintragen
route 192.168.100.0 255.255.255.0
push "route 192.168.1.0 255.255.255.0"
In der Konfigurationsdatei für den Client sind lediglich drei Zeilen anzupassen.
3 In die Zeile "remote..." gehört der Dyndns-Namen der Serverbox, damit der Client die IP-Adresse des Servers auflösen kann.
3 In die Zeile "route..." muss das Subnetz der Serverbox (mit 0 am Ende) angegeben werden.
3 Die Zeile "push..." muss das eigene Subnetz der Client-Box (mit 0 am Ende) enthalten.
Sehr schön haben die Entwickler von ip-phone-forum, auf deren Vorarbeit dieser Beitrag beruht, das Problem der DSL-Zwangstrennung auf der Server- und der Clientseite in dieser Konfigurationsdatei gelöst. Ein Ping-Paket prüft alle 15 Sekunden die Erreichbarkeit des VPN-Servers. Kommt für 120 Sekunden keine Antwort, startet sich der OpenVPN-Client neu. Ändert sich also die Adresse des Servers oder des Clients durch die DSL-Zwangstrennung und bricht dadurch die Verbindung ab, baut die Fritz Box sie automatisch nach zwei Minuten mit den neuen IP-Adressen wieder auf.
Erster Test
Nach dem Neustart der Client-Box sollte die VPN-Verbindung sofort stehen. Zum Test wechseln Sie auf einem PC im Client-Netz auf die Commandline. Von dort sollten Sie mit dem Befehl "ping" jeden PC im Servernetzwerk erreichen. Auch vom Servernetzwerk aus sollte jeder PC im Client-Netzwerk sofort "anpingbar" sein.
Haben Sie mit der Verbindung Probleme, prüfen Sie zunächst auf beiden Boxen mit dem Befehl "ps", ob OpenVPN überhaupt läuft. Falls nicht, starten Sie OpenVPN mit den Parametern der debug.cfg manuell. Dann sollten Sie im Fehlerfall eine aussagekräftige Meldung erhalten.
Läuft zwar OpenVPN, erreichen Sie aber dennoch keinen PC im Fremdnetz, "pingen" Sie zunächst per telnet von einer Box die andere an. Haben Sie hierbei Probleme, prüfen Sie die Firewall-Regel auf der Server-Box und die route- sowie push-Anweisungen in beiden Konfigurationsdateien.
Klappt der "Ping" über die Netzwerksgrenzen, können Sie sich zu freigegebenen Laufwerken auf den Rechnern im Fremdnetz verbinden. Treten trotzdem hierbei noch Probleme auf, sind meist die Zugriffsrechte von Windows oder die Windows-Firewall die einfachen Ursachen.
Fazit
Die direkte VPN-Verbindung per Fritz Box verbindet zwei getrennte Netzwerke zu einem. Jedes Gerät hat sofort Zugriff auf alle Komponenten im Gesamtnetz. Durch die VPN-Verschlüsselung ist gewährleistet, dass dabei die Sicherheit nicht auf der Strecke bleibt. Egal ob simpler Dateiaustausch, Zugriff auf einen gemeinsamen E-Mail- oder SQL-Applikationsserver oder auch nur ein schnelles Spiel über das Netz: Die Möglichkeiten für die abgesicherte WAN-Verbindung sind grenzenlos. Wunder kann allerdings die Fritz Box nicht vollbringen. Bei niedriger DSL-Upload-Geschwindigkeit wird mancher Zugriff zur Geduldsprobe.