Offene Verschlusssache

Seite 2: Einrichtung

Inhaltsverzeichnis

Unter Windows installiert man OpenVPN am besten im Paket mit dem OpenVPN GUI. Damit lässt sich der VPN-Tunnel wie eine normale Netzwerkverbindung über das Kontext-Menü des Tray-Icons verbinden und trennen. Bei der Konfiguration selbst bietet es leider keine Hilfe; will man an den Einstellungen etwas ändern, muss man die Textdateien von Hand editieren. Unter Mac OS X leistet das Paket Tunnelblick Ähnliches. Unsere Versuche mit den Linux-GUIs verliefen eher frustrierend, sodass dort eine einfache Verknüpfung auf dem Desktop vorzuziehen ist, die OpenVPN in einem eigenen Terminal-Fenster startet.

In Sachen Bedienerfreundlichkeit verwöhnte Mac-Anwender werden sich nur schwer mit dem rudimentären GUI von Tunnelblick anfreunden.

OpenVPN hat eine Menge Schrauben, an denen man drehen kann. Das Schöne daran ist, dass man die meisten davon in der Regel nicht braucht. Will man nur zwei Rechner über ein VPN miteinander verbinden, genügt es, den OpenVPN-Server mit der mitgelieferten Beispielkonfigurationsdatei server.conf zu starten. Anpassen muss man gegebenenfalls die Namen und Pfade zu den Schlüssel- und Zertifikatsdateien, die OpenVPN standardmäßig im aktuellen Verzeichnis sucht. Unter Windows empfiehlt es sich, die Dateiendung in .ovpn zu ändern, damit die Datei dem richtigen Programm zugeordnet wird. Auf Debian-Systemen ist der Eintrag group von nobody auf nogroup zu setzen. OpenVPN reduziert unter Unix so bald wie möglich seine Rechte auf die dieser unprivilegierten Gruppe und des Users nobody. Den Befehl

openvpn server.conf

quittiert OpenVPN mit einer Reihe von Statusmeldungen, die in einem "Initialization Sequence Completed" kulminieren. Auf der anderen Seite muss man entweder die IP-Adresse oder den Namen des Servers unter "remote" in der Beispieldatei client.conf eintragen. Nach dem Start mit

openvpn client.conf

fragt das Programm nach dem Passwort für den geheimen Schlüssel und sollte nach dessen Eingabe ebenfalls ein "Initialization Sequence Completed" konstatieren. Damit steht die VPN-Verbindung und man kann den Server in der Beispielkonfiguration mit ping 10.8.0.1 erreichen. Analog sollten auch andere Dienste wie Webserver oder Dateifreigaben auf der Gegenstelle zu erreichen sein, falls dies nicht durch eine restriktive Konfiguration oder eine Firewall unterbunden wird.

Die IP-Adresse der Clients vergibt der Beispiel-Server dynamisch aus dem Bereich 10.8.0.0/24, der erste bekommt in der Regel die 10.8.0.6. Man kann die Adresse aus den Statusmeldungen entnehmen; auf dem Server zum Beispiel "MULTI: Learn: 10.8.0.6", auf einem Linux-Client /sbin/ifconfig tun0; bei Windows-Clients meldet das GUI die IP-Adresse des Clients. OpenVPN merkt sich diese Zuordnungen, sodass man bei erneuter Einwahl wieder dieselbe Adresse erhält. Alternativ beschreiben die Kommentare in der Datei und das Howto, wie man Clients auch feste IP-Adressen zuweisen kann.

Mit dem OpenVPN-GUI für Windows kann man VPN-Tunnel analog zu normalen Internetverbindungen starten und trennen.

Für einen OpenVPN-Server mit dynamischer Internet-Adresse kann man als remote einen DynDNS-Namen eintragen, wie man ihn beispielsweise bei DynDNS.org bekommt. Viele Router können sich bei jeder Einwahl selbst dort anmelden, ansonsten erledigen das Tools wie DeeEnEs. Steht der Server hinter einem Router, muss man dort den UDP-Port 1194 an den Rechner weiterleiten, der als Server fungieren soll.

Steht "hinter" dem OpenVPN-Server ein privates Netz, das der Client erreichen können soll, kann ihm der Server eine passende Netzwerk-Route übermitteln. Dazu ist in server.conf die Zeile

;push "route 192.168.10.0 255.255.255.0"

anzupassen und das führende Semikolon zu entfernen. Das funktioniert ohne weitere Tricks allerdings nur unter zwei Voraussetzungen: Erstens darf auf der Client-Seite nicht derselbe Adressbereich zum Einsatz kommen. Und zweitens muss sichergestellt sein, dass die Pakete aus dem LAN den richtigen Weg zum VPN-Client finden. Das passiert automatisch, wenn der OpenVPN-Server auch das Standard-Gateway für die Rechner im Server-LAN ist. Ansonsten muss entweder das Gateway eine passende Route haben, die Pakete für 10.8.0.0/24 an den OpenVPN-Server weiterleitet, oder diese Route muss auf allen Clients eingetragen werden.

OpenVPN kennt darüber hinaus viele weitere Optionen und Zusatzfunktionen, mit denen man sich nur bei Bedarf beschäftigen muss. So kann man Windows-Clients über DHCP-Optionen die Adressen von DNS- und WINS-Servern übermitteln oder die Clients anweisen, alle ausgehenden Pakete durch den VPN-Tunnel zu routen. Die einzelnen Optionen sind in der Beispielkonfiguration und der Dokumentation gut erklärt. Im Folgenden sollen ein paar konkrete Einsatzszenarien und deren spezielle Erfordernisse etwas genauer erläutert werden.