OpenVPN auf Android 4.4.x (Kitkat) einrichten

 

Voraussetzungen:

– funktionierender OpenVPN Server
– Server verwendet tun Devices
– funktionierendes Server CA-Zertifikat
– Zugriff per SSH auf OpenVPN Server

 

Auf dem Server wird ein Zertifikat für den neuen Client erstellt. Hierzu muss vorher die vars „gesourced“ werden. Ist dieses korrekt vorgenommen, so kann man sich mit echo $Variablenname den Inhalt der Variable anzeigen lassen.

Nun wird das Clientzertifikat erstellt:

        Shell #> /pfad/zu/build-key clientname

Heraus kommen die nötigen Dateien clientname.crt, clientname.key. Zu finden sind diese in dem in der vars angegebenen Zertifikatsverzeichnis.
Das schon vorhandene Server-CA-Zertifikat ca.crt wird ebenfalls benötigt.

Da der OpenVPN Client (Google Play Store -> Android-Connect) nur Zertifikatsdateien im PKCS#12 Format verarbeiten kann müssen die obigen Zertifikate in dieses gewandelt werden:

        Shell #> openssl pkcs12 -export -in clientname.crt \
        -inkey clientname.key -certfile ca.crt -name ClientNameBlahfasel \
        -out clientname.p12

Heraus kommt die Datei clientname.p12. Diese und eine passende Profildatei clientprofil.ovpn müssen auf einem sicheren! Wege vom OpenVPN Server auf das Android Gerät kopiert werden. (Also keine Dateiübertragung per eMail oder FTP! Im Idealfall kopiert man sich diese über SSH/scp vom Server auf das Gerät.) (In der Profildatei clientprofil.ovpn müssen die Einträge zu den Zertifikaten ca.crt, clientname.crt und clientname.key entfernt werden.)

Nun in der Android App OpenVPN-Connect erst die Datei clientname.p12 importieren. Hierzu unter Einstellungen -> Import -> Import PKCS#12 from SD card erst die clientname.p12 Datei importieren. Danach kann das Profil clientprofil.ovpn über Einstellungen -> Import -> Import Profile from SD card importiert werden.

Ein Verbindungsaufbau sollte nun ohne Probleme möglich sein. Im Log finden sich weitere Infos, sollte es nicht klappen.

 

Wenn der Tunnel steht kann man noch unter Preferences Anpassungen zur OpenVPN Verbindung vornehmen. Hier kann man u.a. einstellen, wie sich der Tunnel verhalten soll, welche DNS Server genutzt werden sollten sofern keine vom Server vorgegeben werden, wie sich der Client bei einem Neustart des Gerätes verhalten soll usw.

Spezielle Anpassungen für den Client können (sofern Client-Configs genutzt werden) im Clientverzeichnis in der Datei clientname vorgenommwn werden.

Fertig.

Dieser Beitrag wurde unter Android, Dokus und Tipps abgelegt und mit , , , , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*