Eine Konfiguration des OpenVPN-Servers kann aussehen wie in Listing 2 .
Listing 2
Server-Konfiguration
Der VPN-Tunnel wird hier über virtuelle Netzwerk-Schnittstellen aufgebaut. Dabei wird die lokale Routing-Tabelle so verändert, dass sie die Pakete über diese Schnittstelle versendet. Die Schnittstelle
»tun
«
im Beispiel legt einen IP-Tunnel an, alternativ lässt sich über
»tap
«
ein Ethernet-Tunnel aufbauen.
Die Datei mit den Definition wird als
»/etc/openvpn/server.conf
«
abgespeichert, der Name der Konfigurationsdatei ist allerdings frei wählbar, weil er dem Server beim Aufruf mitgegeben wird:
# openvpn --config /etc/openvpn/server.conf
Die oben gezeigte Datei enthält nur eine Minimaldefinition. Bei Schwierigkeiten mit der Verbindung kann der Admin mit der Variable
»verb
«
die Debugging-Stufe einstellen. Welche Modi möglich sind, zeigt
Tabelle 1
.
Tabelle 1
Debugging-Modi
Parameter |
Bedeutung |
---|---|
0 |
Es werden nur schwerwiegende Fehler gemeldet |
4 |
Normalbetrieb |
5 und 6 |
Bei bestehenden Verbindungsproblemen einzuschalten |
9 |
Sehr geschwätziger Modus |
Eine Datei, in der die Meldungen protokolliert werden, legt man mit
log-append /etc/openvpn/openvpn.log
in der Konfigurationsdatei fest.
Wer beim Test nicht die Konfigurationsdatei ändern will, kann die Parameter auch auf der Kommandozeile beim Starten des Servers definieren. Die Verbosity wird beispielsweise mit
# openvpn --verb 5 --config /etc/openvpn/server.conf
festgelegt.
Smartphones sind längst Alltag. Im Beispiel dient zunächst ein HTC-Smartphone mit CyanogenMod [2] als Betriebssystem als Client. Der Vorteil ist, dass hier OpenVPN zum Standard gehört und keine weiteren Schritte zur Installation des Clients erforderlich sind.
Um OpenVPN unter CyanogenMod nutzen zu können, müssen zunächst das Client-Zertifikat und der zugehörige Schlüssel sowie das CA-Zertifikat mit einer einer
»pkcs12-Datei
«
importiert werden. Sie wird mit dem Aufruf
# openssl pkcs12 -export \ -in client1.crt \ -inkey client1.key \ -certfile ca.crt \ -out client1.p12 Enter Export Password: Verifying - Enter Export Password: #
geschrieben.
Anschließend wird das Zertifikat
»client1.p12
«
im Hauptverzeichnis des Smartphones abgelegt. Es wird im nächsten Schritt über das Menü
»Einstellungen | Standort und Sicherheit
«
von der SD-Karte importiert. Die Konfiguration erfolgt gleichfalls über
»Einstellungen
«
und dort über die Menüpunkte
»Drahtlos & Netzwerke | VPN-Einstellungen | VPN hinzufügen | OpenVPN-VPN hinzufügen
«
. Das sich hier öffnende Konfigurationsmenü zeigt Bild 1. Dort werden die Angaben aus
Tabelle 2
gemacht.
Tabelle 2
Parameter des OpenVPN-Clients
Parameter |
Beispiel |
---|---|
VPN-Name |
Beliebig |
VPN-Server festlegen |
IP-Adresse des Servers |
Authentifizierung |
Leer |
CA-Zertifikat festlegen |
Name des importierten Zertifikats |
Nutzerzertifikat festlegen |
Name des importierten Zertifikats |
DNS-Suchdomains |
Leer |
Mit diesen Schritten ist die Konfiguration des Client bereits abgeschlossen. Nachdem Client und Server gestartet sind und der Tunnel erfolgreich aufgebaut ist, sollte auf dem Smartphone eine Meldung wie in Abbildung 2 ausgegeben werden.