IKEv2

Summary

IKEv2

IKEv2

IKEv2 settings

Type Default Required Regex iOS macOS Supervised
dictionary {‘UseConfigurationAttributeInternalIPSubnet’: 0, ‘IKESecurityAssociationParameters’: {‘EncryptionAlgorithm’: ‘3DES’, ‘LifeTimeInMinutes’: 1440, ‘DiffieHellmanGroup’: 14, ‘IntegrityAlgorithm’: ‘SHA1-96’}, ‘EnableCertificateRevocationCheck’: 0, ‘EnablePFS’: 0, ‘DeadPeerDetectionRate’: ‘Medium’, ‘DisableRedirect’: 0, ‘DisableMOBIKE’: 0, ‘ChildSecurityAssociationParameters’: {‘EncryptionAlgorithm’: ‘3DES’, ‘LifeTimeInMinutes’: 1440, ‘DiffieHellmanGroup’: 14, ‘IntegrityAlgorithm’: ‘SHA1-96’}, ‘AuthenticationMethod’: ‘SharedSecret’} N/A N/A N/A N/A N/A
Name Type Title Description Required
RemoteAddress string RemoteAddress IP address or hostname of the VPN server always
LocalIdentifier string LocalIdentifier Identifier of the IKEv2 client always
RemoteIdentifier string RemoteIdentifier Remote Identifier of the IKEv2 client always
AuthenticationMethod string AuthenticationMethod AuthenticationMethod of the IKEv2 client always
PayloadCertificateUUID string PayloadCertificateUUID The UUID of the identity certificate as the account credential n/a
SharedSecret string SharedSecret Value for IKE authentication n/a
ExtendedAuthEnabled integer ExtendedAuthEnabled Set to 1 to enable extended authentication (EAP) n/a
AuthName string AuthName Username used for authentication n/a
DisableRedirect integer Disable Redirect Set to 1 to disable IKEv2 redirect n/a
DisableMOBIKE integer Disable Mobility and Multihoming Set to 1 to disable MOBIKE negotiation in IKEv2 n/a
UseConfigurationAttributeInternalIPSubnet integer Use IPv4 / IPv6 Internal Subnet Attributes Set to 1 to indicate if negotiation should use IKEv2 Configuration Attribute INTERNAL_IP4_SUBNET and INTERNAL_IP6_SUBNET. n/a
EnablePFS integer Enable perfect forward secrecy Set to 1 to enable Perfect Forward Secrecy for IKEv2 connections n/a
ServerAddresses array An array of DNS server IP address strings An array of DNS server IP address strings (IPv4 or IPv6) n/a
SearchDomains array A list of domain strings used to fully qualify single-label host names. A list of domain strings used to fully qualify single-label host names. n/a
DomainName string The primary domain of the tunnel The primary domain of the tunnel n/a
SupplementalMatchDomains array A list of domain strings used to determine which DNS queries will use the DNS resolver settings contained in ServerAddresses. A list of domain strings used to determine which DNS queries will use the DNS resolver settings contained in ServerAddresses. n/a
SupplementalMatchDomainsNoSearch integer Append supplemental domains to resolver list Optional. Whether (0) or not (1) the domains in the SupplementalMatchDomains list should be appended to the resolver’s list of search domains. Default is 0. n/a
EnableCertificateRevocationCheck integer Enable certificate revocation check Optional. Set to 1 to enable a certificate revocation check for IKEv2 connections. This is a best-effort revocation check; server response timeouts will not cause it to fail. n/a
AuthPassword string AuthPassword Password used for authentication n/a
DeadPeerDetectionRate string Dead Peer Detection Rate Dead peer detection rate n/a
CertificateType string Certificate Type Type of the certificate; defaults to RSA n/a
ServerCertificateIssuerCommonName string ServerCertificateIssuerCommonName Common Name of the server certificate issuer n/a
ServerCertificateCommonName string ServerCertificateCommonName Common name of the server certificate n/a
TLSMinimumVersion string TLSMinimumVersion The minimum TLS version to be used with EAP-TLS authentication. Value may be 1.0, 1.1, or 1.2. If no value is specified, the default minimum is 1.0. n/a
TLSMaximumVersion string TLSMaximumVersion The maximum TLS version to be used with EAP-TLS authentication. Value may be 1.0, 1.1, or 1.2. If no value is specified, the default maximum is 1.2. n/a
NATKeepAliveOffloadEnable integer NAT Keepalive offload for Always On VPN IKEv2 connections Set to 1 to enable or 0 to disable NAT Keepalive offload for Always On VPN IKEv2 connections n/a
NATKeepAliveInterval integer NAT Keepalive interval for Always On VPN IKEv2 connections NAT Keepalive interval for Always On VPN IKEv2 connections n/a
IKESecurityAssociationParameters dictionary IKESecurityAssociationParameters Applies to child Security Association n/a
ChildSecurityAssociationParameters dictionary ChildSecurityAssociationParameters Applies to child Security Association n/a

Keys

RemoteAddress

RemoteAddress

IP address or hostname of the VPN server

Type Default Required Regex iOS macOS Supervised
string N/A always N/A N/A N/A N/A

LocalIdentifier

LocalIdentifier

Identifier of the IKEv2 client

Type Default Required Regex iOS macOS Supervised
string N/A always N/A N/A N/A N/A

Identifier of the IKEv2 client in one of the following formats:

  • FQDN
  • UserFQDN
  • Address
  • ASN1DN

RemoteIdentifier

RemoteIdentifier

Remote Identifier of the IKEv2 client

Type Default Required Regex iOS macOS Supervised
string N/A always N/A N/A N/A N/A

Identifier of the IKEv2 client in one of the following formats:

  • FQDN
  • UserFQDN
  • Address
  • ASN1DN

AuthenticationMethod

AuthenticationMethod

AuthenticationMethod of the IKEv2 client

Type Default Required Regex iOS macOS Supervised
string N/A always N/A N/A N/A N/A

Valid Choices

  • SharedSecret
  • Certificate
  • None

Note

To enable EAP-only authentication, the authentication method should be set to None and the ExtendedAuthEnabled key should be set to 1. If this key is set to None and the ExtendedAuthEnabled key is not set, the authentication configuration defaults to SharedSecret.

PayloadCertificateUUID

PayloadCertificateUUID

The UUID of the identity certificate as the account credential

Type Default Required Regex iOS macOS Supervised
string N/A N/A N/A N/A N/A N/A

If the value of AuthenticationMethod is Certificate, this certificate is sent out for IKEv2 machine authentication. If extended authentication (EAP) is used, it is sent out for EAP-TLS authentication.

SharedSecret

SharedSecret

Value for IKE authentication

Type Default Required Regex iOS macOS Supervised
string N/A N/A N/A N/A N/A N/A

If AuthenticationMethod is SharedSecret, this value is used for IKE authentication.

ExtendedAuthEnabled

ExtendedAuthEnabled

Set to 1 to enable extended authentication (EAP)

Type Default Required Regex iOS macOS Supervised
integer 0 N/A N/A N/A N/A N/A

AuthName

AuthName

Username used for authentication

Type Default Required Regex iOS macOS Supervised
string N/A N/A N/A N/A N/A N/A

DisableRedirect

Disable Redirect

Set to 1 to disable IKEv2 redirect

Type Default Required Regex iOS macOS Supervised
integer 0 N/A N/A N/A N/A N/A

DisableMOBIKE

Disable Mobility and Multihoming

Set to 1 to disable MOBIKE negotiation in IKEv2

Type Default Required Regex iOS macOS Supervised
integer 0 N/A N/A N/A N/A N/A

UseConfigurationAttributeInternalIPSubnet

Use IPv4 / IPv6 Internal Subnet Attributes

Set to 1 to indicate if negotiation should use IKEv2 Configuration Attribute INTERNAL_IP4_SUBNET and INTERNAL_IP6_SUBNET.

Type Default Required Regex iOS macOS Supervised
integer 0 N/A N/A N/A N/A N/A

EnablePFS

Enable perfect forward secrecy

Set to 1 to enable Perfect Forward Secrecy for IKEv2 connections

Type Default Required Regex iOS macOS Supervised
integer 0 N/A N/A N/A N/A N/A

ServerAddresses

An array of DNS server IP address strings

An array of DNS server IP address strings (IPv4 or IPv6)

Type Default Required Regex iOS macOS Supervised
array N/A N/A N/A 10.0 10.12 N/A

SearchDomains

A list of domain strings used to fully qualify single-label host names.

A list of domain strings used to fully qualify single-label host names.

Type Default Required Regex iOS macOS Supervised
array N/A N/A N/A 10.0 10.12 N/A

DomainName

The primary domain of the tunnel

The primary domain of the tunnel

Type Default Required Regex iOS macOS Supervised
string N/A N/A N/A 10.0 10.12 N/A

SupplementalMatchDomains

A list of domain strings used to determine which DNS queries will use the DNS resolver settings contained in ServerAddresses.

A list of domain strings used to determine which DNS queries will use the DNS resolver settings contained in ServerAddresses.

Type Default Required Regex iOS macOS Supervised
array N/A N/A N/A 10.0 10.12 N/A

This key is used to create a split DNS configuration where only hosts in certain domains are resolved using the tunnel’s DNS resolver. Hosts not in one of the domains in this list are resolved using the system’s default resolver.

If SupplementalMatchDomains contains the empty string it becomes the default domain. This is how a split-tunnel configuration can direct all DNS queries first to the VPN DNS servers before the primary DNS servers.

If the VPN tunnel becomes the network’s default route, the servers listed in ServerAddresses become the default resolver and the SupplementalMatchDomains list is ignored.

EnableCertificateRevocationCheck

Enable certificate revocation check

Optional. Set to 1 to enable a certificate revocation check for IKEv2 connections. This is a best-effort revocation check; server response timeouts will not cause it to fail.

Type Default Required Regex iOS macOS Supervised
integer 0 N/A N/A 9.0 N/A N/A

AuthPassword

AuthPassword

Password used for authentication

Type Default Required Regex iOS macOS Supervised
string N/A N/A N/A N/A N/A N/A

DeadPeerDetectionRate

Dead Peer Detection Rate

Dead peer detection rate

Type Default Required Regex iOS macOS Supervised
string Medium N/A N/A N/A N/A N/A

Valid Choices

  • None
  • Low
  • Medium
  • High
None
Disabled
Low
keepalive sent every 30 minutes
Medium
keepalive sent every 10 minutes
High
keepalive sent every 1 minute

CertificateType

Certificate Type

Type of the certificate; defaults to RSA

Type Default Required Regex iOS macOS Supervised
string N/A N/A N/A N/A N/A N/A

ServerCertificateIssuerCommonName

ServerCertificateIssuerCommonName

Common Name of the server certificate issuer

Type Default Required Regex iOS macOS Supervised
string N/A N/A N/A N/A N/A N/A

If set, this field will cause IKE to send a certificate request based on this certificate issuer to the server.

This key is required if both the CertificateType key is included and the ExtendedAuthEnabled key is set to 1.

ServerCertificateCommonName

ServerCertificateCommonName

Common name of the server certificate

Type Default Required Regex iOS macOS Supervised
string N/A N/A N/A N/A N/A N/A

This name is used to validate the certificate sent by the IKE server. If not set, the Remote Identifier will be used to validate the certificate.

TLSMinimumVersion

TLSMinimumVersion

The minimum TLS version to be used with EAP-TLS authentication. Value may be 1.0, 1.1, or 1.2. If no value is specified, the default minimum is 1.0.

Type Default Required Regex iOS macOS Supervised
string 1.0 N/A N/A 11.0 10.13 N/A

Valid Choices

  • 1.0
  • 1.1
  • 1.2

TLSMaximumVersion

TLSMaximumVersion

The maximum TLS version to be used with EAP-TLS authentication. Value may be 1.0, 1.1, or 1.2. If no value is specified, the default maximum is 1.2.

Type Default Required Regex iOS macOS Supervised
string 1.2 N/A N/A 11.0 10.13 N/A

Valid Choices

  • 1.0
  • 1.1
  • 1.2

NATKeepAliveOffloadEnable

NAT Keepalive offload for Always On VPN IKEv2 connections

Set to 1 to enable or 0 to disable NAT Keepalive offload for Always On VPN IKEv2 connections

Type Default Required Regex iOS macOS Supervised
integer 1 N/A N/A N/A N/A N/A

Keepalive packets are sent by the device to maintain NAT mappings for IKEv2 connections that have a NAT on the path. Keepalive packets are sent at regular interval when the device is awake. If NATKeepAliveOffloadEnable is set to 1, Keepalive packets will be offloaded to hardware while the device is asleep. NAT Keepalive offload has an impact on the battery life since extra workload is added during sleep. The default interval for the Keepalive offload packets is 20 seconds over WiFi and 110 seconds over Cellular interface. The default NAT Keepalive works well on networks with small NAT mapping timeouts but imposes a potential battery impact. If a network is known to have larger NAT mapping timeouts, larger Keepalive intervals may be safely used to minimize battery impact.

The Keepalive interval can be modified by setting the NATKeepAliveInterval key.

NATKeepAliveInterval

NAT Keepalive interval for Always On VPN IKEv2 connections

NAT Keepalive interval for Always On VPN IKEv2 connections

Type Default Required Regex iOS macOS Supervised
integer N/A N/A N/A N/A N/A N/A

This value controls the interval over which Keepalive offload packets are sent by the device. The minimum value is 20 seconds.

If no key is specified, the default is 20 seconds over WiFi and 110 seconds over a Cellular interface.

IKESecurityAssociationParameters

IKESecurityAssociationParameters

Applies to child Security Association

Type Default Required Regex iOS macOS Supervised
dictionary {‘EncryptionAlgorithm’: ‘3DES’, ‘LifeTimeInMinutes’: 1440, ‘DiffieHellmanGroup’: 14, ‘IntegrityAlgorithm’: ‘SHA-96’} N/A N/A N/A N/A N/A
Name Type Title Description Required
EncryptionAlgorithm string EncryptionAlgorithm EncryptionAlgorithm n/a
IntegrityAlgorithm string IntegrityAlgorithm IntegrityAlgorithm n/a
DiffieHellmanGroup integer DiffieHellmanGroup DiffieHellmanGroup n/a
LifeTimeInMinutes integer LifeTimeInMinutes LifeTimeInMinutes n/a

ChildSecurityAssociationParameters

ChildSecurityAssociationParameters

Applies to child Security Association

Type Default Required Regex iOS macOS Supervised
dictionary {‘EncryptionAlgorithm’: ‘3DES’, ‘LifeTimeInMinutes’: 1440, ‘DiffieHellmanGroup’: 14, ‘IntegrityAlgorithm’: ‘SHA-96’} N/A N/A N/A N/A N/A
Name Type Title Description Required
EncryptionAlgorithm string EncryptionAlgorithm EncryptionAlgorithm n/a
IntegrityAlgorithm string IntegrityAlgorithm IntegrityAlgorithm n/a
DiffieHellmanGroup integer DiffieHellmanGroup DiffieHellmanGroup n/a
LifeTimeInMinutes integer LifeTimeInMinutes LifeTimeInMinutes n/a