IKE settings
FortiClient automatically performs IKE based on preshared keys or X.509 digital certificates.
The following table provides the XML tags for IKE settings, as well as the descriptions and default values where applicable:
|
XML tag |
Description |
Default value |
||
|---|---|---|---|---|
|
<version> |
Determine the IKE version. FortiClient supports IKE v1 and IKE v2. Enter |
1 |
||
|
<prompt_certificate> |
Prompt for certificate on connection. Boolean value: |
|
||
|
<implied_SPDO> |
Specify which ports allow traffic. When this setting is Boolean value: |
|
||
|
<implied_SPDO_timeout> |
When FortiClient blocks all outbound non-IKE packets when To avoid this deadlock, set When |
|
||
|
<server> |
|
|||
|
<authentication_method> |
Authentication method. Enter one of the following:
|
|
||
|
<cert_subjectcheck> |
Enable FortiClient to check the certificate configured on the FortiGate under the following command: config vpn ipsec phase1-interface
edit "<interface>"
set authmethod signature
set certificate "<certificate>"
next
end
FortiClient checks that this certificate common name matches the VPN gateway hostname FQDN. If there is no match, the VPN connection does not succeed. Boolean value: |
|
||
|
|
||||
|
<preshared_key> |
Encrypted value of the preshared key. |
|
||
|
FortiClient searches all certificate stores until it finds a match for the certificate name and issuer supplied. The XML sample provided in IPsec VPN only shows XML configuration when using a preshared key. See Sample XML using certificate authentication for example of XML configuration for a System Store X509 certificate. |
||||
|
Elements for common name of the certificate for VPN logon. |
||||
|
<match_type> |
Enter the type of matching to use:
|
|
||
|
<pattern> |
Enter the pattern to use for the type of matching. |
|
||
|
|
||||
|
<match_type> |
Enter the type of matching to use:
|
|
||
|
<pattern> |
Enter the pattern to use for the type of matching. |
|
||
|
Elements about the certificate object identifier (OID). This feature filters based on all certificate OIDs at the first level of the X.509 ASN.1 structure. Nested, or second level OIDs are not supported, other than the EKU (extendedKeyUsage) OIDs. |
||||
|
<match_type> |
Enter the type of matching to use. Choose from:
|
|
||
|
<pattern> |
Enter the pattern to use for the type of matching. |
|
||
|
<mode> |
Connection mode. Enter one of the following: |
|
||
|
<dhgroup> |
A list of possible Diffie-Hellman (DH) protocol groups, separated by semicolons. |
|
||
|
<key_life> |
Phase 2 key expiry duration, in seconds. |
28800 |
||
|
<localid> |
Enter the peer ID configured in the FortiGate phase 1 configuration. If Accept any peer ID has been configured, leave this field blank. |
|
||
|
|
Enter the FortiGate certificate subject name or FQDN. The peer ID must match the certificate local ID on the FortiGate for a successful IPsec VPN connection. |
|
||
|
<nat_traversal> |
Enable NAT traversal. Boolean value: |
|
||
|
<sase_mode> |
When enabled, the IPsec VPN forces the new connection port (including the first message) to use port 4500. All traffic that goes through this IPsec VPN tunnel is seen on port 4500. IKE_SA_INIT also has the EMS serial number as its payload. You must enable this feature to provide IPsec VPN-based SASE. For this feature to function correctly, you must configure the following on the FortiGate: config system settings set ike-port 4500 end This feature only supports IKEv2 and requires NAT traversal to be enabled. Boolean value: |
0 |
||
|
<mode_config> |
Enable mode configuration. Boolean value: |
|
||
|
<enable_local_lan> |
Enable local LAN when using a full tunnel. This setting does not apply to split tunnels. Boolean value: |
0 |
||
|
<block_outside_dns> |
When this setting is When this setting is Boolean value: |
0 |
||
|
<nat_alive_freq> |
NAT alive frequency. |
|
||
|
<dpd> |
Enable dead peer detection (DPD). Boolean value: |
1 |
||
|
<dpd_retry_count> |
Number of times to send unacknowledged DPD messages before declaring peer as dead. Maximum value is 10. If the specified value is greater than the maximum (10), FortiClient uses the default value (3) instead. |
3 |
||
|
<dpd_retry_interval> |
Duration of DPD idle periods, in seconds. Maximum value is 120. If the specified value is greater than the maximum (120), FortiClient uses the default value (5) instead. |
5 |
||
|
<enable_ike_fragmentation> |
Support fragmented IKE packets. Boolean value: |
0 |
||
|
<run_fcauth_system> |
When you enable this setting, non-administrators can use local machine certificates to connect IPsec VPN. When you disable this setting, non-administrators cannot use machine certificates to connect IPsec VPN. Boolean value: |
0 |
||
|
<sso_enabled> |
Enable SAML single sign on login for the VPN tunnel. For this feature to function, you must configure the necessary options on the service and identity providers. See IPsec VPN SAML-based authentication. Boolean value: |
|
||
|
<use_external_browser> |
Display the SAML authentication prompt in an external browser instead of in the FortiClient GUI. If you configure Boolean value: |
1 |
||
|
<ike_saml_port> |
Enter the port number that FortiClient uses to communicate with the FortiGate, which acts as the SAML service provider. |
|
||
|
<failover_sslvpn_connection> |
If the IPsec VPN connection fails, FortiClient attempts to connect to the specified SSL VPN tunnel. In the example, the SSL VPN tunnel name is "SSL VPN HQ". |
|
||
|
<xauth_timeout> |
Configure the IKE extended authentication (XAuth) timeout in seconds. Default value is two minutes (120 seconds) if not configured. Enter a value between 120 and 300 seconds. |
120 |
||
|
<networkid> |
Configure a network ID value between 0 to 255 to differentiate between multiple IKEv2 certificate-based phase 1 tunnels. The network ID is a Fortinet proprietary attribute used to select the correct phase 1 between IPsec peers, so that multiple IKEv2 tunnels can be established between the same local or remote gateway pairs. In a dialup VPN, the network ID is in the first initiator message of an IKEv2 phase 1 negotiation. The responder (hub) uses the network ID to match a phase 1 configuration with a matching network ID. The hub can then differentiate multiple dialup phase 1s that are bound to the same underlay interface and IP address. Without a network ID, the hub cannot have multiple phase 1 dialup tunnels on the same interface. Static phase 1 configurations use network ID with the pair of gateway IPs to negotiate the correct tunnel with a matching network-id. This allows IPsec peers to use the same pair of underlay IPs to establish multiple IPsec tunnels. Without it, only a single tunnel can be established over the same pair of underlay IPs.
|
|
||
|
<eap_method> |
This option applies for FortiClient (macOS). Configure one of the following for the EAP method:
|
0 |
||
|
Configure whether to remove the old saved password when FortiClient does not receive the expected “expiring due to EAP failure” message. Boolean value: |
0 |
|||
|
<fido_auth> |
Enable to allow Yubikey (FIDO2) authentication for the FortiClient embedded browser for macOS. Boolean value: |
|
||
|
|
||||
|
<enabled> |
Enable IKE XAuth. Boolean value: |
|
||
|
<prompt_username> |
Request a username. Boolean value: |
|
||
|
<username> |
Encrypted or non-encrypted username on the IPsec server. |
|
||
|
<password> |
Encrypted or non-encrypted password. |
|
||
|
<attempts_allowed> |
Maximum number of failed login attempts allowed. |
|
||
|
<use_otp> |
Use One Time Password (OTP). When disabled, FortiClient does not respond to DPD during XAuth. When enabled, FortiClient responds to DPD during XAuth, which may be necessary when two-factor authentication and DPD are both involved. Boolean value: |
|
||
|
|
||||
|
<proposal> |
Encryption and authentication types to use, separated by a pipe. Example: <proposal>3DES|MD5<proposal> Multiple elements accepted. First setting: Encryption type: DES, 3DES, AES128, AES192, AES256 Second setting: Authentication type: MD5, SHA1, SHA256, SHA384, SHA512 |
|
||
Sample XML using certificate authentication
<ipsecvpn>
...
<connections>
<connection>
...
<ike_settings>
<auth_data>
<certificate>
<common_name>
<match_type>
<![CDATA[wildcard]]>
</match_type>
<pattern>
<![CDATA[*]]>
</pattern>
</common_name>
<issuer>
<match_type>
<![CDATA[simple]]>
</match_type>
<pattern>
<![CDATA[Certificate Authority]]>
</pattern>
</issuer>
</certificate>
</auth_data>
</ike_settings>
...
</connection>
</connections>
...
</ipsecvpn>
This is a balanced but incomplete XML configuration fragment. It includes all closing tags, but omits some important elements to complete the configuration.
See IPsec VPN for a more complete XML configuration example using a preshared key for authentication.