Die unten dargestellte Profildatei ist zum Import auf einem iOS-Gerät vorgesehen, um in fremden (= nicht auf der Whitelist stehenden) WLAN- bzw. WiFi-Netzwerken immer automatisch eine VPN-Verbindung aufzubauen.
Das Shared Secret muss nach Base64 kodiert werden. Link zu einem Base64-Encoder
Die nachfolgende XML-Datei* basiert auf einer Version von GitHub. Die EvaluateConnection-Funktion wurde auskommentiert, damit immer eine VPN-Verbindung aufgebaut wird, und nicht nur bei bestimmten URLs im heimischen WLAN (z.B. zur FRITZ!Box oder *.local)
<?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>IPSec</key>
<dict>
<key>AuthenticationMethod</key>
<string>SharedSecret</string>
<key>LocalIdentifier</key>
<!-- FRITZ!Box Benutzername -->
<string>FRITZ!Box Benutzername</string>
<key>LocalIdentifierType</key>
<string>KeyID</string>
<key>RemoteAddress</key>
<!-- DDNS-URL der FRITZ!Box -->
<string>DDNS-URL der FRITZ!Box</string>
<key>SharedSecret</key>
<data>
xxxxxxxxxxxxxxxxxx
</data>
<key>XAuthEnabled</key>
<integer>1</integer>
<key>XAuthName</key>
<!-- FRITZ!Box Benutzername -->
<string>FRITZ!Box Benutzername</string>
<key>XAuthPassword</key>
<!-- FRITZ!Box Passwort des Benutzers -->
<string>xxxxxxxxxxxxxxxxxx</string>
<!-- VPN-On-Demand Codeblock -->
<key>OnDemandEnabled</key>
<integer>1</integer>
<key>OnDemandRules</key>
<array>
<!-- VPN beim Zugriff auf Heimnetz-Adressen aufbauen -->
<!-- <dict> -->
<!-- <key>Action</key> -->
<!-- <string>EvaluateConnection</string> -->
<!-- <key>ActionParameters</key> -->
<!-- <array> -->
<!-- <dict> -->
<!-- <key>Domains</key> -->
<!-- <array> -->
<!-- <string>*.local</string> -->
<!-- <string>*.fritz.box</string> -->
<!-- <string>fritz.box</string> -->
<!-- </array> -->
<!-- <key>DomainAction</key> -->
<!-- <string>ConnectIfNeeded</string> -->
<!-- </dict> -->
<!-- </array> -->
<!-- </dict> -->
<dict>
<!-- VPN bei ausgewählten WLAN-Netzen deaktivieren -->
<key>InterfaceTypeMatch</key>
<string>WiFi</string>
<key>SSIDMatch</key>
<array>
<string>Name of my Home Network</string>
<string>Company WiFi</string>
</array>
<key>Action</key>
<string>Disconnect</string>
</dict>
<dict>
<!-- VPN bei aktiver WLAN-Verbindung aktivieren -->
<key>InterfaceTypeMatch</key>
<string>WiFi</string>
<key>Action</key>
<string>Connect</string>
</dict>
<dict>
<!-- VPN im Mobilfunknetz nicht aktivieren -->
<key>InterfaceTypeMatch</key>
<string>Cellular</string>
<key>Action</key>
<string>Disconnect</string>
</dict>
<dict>
<!-- VPN Default state -->
<key>Action</key>
<string>Disconnect</string>
</dict>
</array>
<!-- VPN-On-Demand Codeblock ENDE-->
</dict>
<key>IPv4</key>
<dict>
<key>OverridePrimary</key>
<integer>1</integer>
</dict>
<key>PayloadDescription</key>
<string>Configures VPN settings</string>
<key>PayloadDisplayName</key>
<string>VPN</string>
<key>PayloadIdentifier</key>
<string>com.apple.vpn.managed.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</string>
<key>PayloadType</key>
<string>com.apple.vpn.managed</string>
<key>PayloadUUID</key>
<!-- PayloadUUID -->
<string>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</string>
<key>PayloadVersion</key>
<real>1</real>
<key>Proxies</key>
<dict>
<key>HTTPEnable</key>
<integer>0</integer>
<key>HTTPSEnable</key>
<integer>0</integer>
</dict>
<key>UserDefinedName</key>
<string>VPN FRITZ!Box</string>
<key>VPNType</key>
<string>IPSec</string>
</dict>
</array>
<key>PayloadDisplayName</key>
<string>VPN on Demand-Profildatei</string>
<key>PayloadIdentifier</key>
<!-- PayloadIdentifier -->
<string>xxxxxxxxxxxxxxxxxx</string>
<key>PayloadRemovalDisallowed</key>
<false/>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<!-- PayloadUUID -->
<string>xxxxxxxxxxxxxxxxxx</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>
Die Datei muss mit der Dateiendung .mobileconfig gespeichert werden, z.B. vpn.mobileconfig
Diese Profildatei wurde erfolgreich unter iOS 13.4.1 getestet.
* XML = Extensible Markup Language