Geofency über VPN on Demand mit Unifi/Synology

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • bierdeckeljoe
    Dumb Home'r
    • 13.12.2023
    • 15

    #1

    Geofency über VPN on Demand mit Unifi/Synology

    Hallo,

    ich hatte nun einige Jahre VPN on Demand auf meinem Unifi Router am Laufen, um damit via Geofency meine Anwesenheitssteuerung zu steuern.
    Ich weiß nicht welches Update (Miniserver, Unifi, Geofency) das ganze Konstrukt zerschossen hat.

    Ich habe folgende Voraussetzungen für mein Setup:
    - iPhone
    - VPN on Demand, dh. nur wenn der Miniserver via Loxone App/Geofency aufgeruft wird, soll sich der VPN aktivieren
    - bei aktivem VPN soll auch normales Internet Browsing/Social Media/etc möglich sein

    Ich habe die letzten 2,5 Tage versucht das Setup über Unifi oder über den Synology VPN Server wieder zum Laufen bekommen, aber entweder funktioniert das ein oder andere nicht.

    Unifi Domain Name:
    local

    Unifi VPN Config:

    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 66
Größe: 88,2 KB
ID: 461325

    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 64
Größe: 32,8 KB
ID: 461322

    Loxone Miniserver Config:

    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 66
Größe: 81,3 KB
ID: 461323

    Meine VPN-On-Demand-Config:

    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>PayloadContent</key>
        <array>
            <dict>
                <key>EAP</key>
                <dict/>
                <key>IPSec</key>
                <dict>
                    <key>AuthenticationMethod</key>
                    <string>SharedSecret</string>
                    <key>OnDemandEnabled</key>
                    <integer>1</integer>
                <key>OnDemandRules</key>
                <array>
                    <!-- Turn off VPN if on our WiFi network -->
                    <dict>
                        <key>InterfaceTypeMatch</key>
                            <string>WiFi</string>
                        <key>SSIDMatch</key>
                            <array>
                                <string>WIFI-PRIVATE-SSD</string>
                            </array>
                        <key>Action</key>
                        <string>Disconnect</string>
                    </dict>
                    <!-- Catch-All rule to turn on VPN -->
                    <dict>
                        <key>Action</key>
                           <string>EvaluateConnection</string>
                            <key>ActionParameters</key>
                            <array>
                                <dict>
                                    <key>Domains</key>
                                    <array>
                                        <string>loxonems</string>
                                        <string>loxonems.local</string>
                                        <string>192.168.1.7</string>
                                        <string>*.local</string>
                                        <string>local</string>
                                    </array>            
                                    <key>DomainAction</key>
                                    <string>ConnectIfNeeded</string>
                                    <key>RequiredDNSServers</key>
                                        <array>
                                            <string>192.168.1.1</string>
                                            <string>8.8.8.8</string>
                                        </array>
                                </dict>
                            </array>
                    </dict>
                </array>
                </dict>
                <key>IPv4</key>
                <dict>
                    <key>OverridePrimary</key>
                    <integer>1</integer>
                </dict>
                <key>PPP</key>
                <dict>
                    <key>AuthName</key>
                    <string>meine-VPN-USER</string>
                    <key>AuthPassword</key>
                    <string>mein-VPN-USER-PASSWORD</string>
                    <key>CommRemoteAddress</key>
                    <string>meine-PUBLIC-DOMAIN</string>
                </dict>
                <key>PayloadDescription</key>
                <string>Configures VPN settings, including authentication.</string>
                <key>PayloadDisplayName</key>
                <string>VPN (VPN-on-Demand)</string>
                <key>PayloadIdentifier</key>
                <string>de.ondemand.vpn.vpn1</string>
                <key>PayloadOrganization</key>
                <string>vpnondemand</string>
                <key>PayloadType</key>
                <string>com.apple.vpn.managed</string>
                <key>PayloadUUID</key>
                <string>4D338415-DEE1-41CC-80E6-0C7797B11AB9</string>
                <key>PayloadVersion</key>
                <integer>1</integer>
                <key>Proxies</key>
                <dict/>
                <key>UserDefinedName</key>
                <string>VPN-on-Demand</string>
                <key>VPNType</key>
                <string>L2TP</string>
            </dict>
        </array>
        <key>PayloadDescription</key>
        <string>Beispielkonfiguration für VPN-on-Demand mit
    Linux L2TP IPSec</string>
        <key>PayloadDisplayName</key>
        <string>VPN-on-Demand</string>
        <key>PayloadIdentifier</key>
        <string>de.ondemand.vpn</string>
        <key>PayloadOrganization</key>
        <string>vpnondemand</string>
        <key>PayloadRemovalDisallowed</key>
        <false/>
        <key>PayloadType</key>
        <string>Configuration</string>
        <key>PayloadUUID</key>
        <string>45FDB23D-E890-4E1F-9CE1-C9C938F86DC5</string>
        <key>PayloadVersion</key>
        <integer>1</integer>
    </dict>
    </plist>​

    Der Webhook von Geofency sieht folgendermaßen aus:




    Wenn ich die Loxone App öffne, baut sich automatisch die VPN on Demand Verbindung auf und ich kann das Loxone steuern.

    Geofency baut beim Ausführen von den Webhooks automatisch die VPN Verbindung auf, aber erreicht wohl nicht den Miniserver, weil der Befehl nie beim MS ankommt. Wenn ich in Geofency statt "loxonems.local" die IP des Miniservers eintrage, funktioniert der Befehl, aber VPN on Demand wird nicht davon automatisch getriggert.

    Wenn die VPN Verbindung aktiv ist, kann ich beispielsweise in Whatsapp keine Bilder mehr verschicken/empfangen. Genau gibt es einige Webseiten, die einfach nicht laden - vermutlich wegen zu vieler Bilder/Social Media Content.

    Leider stehe ich aktuell an und weiß nicht, wo der Wurm drinnen ist. Ich hoffe, dass es hier den ein oder anderen mit einem Unifi Setup gibt und auch VPN on Demand nutzt, der mir auf die Sprünge helfen kann :-
    Angehängte Dateien
Lädt...