Ankündigung

Einklappen
Keine Ankündigung bisher.

VPN mit Iphone

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #31
    Hallo Kollegen,

    Statusupdate: VPN on Demand (VoD) läuft!

    Mit den Infos von Jacks Server Guides und dem Perfect Privacy Forum habe ich es nach einigem rumprobieren hinbekommen. Hier mal ein kleines HowTo:

    Erstmal OpenVPN installieren und konfigurieren wie in Jacks Server Guides beschrieben mit einer Ausnahme, anstatt die Client Schlüssel mit ./build-key user1 müssen diese mit ./build-key-pkcs12 user1 angelegt werden, da iOS die Zertifikate zusammen mit den Keys als PKCS#12 erwartet. Dabei wird man nach einem Export Passwort gefragt, irgendwas eingeben und merken, das brauchen wir später im iPhone Tool.

    Meine server.conf ähnelt der von Jacks Server Guides mit ein paar Ausnahmen. In der OpenVPN App steht, dass iOS mit folgenden Einstellungen nichts anfangen kann:

    tun-mtu 1500
    fragment 1300
    mssfix

    Schlussendlich sieht meine server.conf so aus:

    Code:
    port 1194
    proto udp
    dev tun
    ca /etc/openvpn/keys/ca.crt
    cert /etc/openvpn/keys/server.crt
    key /etc/openvpn/keys/server.key
    dh /etc/openvpn/keys/dh2048.pem
    tls-auth /etc/openvpn/keys/ta.key 0
    cipher AES-256-CBC
    server 10.8.0.0 255.255.255.0
    push "redirect-gateway def1"
    push "dhcp-option DNS 192.168.178.1"
    keepalive 10 120
    comp-lzo
    max-clients 10
    user nobody
    group nogroup
    persist-key
    persist-tun
    verb 3
    Clientkonfiguration

    Man kann momentan nicht einfach die ovpn Datei importieren wenn man VoD nutzen möchte sondern braucht das iPhone Konfigurationsprogramm. Also runterladen, installieren und in der iOS VPN App unter More Help steht der Weg beschrieben. Jedoch gibt es da ein paar Stolpersteine. Zunächst legt man mit dem iPhone Tool ein neues Profil an und konfiguriert dort das VPN wie beschrieben. Die user1.p12 (oder wie auch immer man den Client genannt hat) wird unter Zertifikate importiert. Dort muss man auch das oben erwähnte Export Passwort eingeben. Anschließend kann man das Zertifikat im VPN Tab auswählen.

    Jetzt wirds knifflig. Alle Einstellungen der ovpn Datei müssen im iPhone Tool als key/value Paare angegeben werden. Allerdings anders als beschrieben, darf man dabei values mit Leerzeichen nicht in Quotes einschließen. Man nimmt sich also erstmal die eigentliche Clientconfig von OpenVPN die bei mir so aussieht:

    Code:
    client
    dev tun
    remote IP_DES_oVPN_SERVERS 1194
    proto udp
    resolv-retry infinite
    nobind
    persist-key
    persist-tun
    route-delay 2
    ca ca.crt
    tls-auth ta.key 1
    cipher AES-256-CBC
    remote-cert-tls server
    comp-lzo
    verb 3
    Eigentlich kein Problem. Beginnend von oben legt man ein key/value Paar mit key = "client" und value = "NOARGS" (NOARGS immer dann, wenn eine Option kein Wert hat). Als nächstes kommt ein key = "dev" mit value = "tun". Bei "remote" gibt man einfach als value ohne Gänsefüße die IP, Leerzeichen und dann den Port ein. Aufpassen muss man allerdings bei "tls-auth" und "ca" ("cert" und "key" müssen nicht angegeben werden, da die im PKCS File stehen). Normalerweise gibt man dort den Dateinamen an, das geht hier aber nicht, da man die Dateien nicht hinterlegen kann. Man muss also den Inhalt der Datei in das value kopieren. Dabei muss man Zeilenumbrüche durch \n ersetzen. Sinnlos erzeugte Kommentare die mit # anfangen kann man dabei weglassen. Da "tls-auth" normalerweise das value "ta.key 1" bekommen würde, muss man nach dem Einfügen des Inhalts von ta.key noch ein Leerzeichen und eine 1 in das value Feld eingeben.

    Schlussendlich sollte das ganze in etwa so aussehen:

    Code:
    key             value
    ===             =====
    client          NOARGS
    dev             tun
    remote          xxx.dyndns.org 1194
    proto           udp
    resolv-retry    infinite
    nobind          NOARGS
    persist-key     NOARGS
    persist-tun     NOARGS
    route-delay     2
    ca              [I]Inhalt der ca.crt (Zeilenumbrüche durch \n ersetzen)[/I]
    tls-auth ta.key [I]Inhalt der ta.key (Zeilenumbrüche durch \n ersetzen)[/I] [B][COLOR="Red"]1[/COLOR][/B]
    cipher          AES-256-CBC
    remote-cert-tls server
    comp-lzo        NOARGS
    verb            3
    Hat man alle Konfigoptionen als key/value Paar eingegeben wählt man zu guter letzt noch die Domains und IP Adressen aus, bei denen VoD aufgebaut werden soll und installiert das Profil wie beschrieben auf dem iPhone. Zum Testen kann man schnell in der Einstellungs App das VPN aktivieren. Ist das iPhone dabei per Kabel mit dem Rechner verbunden sieht man im iPhone Tool unter Konsole auch etwaige Fehlermeldungen beim Aufbau der VPN Verbindung.
    Mit freundlichen Grüßen
    Niko Will

    Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
    - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

    Kommentar


      #32
      Hallo Niko,

      super Danke dir für die Infos!!!!!

      Heißt das du hast einen eigenen OpenVPN Server installiert und den aus dem Wiregate deaktiviert?

      Habe ich das richtig verstanden. Bei den Key/Value Paaren. Key immer in Anführungszeichen und Value auch, außer Value enthält ein Leerzeichen.

      Kommentar


        #33
        push "dhcp-option DNS 192.168.178.1"
        Funktioniert das bei Dir mit dem iPhone? Ich bekomme den DNS nicht ans laufen und hab irgendwo gelesen, dass diese Option wohl nur von Windows-Clients ausgewertet wird?

        meint Ihr die ANleitung zu OpenVPN on Deamdn oder nur um sich ganz normal händisch einzuwählen?
        Bei manueller Einwahl klappt es mit dem openVPN Server des Wiregates "out of the box".

        Kommentar


          #34
          Zitat von Jache Beitrag anzeigen
          Heißt das du hast einen eigenen OpenVPN Server installiert und den aus dem Wiregate deaktiviert?
          Ich verwende einen eigenen (da der ESXi Server eh läuft), wollte aber mal noch schauen, inwieweit ich den vom Wiregate nutzen kann.

          Zitat von Jache Beitrag anzeigen
          Habe ich das richtig verstanden. Bei den Key/Value Paaren. Key immer in Anführungszeichen und Value auch, außer Value enthält ein Leerzeichen.
          Nein, immer ohne Anführungszeichen. In der Beschreibung steht man muss diese verwenden, wenn ein Leerzeichen im value enthalten ist, bei mir hagelte es aber Fehlermeldungen. Bei mir hat es nur ohne Anführungszeichen funktioniert.

          Zitat von Jockel Beitrag anzeigen
          Funktioniert das bei Dir mit dem iPhone? Ich bekomme den DNS nicht ans laufen und hab irgendwo gelesen, dass diese Option wohl nur von Windows-Clients ausgewertet wird?
          Öhm, da muss ich passen. Ich kann zumindest übers VPN im Internet surfen.

          Zitat von Jockel Beitrag anzeigen
          Bei manueller Einwahl klappt es mit dem openVPN Server des Wiregates "out of the box".
          sollte an und für sich auch mit dem vom Wiregate gehen. Unsicher bin ich mir nur, ob man damit auch ins lokale Netz kommt. Weil umkonfigurieren wollte ich den eigentlich nicht zwecks Wartungs VPN.
          Mit freundlichen Grüßen
          Niko Will

          Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
          - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

          Kommentar


            #35
            Unsicher bin ich mir nur, ob man damit auch ins lokale Netz kommt. Weil umkonfigurieren wollte ich den eigentlich nicht zwecks Wartungs VPN.
            Ja, das geht. Dazu braucht es ein passendes "push route" in der Serverkonfiguration und eine statische Route auf dem lokalen Router. Das Wartungs-VPN stört sich daran nicht, das sind getrennte Konfigurationen in der das Wartungs-VPN als konfiguriert ist.


            Öhm, da muss ich passen. Ich kann zumindest übers VPN im Internet surfen.
            Kannst Du denn Adressen aus dem lokalen Ntz auflösen? Ansonsten vermute ich, dass der DNS des Netzbetreibers genommen wird, nur durch das VPN getunnelt.

            Kommentar


              #36
              Zitat von Jockel Beitrag anzeigen
              Kannst Du denn Adressen aus dem lokalen Ntz auflösen? Ansonsten vermute ich, dass der DNS des Netzbetreibers genommen wird, nur durch das VPN getunnelt.
              Muss ich mal testen, aber ich arbeite ohnehin immer mit IP Adressen, daher ist mir das eigentlich egal
              Mit freundlichen Grüßen
              Niko Will

              Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
              - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

              Kommentar


                #37
                VPN mit Iphone

                Ich benutze openvpn vom iPhone zum Openvpn Access Server über Port 443.

                Das geht dann auch gut aus Netzen aus denen man per pptp oder IPSec nicht raus darf....


                Sent from my iPad using Tapatalk

                Kommentar


                  #38
                  Update: das ganze funktioniert, wenn man jede IP Adresse einzeln einträgt, was ziemlich nervig ist bei mehreren Dutzend Adressen. Heute morgen unter der Dusche ist mir dann gekommen, dass im Heimnetz jeder Rechner über <<rechnername>>.fritz.box erreichbar ist. Es müsste also funktionieren wenn man fritz.box als Domainname einträgt und dann "immer herstellen" verwendet. Alle Adressen müssen dann natürlich auch so verwendet werden. Das werde ich noch testen.

                  Außerdem habe ich noch vier andere Probleme.

                  Problem 1: wenn ich eine IP Adresse aufrufe, wird korrekterweise das VPN aufgebaut, allerdings lädt die Seite dann ewig und nichts passiert. Erst wenn ich den Ladevorgang abbreche und es erneut versuche (also wenn die VPN Verbindung bereits besteht) funktioniert es auf Anhieb.

                  Problem 2: es funktioniert nicht in jeder App sondern bisher nur im Safari. Versuche ich also mit einer ssh Client App (in meinem Fall Prompt) auf eine IP im Heimnetz zuzugreifen, wird keine Verbindung aufgebaut und demnach scheitert auch der Versuch mit einem Timeout.

                  Problem 3: auf meiner Visu Seite habe ich den Stream der Mobotix Türstation eingebunden, ebenfalls mit privater IP Adresse. Rufe ich die Visu von außen übers VPN auf, wird das Bild der Türkamera nicht geladen. Intern geht es und es funktioniert ebenso über das IPSec VPN der Fritzbox.

                  Problem 4: Der Zugriff auf gesperrte Seiten die die Eingabe von Username und Password erfordern (nicht auf der Seite selber sondern abgefragt durch ein Browser Popup) funktioniert nicht. Der Dialog öffnet sich nicht und die Seite lädt ewig. Intern sowie über das Fritzbox VPN klappt das problemlos.

                  Hat da jemand eine Idee an was das liegen kann?
                  Mit freundlichen Grüßen
                  Niko Will

                  Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                  - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                  Kommentar


                    #39
                    Heute morgen unter der Dusche ist mir dann gekommen, dass im Heimnetz jeder Rechner über <<rechnername>>.fritz.box erreichbar ist. Es müsste also funktionieren wenn man fritz.box als Domainname einträgt und dann "immer herstellen" verwendet. Alle Adressen müssen dann natürlich auch so verwendet werden. Das werde ich noch testen.
                    Funktioniert das bei der Fritzbox denn per DNS oder sind das irgendwelche Broadcasting Sachen? Letzteres wird bei einem gerouteten VPN ja nicht funktionieren.

                    Ich habe im Moment das Gefühl, das die Anfrage nicht an den lokalen DNS gerichtet werden, warum auch immer.

                    Punkt 2 & 3 kann ich in den nächsten tagen mal testen, bei Punkt 4 kenne ich keine Seite bei der das so gelöst ist, hast Du da Beispiele?

                    Kommentar


                      #40
                      VPN mit Iphone

                      Problem 1 hat sich durch den Einsatz der Domain fritz.box erledigt. In einer Doku von Cisco steht auch was davon, dass man im iPhone Config Tool keine IP Adressen verwenden soll. Bei den anderen Apps hängt es wohl von der App selber ab. Die SSH App baut kein VPN auf, Dreamote für den Zugriff auf die Dreambox jedoch schon. Das Problem mit dem Mobotix Stream in der Visu Seite besteht nach wie vor, obwohl ich auch hier von IP auf Domainname umgestellt habe. Problem 4 habe ich nun dadurch Umgangen, dass ich die Benutzerauthentifizierung ausgestellt habe. Wer in mein LAN kommt, der würde auch das knacken. Außerdem kann er dann auch nur den Livestream der Mobotix sehen aber nichts konfigurieren.
                      Mit freundlichen Grüßen
                      Niko Will

                      Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                      - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                      Kommentar


                        #41
                        VPN mit Iphone

                        Mit der "client-to-client" Direktive in der Serverkonfiguration (server.conf) funktioniert nun auch der Mobotix Stream innerhalb der Visu. Mit den zwei verbleibenden Problemen kann ich leben. Für längere SSH Sessions oder für andere Apps die nur mit IP Adressen funktionieren (wie Russound und Denon App) kann ich das VPN auch manuell aufbauen und zur Not auch das der Fritzbox verwenden. So kann ich remote dann auch mal die OpenVPN Konfiguration ändern und den Server neustarten.

                        Wichtig war mir, das ich auf dem Homescreen von iOS auf meine Visu tippen kann und das dabei die Visu aufgerufen wird, egal ob ich unterwegs bin oder nicht und das funktioniert perfekt!
                        Mit freundlichen Grüßen
                        Niko Will

                        Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                        - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                        Kommentar


                          #42
                          Zitat von 2ndsky Beitrag anzeigen
                          Wichtig war mir, das ich auf dem Homescreen von iOS auf meine Visu tippen kann und das dabei die Visu aufgerufen wird, egal ob ich unterwegs bin oder nicht und das funktioniert perfekt!
                          Hi
                          nur mal so - auch wenn es ein wenig OT ist: für den VISU-Zugriff empfehle ich
                          Apache2 als reverse-Proxy schalten, die eigentliche Visu "hinter" den Apache - und beim Apache2 SSL mit Client-Zertifkat-Authentifizierung konfigurieren.
                          Damit kriegst du jede Visu (auch HS der nur http kann) aus dem Internet erreichbar - aber nur für Clients die das Zertifikat haben.
                          Die selbe logik funktioniert natürlich auch für den internen Zugriff - so das extern wie intern der selbe Link funktioniert - ohne das ein Tunnel aufgebaut werden muss.
                          Hier steht wie es geht: https://knx-user-forum.de/knx-eib-fo...fizierung.html
                          (geht auch mit dem Wiregate)

                          Gruß
                          Thorsten

                          Kommentar


                            #43
                            VPN mit Iphone

                            Hi Thorsten,

                            Danke für die Info! Ich bin zufrieden mit der Lösung und kann so auch auf andere Sachen zugreifen, wie z.B. die Visu vom Solar-Log, die Oberfläche der Mobotix oder aufs Wiregate. Auch die App Dreamote für TV Timer und EPG geht automatisch (wahrscheinlich weil sie Port 80 verwendet und über HTTP geht). Das würde mit deiner Lösung nicht gehen, oder? Wie sieht es mit Videostreams der Mobotix in der Visu eingebettet aus?
                            Mit freundlichen Grüßen
                            Niko Will

                            Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                            - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                            Kommentar


                              #44
                              Zitat von 2ndsky Beitrag anzeigen
                              Mit der "client-to-client" Direktive in der Serverkonfiguration (server.conf) funktioniert nun auch der Mobotix Stream innerhalb der Visu.
                              Hm, Pustekuchen... weiß nicht warum es heute Morgen funktioniert hat, jetzt geht es wieder nicht mehr. Nicht mal das Webinterface der Mobotix kann ich übers OpenVPN aufrufen, übers Fritzbox VPN gehts. Sehr komisch das ganze.

                              Upate: Arrggghh, Problem gefunden. Die Mobotix hat intern noch eine zweite IP Adresse im 10er Netz mit 255.0.0.0 als Subnetzmaske... da OpenVPN 10.8.0.0/24 verwendet, denkt die Mobotix, die wären im gleichen Netz. Mal schauen welches Netz ich jetzt umbiege.

                              Update2: Problem gelöst, verwende für OpenVPN nun ein 172er und nun klappt der Zugriff auf die Mobotix... Da soll mal einer drauf kommen. Wäre ich da nicht zufällig in der Mobotix Konfig drüber gestolpert, hätte ich mir bestimmt nen Wolf gesucht.
                              Mit freundlichen Grüßen
                              Niko Will

                              Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                              - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                              Kommentar


                                #45
                                Ich habe im Moment das Gefühl, das die Anfrage nicht an den lokalen DNS gerichtet werden, warum auch immer.
                                Hab es eben schon in einem anderen Thread gepostet, aber hier haben wir es ja auch diskutiert: Ursache ist ein Bug in der iOS openVPN App, der in der nächsten Version behoben werden soll. Zwischenzeitlich hilft als Workarround ein zusätzliches push "redirect-gateway def1" in der Serverjkonfiguration.

                                Kommentar

                                Lädt...
                                X