VPN
The payload that configures a VPN.
Declaration
object VPNProperties
| Name | Type | Description |
|---|---|---|
AlwaysOn | VPN.AlwaysOn | The dictionary to use when |
DNS | VPN.DNS | A dictionary to use for all VPN types. |
IKEv2 | VPN.IKEv2 | The dictionary to use when |
IPSec | VPN.IPSec | The dictionary that contains IPSec settings. Not available in watchOS. |
IPv4 | VPN.IPv4 | The dictionary that contains IPv4 settings. Not available in watchOS. |
PPP | VPN.PPP | The dictionary to use when |
Proxies | VPN.Proxies | The dictionary to use to configure |
TransparentProxy | VPN.TransparentProxy | The dictionary to use when |
UserDefinedName Required | string | The description of the VPN connection that the system displays on the device. Not available in watchOS. |
VendorConfig | VPN.VendorConfig | The vendor-specific configuration dictionary, which the system reads only when |
VPN | VPN.VPN | The dictionary to use when |
VPNSubType | string | An identifier for a vendor-specified configuration dictionary when the value for If
If the configuration targets a VPN solution that uses a network extension provider, then this field contains the bundle identifier of the app that contains the provider. Contact the VPN solution vendor for the value of the identifier. If Not available in watchOS. |
VPNType Required | string | The type of the VPN, which defines which settings are appropriate for this VPN payload. If the type is
|
Discussion
Specify com.apple.vpn.managed as the payload type.
Profile availability
Device channel | iOS, macOS, Shared iPad, tvOS, visionOS |
User channel | macOS |
Allow manual install | iOS, macOS, tvOS, visionOS |
Requires supervision | NA |
Requires user-approved MDM | NA |
Allowed in user enrollment | NA |
Allow multiple payloads | iOS, macOS, Shared iPad, tvOS, visionOS |
Profile example
<?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>LocalIdentifierType</key>
<string>KeyID</string>
<key>SharedSecret</key>
<data>
UVhCd2JHVXhNak1o
</data>
</dict>
<key>IPv4</key>
<dict>
<key>OverridePrimary</key>
<integer>0</integer>
</dict>
<key>PPP</key>
<dict>
<key>AuthName</key>
<string>username</string>
<key>AuthPassword</key>
<string>password</string>
<key>CommRemoteAddress</key>
<string>vpn.example.com</string>
</dict>
<key>Proxies</key>
<dict>
<key>HTTPEnable</key>
<integer>0</integer>
<key>HTTPSEnable</key>
<integer>0</integer>
</dict>
<key>UserDefinedName</key>
<string>VPN Server</string>
<key>VPNType</key>
<string>L2TP</string>
<key>PayloadIdentifier</key>
<string>com.example.myvpnmanagedprofile</string>
<key>PayloadType</key>
<string>com.apple.vpn.managed</string>
<key>PayloadUUID</key>
<string>74615F25-3B51-4386-A31B-ACB1F1094EF9</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</array>
<key>PayloadDisplayName</key>
<string>VPN</string>
<key>PayloadIdentifier</key>
<string>com.example.myprofile</string>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>01E7F1C0-2DD0-4E36-82FF-EC6F29BB6C45</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>