Created on
12-20-2025
06:06 AM
Edited on
01-10-2026
07:00 AM
By
Jean-Philippe_P
| Description |
This article demonstrates how to configure a dial-up IPsec VPN using IKEv2 and Multi-Factor Authentication (MFA) with Duo authentication proxy. |
| Scope | FortiOS v6.2.4 and later, dial-up IKEv2 VPN. |
| Solution |
This article refers to non-SSO authentication. For an example of a VPN deployment using SSO authentication, see this article: Technical Tip: How to configure Microsoft Entra ID SAML authentication for Dial-up IPsec VPN.
Configure the Duo application: Refer to the third-party article Duo Two-Factor Authentication with RADIUS and Primary Authentication for basic steps.
Note: The 'support ending' flag on the 'Fortinet FortiGate SSL VPN' Duo application refers to Duo support for the traditional Duo Prompt using iFrame, which IKEv2 does not use. See the third-party reference Guide to Traditional Duo Prompt End of Support for more information. It is possible to use either application template to configure the Duo application for IKEv2.
Configure the Duo authentication proxy:
; CLIENTS: Include one or more of the following configuration sections.
[radius_client]
[radius_server_auto] force_message_authenticator=true <-- message-authenticator should be enabled on FortiGate and Duo, or disabled on both.
By default, it is disabled on the Duo authentication proxy and enabled on FortiGate. See the article Troubleshooting Tip: RADIUS authentication failure after the firmware upgrade to v7.2.10/v7.4.5/v7.6....
If needed, secrets in this file can be encrypted. See the third-party reference How do I use the Duo Authentication Proxy password encryption tool?
If [ad_client] is configured on DUO Authentication Proxy, validating the configuration will show below errors.
The NPS configuration is similar to Technical Tip: IKEv2 Dialup IPsec tunnel with RADIUS and FortiToken MFA, updating the FortiGate IP address and secret with the Duo authentication proxy.
FortiOS configuration: FortiGate configuration is similar to Technical Tip: IKEv2 Dialup IPsec tunnel with RADIUS and FortiToken MFA, with the following differences:
RADIUS server configuration references the Duo authentication proxy IP address and uses the RADIUS secret shared between Duo and FortiGate:
edit "Duo-Proxy" set server "172.16.1.22" set radius-port <RADIUS PORT> set require-message-authenticator { enable | disable } <-- Must match authproxy.cfg setting. next end
By default, the RADIUS port number is 1812. If the DUO Authentication Proxy Server and NPS Server are the same, it is recommended to use an alternative port number to avoid conflict with the DUO Proxy and NPS connection.
config user radius edit "Duo-Proxy" set radius-port <Alternative RADIUS PORT> next end
Since no FortiToken is assigned, no remote RADIUS user is defined. Instead, the user group is configured to reference the radius server directly.
config user group edit "Escalations-Radius-DC1" set member "Duo-Proxy" next end
Since the FortiGate is not aware of the MFA taking place, the global remoteauthtimeout must be extended.
config system global set remoteauthtimeout 60 end
The 'remoteauthtimeout' setting also determines how long the FortiGate waits before sending authentication to the secondary RADIUS server if the primary server is down. More details on Technical Tip: Explaining global 'set remoteauthtimeout', user radius 'set timeout', and how they wo....
FortiGate VPN tunnel and firewall policy settings are the same as in the FortiToken MFA use case.
Related articles: Technical Tip: FortiOS IKEv2 Dialup VPN User and Multi-factor authentication resources Technical Tip: FortiOS IKEv2 EAP user authentication operation |
The Fortinet Security Fabric brings together the concepts of convergence and consolidation to provide comprehensive cybersecurity protection for all users, devices, and applications and across all network edges.
Copyright 2026 Fortinet, Inc. All Rights Reserved.