Ankündigung

Einklappen
Keine Ankündigung bisher.

VPN on-demand mit iOS - ich versteh's nicht ganz

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

  • VPN on-demand mit iOS - ich versteh's nicht ganz

    hello,

    es gab schon mal einen thread wie das geht hier: http://forum.loxone.com/dede/netzwer...leine-how.html

    die lösung besteht aus zwei teilen, einmal vpn automatisch aufbauen und dann prüfen ob man im eigenen wlan ist. ich bin leider kein programmierungsprofi und schaffe es nicht die beiden programmteile zu integrieren. kann mir mal wer den code als ganzes hier rein stellen - das wäre echt super.

    danke
    karl

  • #2
    Hallo Karl,

    die vorgestellte Lösung ist wirklich super und nicht nur für die Verwendung mit der Loxone, sondern auch für andere Komponenten im eigenen LAN bestens geeignet. Offiziell wird nach meinem Wissen ein On-Demand VPN von Apple nur mit Zertifikaten unterstützt, funktioniert aber in der vorgestellten Lösung problemlos mit einem pre-shared Key. Da die Konfiguration im Laufe des Threads verbessert wurde (OnDemand Rules für iOS v8 in Post #12) und nur das Delta gepostet wurde, ist es nicht ganz so einfach die komplette Konfiguration zusammenzubauen.

    Wenn der VPN User auf der Fritzbox per Menü eingerichtet wird, dann wird automatisch eine VPN Gruppe erstellt, die den gleichen Namen wie der User hat. Die beiden Namen können aber auch unterschiedlich sein und das VPN kann z.B. auch auf einem Cisco Router oder einer ASA terminiert werden.

    Was viele nicht wissen und ich am Anfang auch nicht wußte: Da der Miniserver in der Loxone leider keinen leistungsfähigenCrypto-Chip hat, wird SSL für die Kommunikation der App mit dem Miniserver nicht unterstützt und wird es wohl auch nicht werden. Um eine einfachen und sicheren Fernzugang ohne zusätzliche Hardware und ohne zusätzliche Klicks oder Apps auf dem iPhone bzw. iPad zu ermöglichen ist das VPN On-Demand eine Super-Lösung, wenn man einen Fritzbox hat, die einen "Cisco-kompatiblen" VPN Zugang (IPSec Tunnel mit Gruppe und XAuth) anbietet. Nachdem ich im Forum darauf gestossen bin, habe ich das Port-Forwarding auf meiner Fritzbox zum Miniserver sofort deaktiviert und die Konfig installiert.

    Ich habe aus meiner .mobileconfig ein Template erstellt (hoffentlich ohne Fehler). Alle Einträge in Großbuchstaben mit "HIER-..." müssen an die eigene Konfiguration angepasst werden. Die

    Gruß Jan

    Edit: Text für Shared Secret geändert - muss als "base-64 encoded String" angegeben werden, s.u in Post #8
    Edit: Template auf iOS v9 angepasst, siehe auch Anleitung in Post #8
    Angehängte Dateien
    Zuletzt geändert von Jan W.; 19.Sep.2015, 10:33.
    Miniserver v10.0.9.24, 2x Ext., 2x Relay Ext., 2x Dimmer Ext., DMX Ext., 1-Wire Ext., Gira KNX Tastsensor 3 Komfort, Gira KNX Präsenzmelder, Fenster- und Türkontakte, Loxone Regen- und Windsensor, Gira Dual Q Rauchmelder vernetzt mit 1x Relais-Modul
    Loxberry: SmartMeter, MS Backup, CamConnect, Weather4Lox
    Lüftung: Helios KWL EC 370W ET mit Modbus TCP - via Pico-C
    Heizung: Stiebel Eltron WPF 5 cool (Sole-Wasser WP) mit ISG, FB-Heizung mit 18 Kreisen, Erdsonde - via modifiziertem ISG

    Kommentar


    • #3
      Hallo Jan,

      super Template läuft super ! ! ! Danke für den Tip

      Ciao René

      Kommentar


      • #4
        aaaha, da findet gleich noch jemand Verwendung für das jetzt eindeutige template *gggg*

        DANKESCHÖN!!!!!

        Kommentar


        • #5
          hi,

          ich habe jetzt versucht die mobileconfig zu installieren. mein mac erkennt es sofort als mobileconfig, aber am iphone und am ipad bekomme ich beim öffnen immer den code angezeigt, aber beide weigern sich das template zu installieren. habe es mit der uneditierten version versucht, als auch mit der von mir editierten.... woran liegt das?

          liebe grüße

          Kommentar


          • #6
            Verbindet das Iphone eigentlich auch über VPN wenn man im Wlan ist oder erkennt es, dass es sich um eine lokale IP-Adresse handelt?

            Kommentar


            • #7
              genau das wurde im zweiten thread ergänzt, d.h. im lokalen wlan gibt es dann kein vpn

              Kommentar


              • #8
                @Uli: In der .mobileconfig ist der Eintrag
                Code:
                <key>SSIDMatch</key>
                  <array>
                    <string>HIER-MEINE-HOME-SSID-EINTRAGEN</string>
                </array>
                wo Du die SSID Deines Home WLANs (den "WLAN-Namen") einträgst.

                Anhand Deiner SSID(s) (es sind auch mehrere Strings möglich) erkennt das iPhone, dass es sich "zu Hause" befindet. Genau dann wird ein evtl. aufgebautes VPN beendet. Wahrscheinlich sind auch andere Überprüfungen als "SSIDMatch" möglich, aber da habe ich nicht recherchiert. Es ist also nicht die "lokale IP-Adresse", sondern der WLAN Name. Wenn Du hier einen individuellen eigenen Namen verwendest, dann sollte das VPN On-Demand richtig funktionieren und zu Hause eben nicht aufgebaut werden.

                @Karl222: Ich habe die Schritte noch einmal nachvollzogen und einen Fehler bemerkt: Das "Shared Secret" muss als "Base-64 encoded String" angegeben werden (war im alten Forum bereits fehlerhaft). Ist dies nicht der Fall, dann wird man nach dem Shared Secret bei der Installation des Profils gefragt, was aber auch kein Problem darstellt und sogar noch etwas sicherer ist. Falls jemand später mal Zugriff auf die E-Mail mit der .mobileconfig bekommen sollte, könnte er das Profil installieren und somit Zugriff auf das Home-LAN bekommen. Die E-Mail also am Besten nach der Installation löschen.

                Bis auf diesen Punkt hat Installation bei mir funktioniert - insgesamt waren es aber doch mehr Schritte, so dass ich diese hier noch mal aufgelistet habe:

                1. Einen neuen VPN Benutzer für das iPhone auf der Fritzbox im Menü "Internet", "Freigaben", "VPN" erstellen. Dann "Fernzugang für einen Benutzer einrichten" auswählen. Dann "Name" und "Kennwort" eingeben und NUR den Haken bei "VPN" setzen. Anschließend sich die Konfiguration anzeigen lassen (das funktioniert bei mir über "Edit" später nicht mehr) und das Pop-Up Fenster offen lassen.

                2. Die o.a. .mobileconfig Datei mit einem Text Editor an den Stellen mit "HIER-" an die eigene Umgebung anpassen. Wer eine vollautomatische Installation ohne Abfrage des Shared Secret habe möchte, muss dies noch in Base-64 umwandeln:
                Code:
                echo -n 'HIER-DAS-SHARED-SECRET-KLARTEXT-EINTRAGEN' | base64
                Das Bespiel ist mit OS-X getestet, sollte aber auch unter Linux funktionieren und für Windows gibt's sicherlich ein passendes Tool.

                Hinweis: Für iOS v9 funktionieren IP-Adressen nicht mehr, sondern nur noch DNS Namen, die auch ein Wildcard "*" enthalten dürfen. In der Fritz!box im Menü "Heimnetz", "Netzwerk" einen internen DNS Namen für den Miniserver vergeben, falls hier noch kein Eintrag vorhanden ist, also z.B. "Loxone-MS". Über den Button "Gerät hinzufügen" kann man für den Miniserver z.B. die IP-Adresse 192.168.178.2 als feste IP-Adresse zuweisen.

                In der .mobileconfig wird für den Platzhalter "HIER-INTERNAL-DNS-NAMEN-DES-MINISERVERS-EINTRAGEN" entweder der String <string>Loxone-MS.fritz.box</string> oder <string>*.fritz.box</string> eingetragen.

                3. Die bearbeitete .mobileconfig Datei ohne Formattierungen als reine Textdatei auf das iPhone übertragen. Das geht z.B. per E-Mail oder mit dem Tool "Apple Configurator" per USB. Hier beschreibe ich nur die Variante per E-Mail. Also eine E-Mail an Deinen E-Mail Account auf dem iPhone senden und den Anhang dort öffnen.

                4. Das iPhone wechselt automatisch in "Einstellungen", "Allgemein", "Profile & Geräteverwaltung" und man kann das Profil oben rechts "installieren". Nach Eingabe des eigenen Sicherheitscodes kommt noch ein Hinweis und man muss erneut den Menüpunkt "installieren" oben rechts anklicken und bestätigen. Dann sollte oben die Anzeige "Profil installiert" und "Fertig" erscheinen. Evtl. wird noch nach dem Shared Secret gefragt, welches die Fritzbox nach dem Anlegen eines neuen VPN Benutzers im Klartext als Popup anzeigt. Über den angegebenen Menüpunkt kann man das Profil auch wieder löschen.

                5 (neu nummeriert): In LoxConfig für die interne und externe Adresse des MS folgendes eintragen:
                externe Adresse: Loxone-MS.fritz.box
                bzw. der Name, der in der Fritzbox definiert ist, wie der MS im internen Netz per DNS-Namen angesprochen werden kann. Es muss sich hier nicht zwangsläufig um einen auflösbaren DNS-Namen handeln, aber dieser DNS Name ist entscheidend, um über die "on-demand" Regel im iOS das VPN aufzubauen.
                interne Adresse: reale interne IP-Adresse des MS und ggf. ":" Port, sofern dieser von dem Standard-Port 80 abweicht.
                Die Einstellungen erreicht man über die Anwahl des Objektes "Miniserver" im Peripherie-Baum. Der Hintergrund ist der, dass die App die Config bei jedem Start vom MS herunterläd und den in Schritt 7. angegebenen Namen (oder eine eingegebene IP-Adresse) überschreibt.

                6 (neu nummeriert). Auf dem iPhone in das Menü "Einstellungen", "VPN" wechseln und das Profil "VPN Home" anhaken. Dann einmalig manuell das VPN verbinden. Oben in der Statuszeile auf dem iPhone sollte das eingerahmte Wort "VPN" stehen. Dies zeigt an, dass momentan das VPN aufgebaut ist. Das VPN kann man wieder ausschalten.

                7. Jetzt die Loxone App starten. In der App den Miniserver mit dem o.a. internen DNS Namen oder der internen IP-Adresse eintragen. Wichtig sind die in Schritt 5 konfigurierten Einträge, da die App sich bei jedem Verbinden diese vom MS holt. Auf der Fritz!box natürlich auch das Port-Forwarding löschen, damit der Miniserver vom Internet nicht mehr angreifbar ist. Automatisch sollte jetzt das VPN aufgebaut werden und in der Statuszeile eingerahmt "VPN" angezeigt werden.

                Edit: Angepasst für iOS v9 und am 23.01.2017 die externe und interne Adresse in LoxConfig ergänzt und kurz erläutert, da dieser Punkt wohl etwas unklar war.
                Zuletzt geändert von Jan W.; 23.Jan.2017, 17:17.
                Miniserver v10.0.9.24, 2x Ext., 2x Relay Ext., 2x Dimmer Ext., DMX Ext., 1-Wire Ext., Gira KNX Tastsensor 3 Komfort, Gira KNX Präsenzmelder, Fenster- und Türkontakte, Loxone Regen- und Windsensor, Gira Dual Q Rauchmelder vernetzt mit 1x Relais-Modul
                Loxberry: SmartMeter, MS Backup, CamConnect, Weather4Lox
                Lüftung: Helios KWL EC 370W ET mit Modbus TCP - via Pico-C
                Heizung: Stiebel Eltron WPF 5 cool (Sole-Wasser WP) mit ISG, FB-Heizung mit 18 Kreisen, Erdsonde - via modifiziertem ISG

                Kommentar


                • tom37
                  tom37 kommentierte
                  Kommentar bearbeiten
                  Kleine Ergänzung für alle, die die Fritz Box hinter einem Telekom Speedport Hybrid Router verwenden:

                  Da in dem Fall die Fritz Box wohl die öffentliche IP Adresse nicht kennt, funktioniert der Fritz Box eigene DynDNS Service (myFritz) nicht. Man muss daher einen anderen DynDNS Service verwenden und direkt auf dem Speedport Hybrid Router registrieren. Anstelle der myFritz... Adresse muss dann in der mobileconfig entsprechend der hostname, den man im DynDNS vergeben hat, eingetragen werden.

                  Ansonsten super Anleitung, vielen Dank!

              • #9
                So dank iOS 9 geht mein VPN on Demand nicht mehr😢.

                Kommentar


                • #10
                  Achtet darauf, dass Ihr auf jeden Fall noch einen "echten" IpV4 Zugang von Eurem Provider habt. Zumindest funktioniert die Kombination Appel/Fritzbox über VPN nur dann, wenn Euer Provider Euch noch diese IpV4 bereitstellt. LG


                  Gesendet von iPhone mit Tapatalk

                  Kommentar


                  • #11

                    Zitat von ReneX
                    So dank iOS 9 geht mein VPN on Demand nicht mehr😢.
                    Hmm, kann ich bestätigen. Hat da jemand schon ne Idee oder Lösung?
                    Gruß Sven


                    Mal eben von unterwegs ...
                    Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

                    Kommentar


                    • #12
                      Nach der Installation von iOS 9 funktioniert auch bei mir VPN on Demand nicht mehr.😱

                      Gruß Dietmar

                      Kommentar


                      • #13
                        Doch geht :-)
                        Habs schon wieder hin. In der Konfig dürfen im Punkt Domain, wo es um die Verbindungen geht, bei denen VPN aufgebaut werden soll, keine IP Adressen stehen. Prüfen, ob die Namensauflösung im Router richtig funktioniert und dann das Ganze namensbasiert eintragen. Z.B.
                        Du hast eine Fritzbox in der Standardkonfiguration, dann hat die die IP 192.168.178.1 und hat den DNS Namen fritz.box wenn nun Euer MiniServer die IP 192.168.178.2 hat und als "MiniServer" da eingetragen ist, dann hat er den DNS Namen miniserver.fritz.box. Jetzt habt Ihr wahrscheinlich unter Domain die 192.168.178.2 eingetragen. Die muss dann zu miniserver.fritz.box geändert werden.
                        In der Konfig müsst Ihr dann natürlich bei der externen Adresse auch den Namen angeben und schon funktioniert es wieder.

                        Gruß Sven

                        @Dietmar: du, ich hatte im Thread "Dimmer ohne Null" noch ne Frage, kannst Du mir die nicht beantworten??


                        Mal eben von unterwegs ...
                        Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

                        Kommentar


                        • #14
                          Hab jetzt die Anleitung für iOS v9 angepasst. Hatte gestern noch recherchiert und die gleiche Lösung wie Sven gefunden.

                          Gruß Jan
                          Miniserver v10.0.9.24, 2x Ext., 2x Relay Ext., 2x Dimmer Ext., DMX Ext., 1-Wire Ext., Gira KNX Tastsensor 3 Komfort, Gira KNX Präsenzmelder, Fenster- und Türkontakte, Loxone Regen- und Windsensor, Gira Dual Q Rauchmelder vernetzt mit 1x Relais-Modul
                          Loxberry: SmartMeter, MS Backup, CamConnect, Weather4Lox
                          Lüftung: Helios KWL EC 370W ET mit Modbus TCP - via Pico-C
                          Heizung: Stiebel Eltron WPF 5 cool (Sole-Wasser WP) mit ISG, FB-Heizung mit 18 Kreisen, Erdsonde - via modifiziertem ISG

                          Kommentar


                          • #15
                            Es ist noch anzumerken, dass es in der Kombination IOS9 und Unitymedia noch zu Problemen kommt. Bei einer Unitymedia Fritzbox gibt es anscheinend mit VPN unter IOS Probleme beim Routing. Funktioniert demnach nicht.

                            Kommentar

                            Lädt...
                            X