iOS und IPCop/IPFire OpenVPN

OpenVPN-Profile

OpenVPN-Profile

Mit OpenVPN Connect gibt es einen guten OpenVPN-Client für iOS-Geräte ab der Version 5.0.

Mithilfe der App können ganz komfortabel mehrere VPN-Tunnel verwaltet und verwendet werden. Die jeweiligen OpenVPN-Konfigurationsdateien lassen sich jedoch nicht direkt am iPhone, iPod oder iPad anpassen, wie man das beispielsweise von der Android-App kennt. Die erste Einrichtung gestaltet sich demnach also etwas anspruchsvoller, da man die Konfigurationsdateien am Rechner anpassen und anschließend mittels iTunes übertragen muss.

Darüber hinaus gibt es noch einige weitere Einschränkungen:

  • Zertifikate müssen in die OpenVPN-Konfigurationsdatei integriert werden
  • TAP-Devices werden derzeit nicht unterstützt
  • Fehlermeldungen bei der Zertifikatverwaltung sind nicht scrollbar, passen im vertikalen Modus nicht auf den Bildschirm

Die jeweilige iOS OpenVPN-Konfiguration variiert je nach Serverkonfiguration. Wie bereits erwähnt werden TAP-Konfigurationen derzeit nicht unterstützt.

Ich verwende OpenVPN in Verbindung eines IPCop-Routers. Dieser verwendet standardmäßig TUN und Zertifikate für Benutzer- und CA. In dieser Konstellation ist es erforderlich, die einzelnen Zertifikate (Benutzer, CA) zu extrahieren (benötigt ein installiertes OpenSSL) damit sie anschließend in die OpenVPN-Konfiguration integriert werden können:

# openssl pkcs12 -in name.p12 -nocerts -nodes -out keys.pem
Enter Import Password:
MAC verified OK
# openssl pkcs12 -in name.p12 -cacerts -nodes -out ca.pem
Enter Import Password:
MAC verified OK
# openssl pkcs12 -in name.p12 -out name.pem
Enter Import Password:
MAC verified OK
Enter PEM pass phrase:

Das von IPCop / IPFire erzeugte Client-ZIP enthält eine fertige Konfigurationsdatei, die noch angepasst werden muss. Das vermerkte Krypto-Archiv (pkcs12) wird entfernt oder auskommentiert – die jeweiligen, vorher extrahierten Zertifikate, werden im XML-Syntax angehängt:

#OpenVPN Server conf
tls-client
client
dev tun
proto udp
tun-mtu 1400
remote HOSTNAME PORT
#pkcs12 name.p12
cipher BF-CBC
verb 3
ns-cert-type server

#ca.pem
<ca>
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
</ca>
#name.pem
<cert>
-----BEGIN CERTIFICATE-----
....
-----END CERTIFICATE-----
</cert>
#keys.pem
<key>
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
</key>

Anschließend wird die OpenVPN-Konfiguration gespeichert und mittels iTunes auf das iOS-Gerät übertragen. Hierfür sollte nach der Installation von OpenVPN Connect eine entsprechende Registerkarte (nach unten scrollen!) existieren.

OpenVPN-Log

OpenVPN-Log

Mittels Drag & Drop kann die Datei komfortabel übertragen werden. Auf dem iOS-Gerät wird das neue Profil erkannt und kann anschließend importiert werden.

Verbindungsaufbauten werden automatisch mitgeloggt – im Fehlerfall kann man also nachlesen, warum die Verbindung nicht zustandekommt. Aktive VPN-Verbindungen werden, wie IPSec- und PPTP-Tunnel mit einem VPN-Icon angezeigt. 🙂

10 Kommentare Schreibe einen Kommentar

  1. Guten Abend!

    Ich habe Ihre Anleitung zum Aufbau einer OpenVPN-Verbindung zwischen Ipcop/Ipfire gelesen. Seit dem 20.5.2013 wird eine neue Version von Openvpn-connect (1.01) angeboten. Müssen weiterhin die Zertifikate vom Ipcop/Ipfire angepaßt werden? Bei der Konvertierung wird 2x Enter Import Passwort nachgefragt. Was trägt man ein? Ebenfalls Enter pem pass phrase?
    Ich bedanke mich im Voraus und wünsche noch einen schönen Abend!
    Gruss
    Friedemann Tlatlik

    • Hallo,
      ich musste weiterhin die Zertifikate anpassen.

      Bei der Konvertierung ist das Passwort, welches beim Erstellen des OpenVPN-Benutzerzertifikats erstellt wird, einzugeben – also das Passwort, mit welchem man auch eine Verbindung vom Rechner herstellt.

      Beste Grüße und gutes Gelingen,
      Christian!

      • Hallo,

        ist es normal das beim Verbindungsaufbau kein Passwort abgefragt wird, sondern sofort connected wird?
        Ich würde gerne nach dem Passwort beim Connect gefragt werden.

      • Hi Soc,

        das ist normal und lässt sich – soweit ich weiß – auch nicht abstellen. Android setzt mit der Aktivierung dieser Funktion das Verwenden eines PINs oder Bildschirm-Musters voraus, um die Sicherheit zu erhöhen. Weiß gar nicht, wie es da beim iPhone aussieht. Ich denke ein Kompromiss wäre es, einen PIN zu aktivieren – wenn dann das Handy mal vergessen wird, kann wenigstens niemand im privaten Netzwerk Schaden anrichten.

        Beste Grüße,
        Christian!

  2. Hallo,
    mich würde interessieren ob und wann das TAP-Device unterstützt wird,
    kann zum TAP nichts finden. Haben sich die Entwickler dazu geäußert?

    VG
    Peter

  3. Hallo Christian,

    Danke für die Info.
    Ich kannte bisher nur die Einrichtung eines VPN Tunnel mit der Fritzbox.
    Dort wird beim Connection Aufbau (IPsec) nach einwn Passwort gefragt.
    Da dort kein Zertifikat verwendet wird, ist dieses Passwort wohl zur Verschlüsselung erforderlich.

    Gruß

    Andreas

    • Hi Andreas,
      genau – eine der Authentifizierungsmöglichkeiten von IPSec ist die Verwendung von Pre-shared keys (PSKs). Alternativ kann man, wie Du schon richtig sagst, Zertifikate verwenden (was sicherer ist).

      Beste Grüße,
      Christian.

  4. Hallo!

    Vielleicht kann mir ja jemand eine Tipp geben. Ich nutze die Lösung mit OpenVPN seit ca. einem halben Jahr auf einem iPhone (Provider O2) zusammen mit einer EasyBoy 904xdsl um auf meinen Receiver zu gelangen. Bisher hat es auch reibungslos funktioniert, nur habe ich seit ca. 2 Wochen ein Problem.

    Ich kann über OpenVPN mich mit dem Router zwar verbinden und der Tunnel wird aufgebaut, nur gelange ich meistens nicht mehr auf der Sat-Receiver oder andere Gerät und habe keinen Zugriff. Ich komme dann auch nicht auf den Router wenn ich seine IP direkt eingebe, oder wenn dann nur für kurze Zeit und dann erfolgt ebenfalls kein Seitenaufbau mehr.

    Das Problem scheint aber nur über das Mobilfunknetz zu bestehen. Wenn ich mich in einem fremden W-Lan befinde, dann bleibt die Verbindung bestehen. und ich kann ohne Verbindungsabbrüche auf die Geräte im W-Lan zugreifen. Was komisch ist, dass die VPN-Verbindung nicht zusammenbricht und bestehen bleibt, aber ich trotzdem kein Gerät über Eingabe der IP-Nummer ansprechen kann.

    Ich habe zum testen nun ein Zertifikat auf einem Android Telefon eines Bekannten installiert. Bei diesem bleibt die Verbindung bestehen und habe behalte den Zugriff die ganze Zeit. Weiterhin habe ich die Easybox zurückgesetzt, neue Zertifikate erstellt und auch OpenVPN auf dem iPhone neu installiert und eingerichtet. Jedoch mit dem selben Ergebnis, das ich nach Aufbau der VPN Verbindung, nur kurzzeitig Zugriff auf Sat-Receiver, Easybox und Co. bekomme und dann die Geräte nach kurzer Zeit nicht mehr ansprechbar sind.

    Hat jemand eine Idee was es sein kann und wie ich wieder eine stabile Verbindung über das Mobilfunknetz hinbekomme? Wie gesagt es lief monatelang reibungslos und an der Konfiguration wurde nichts verändert. Ich dachte auch erst es läge an dem Router und das er die interne Route nicht richtig setzt oder sich irgendwo festfährt. Aber mit dem Android Telefon traten die Probleme nicht auf.

    Bin leider auch etwas Laie in diesem Bereich. Konnte aber zumindest die etwas umständliche Einrichtung auf dem iPhone hinbekommen. Über Lösungsvorschläge würde ich mich freuen.

    Vielen Dank!

Schreibe einen Kommentar