Wenn man einen OpenVPN-Server in der Standardkonfiguration betreibt, wird man sich unter Umständen wundern, an welcher Stelle ist das OpenVPN Log zu finden ist. Das liegt daran das der OpenVPN-Server das ganze in /var/log/syslog speichert. Möchte man nun die OpenVPN betreffenden Punkte filtern so sollte man auf der Konsole folgendes eingeben:
grep VPN /var/log/syslog
Alternativ kann man auch die OpenVPN-Konfiguration anpassen. Dazu muss die Datei /etc/openvpn/server.conf bearbeitet werden. Dort gibt es eine Option log-append, welche wie folgt angepasst wird:
iOS bietet von Haus aus eine Reihe von Möglichkeiten für VPN Verbindungen. Leider sind Verbindungen per OpenVPN nicht darunter. Allerdings ist dies kein Beinbruch, da es eine entsprechende App im Appstore gibt. Die benötigten Dateien (Zertifikate und Konfiguration) sind dabei die selben wie bei der Mac OS X Nutzung. Nachdem die Dateien per iTunes über die Dateifreigabe importiert worden sind, können sie in der OpenVPN App importiert werden. Nachdem Import sieht man die Verbindung und den Schriftzug „Unconnected“. Mit einem Druck auf den Radiobutton wird eine Verbindung hergestellt.
Das VPN Logo in der oberen Leiste zeigt den Status an
An dieser Stelle fragt iOS ob man der Anwendung die Rechte zum Herstellen einer VPN Verbindung geben möchte. Dies sollte natürlich bejaht werden. Oben in der Menüleiste gibt es nun ein VPN Logo, welches einen darauf hinweist das die Verbindung steht und genutzt werden kann.
Wie man OpenVPN unter Windows betreibt, hatte ich vor einigen Jahren beschrieben. Auch unter Mac OS X lässt sich das ganze einrichten. Als grafischer Client bietet sich der quelloffende und unter GPLv2 stehende Client Tunnelblick an, dessen offizielle Seite auf Google Code zu finden ist. Nach der Installation der aktuellen (stabilen) Version 3.3, kann Tunnelblick auch gleich ausgeführt werden. Für die Konfiguration des Clients benötigt man eine Datei mit den benötigten Parametern, welche die Endung „ovpn“ oder „conf“ trägt. Tunnelblick kann dabei bei Bedarf eine Beispielkonfiguration anlegen. In dieser Konfigurationsdatei werden nur folgende Werte geändert:
remote vpn.example.org 1194
# SSL/TLS parms.
# See the server config file for more
# description. It's best to use
# a separate .crt/.key file pair
# for each client. A single ca
# file can be used for all clients.
ca ca.crt
cert client.crt
key client.key
Die ovpn Datei wird mit der ca.crt Datei und der client.crt sowie der client.key Datei (beide erhält man vom VPN Anbieter) in einen Ordner gepackt und dieser Ordner mit der Erweiterung „.tblk“ versehen. Anschließend wie der Ordner im Finder geöffnet und somit der Tunnelblick-Konfiguration hinzugefügt. Danach kann die Verbindung im Kontextmenü aktiviert werden. Nach einigen Sekunden ist die Initialisierung beendet und die VPN Verbindung kann genutzt werden.
Wenn man sich einem unsicheren Netz bewegt, z.B. in einem freien WLAN empfielt es sich ein VPN zu nutzen. Dafür gibt es die unterschiedlichsten VPN-Dienste, welche dies gegen einen monatlichen Obolus anbieten. Besitzt man einen eigenen Server, so kann man sich mittels OpenVPN einen solchen Dienst selber aufsetzen. Im ersten Schritt wird OpenVPN installiert:
apt-get install openvpn
Aus den Beispieldateien wird das Skript „easy-rsa2“ zum Erstellen der Zertifikate an den entsprechenden Ort kopiert:
Damit ist die Certificaty Authority (CA) erstellt. Nun geht es an die Erstellung der Schlüssel für den Server:
sudo -E ./build-key-server server
Beim Common Name, gibt man die Domain ein unter welcher der VPN Server später erreichbar sein soll (z.B. vpn.example.org). Nach der Erstellung wird man im „keys“ Verzeichnis die Dateien „server.crt“, „server.csr“ und „server.key“ finden. Für den Diffie-Hellman Schlüsselaustausch müssen entsprechende Paramater erzeugt werden:
sudo -E ./build-dh
Nun fehlen nur noch die Zertifikate für die entsprechenden Nutzer. Ein Nutzer wird dabei mittels:
sudo -E ./build-key nutzerOderClientName
erstellt. Damit sind alle benötigten Zertifikate und Schlüssel erstellt, so das nun die restliche Konfiguration des Servers vorgenommen werden kann. Als Basis wird dabei die mitgelieferte Beispieldatei genutzt:
In dieser Anleitung geht es darum auf zwei Windows Systemen ein VPN aufzubauen. Dabei wird hier mit OpenVPN gearbeitet und sogenanntes Bridging benutzt. Das hat den Vorteil das der Clientrechner sich so verhält als wäre er direkt in dem entsprechenden LAN.
Im ersten Schritt installieren wir OpenVPN GUI (http://openvpn.se) auf dem Server (in diesem Fall ein Windows Server 2003 / 64 Bit Rechner) sowie auf dem Client (Windows XP / 32 Bit). Nachdem dies geschehen gehen wir auf einen der Rechner in das OpenVPN Verzeichnis und dort in den easy_rsa Ordner.
Dort öffnen wir eine Konsole und führen die Datei init-config.bat aus. Anschließend bearbeitet man die vars.bat und ändert da die Werte dementsprechend (KEY_SIZE, KEY_COUNTRY usw.) und führt dann in der gleichen Konsole die vars.bat sowie anschließend die clean-all.bat aus.
Damit ist das ganze Verzeichnis erst einmal sauber. Nun bauen wir den Schlüssel für die Certificate-Authority. Dies geschieht mittels der Ausführung der Dateien build-ca.bat in der gleichen Konsole. Danach wird noch die Datei build-dh.bat ausgeführt. Der darauf folgende Prozess kann einige Minuten dauern.
Nun müssen noch die Schlüsseldateien für den Server und den Client angelegt werden. Dies geschieht mittels build-key-server.bat [SERVERNAME] z.B. build-key-server.bat Lethery. Ist das geschafft wird mittels build-key.bat [CLIENTNAME] der Schlüssel für den Client generiert. Damit ist die Schlüsselgeneration abgeschlossen.
Nun werden die erzeugten Dateien separiert. Für den Server sind folgende Dateien nötig:
– ca.crt
– server.crt
– server.key
– dh1024.pem
Der Client benötigt diese Dateien:
– ca.crt
– client.crt
– client.key
Die Dateien kommen dabei in den config Ordner der OpenVPN Installation. Nun müssen die Konfigurationsdateien angelegt werden. Für den Client sieht das ganze so aus:
client
remote myserver.dyndns.com 1194
proto udp
dev tap
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
verb 3
mute 50
Hier muss im Ideallfall nur der Servername hinter remote angepasst werden. Die Datei für den Server ist dabei etwas umfangreicher:
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
client-to-client
ping-timer-rem
keepalive 20 180
verb 3
mute 50
Beim Server wird in der ersten Zeile das Standardgateway, das Subnetz, sowie die Start- und End IP Adresse angegeben. Die Start- und Endadressen dienen dazu dem OpenVPN Server zu sagen welche Adressen er für VPN Clients benutzen darf.
Danach kann man in der OpenVPN GUI auf Connect drücken (erst auf dem Server, dann auf dem Client) und wird dann zu seinem Netz verbunden. Sollte die Verbindung nicht funktionieren so muss am Router ein Portforwarding eingerichtet werden. Dazu muss Port 1194/UDP auf die entsprechende IP des OpenVPN Servers geforwardet werden.