EAP 认证
EAP 认证
EAP 是 IKEv2 原生的用户认证机制,在 IKE_AUTH 交换期间执行。只有 EAP 认证成功,IKE SA 才能完成建立。VPN 网关可以通过 EAP-MSCHAPv2、EAP-TLS、EAP-TTLS 等方法认证发起端,但客户端和后端认证服务器必须同时支持所选方法。
FortiClient 发起 IKEv2 连接时仅支持 EAP-MSCHAPv2 和 EAP-TTLS,默认使用 EAP-MSCHAPv2。
FortiGate 一阶段需要启用 EAP,并指定允许连接的用户组:
config vpn ipsec phase1-interface
edit <tunnel>
set type dynamic
set ike-version 2
set peertype any
set eap enable
set eap-identity send-request
set authusrgrp <user-group>
next
end外部 RADIUS 服务器

VPN 用户组使用外部 RADIUS 服务器时,可以端到端使用 EAP-MSCHAPv2 或 EAP-TTLS:
- FortiGate 不在内部
eap_proxyRADIUS 服务器上终止 EAP-TTLS,而是将 EAP-TTLS 认证转发给外部 RADIUS 服务器。 - 使用 EAP-TTLS/PAP 时,外部 RADIUS 服务器必须支持 EAP-TTLS,并将 PAP 配置为内部认证方法,否则认证失败。
- EAP-TTLS 的 EAP 服务器证书配置在外部 RADIUS 服务器上。客户端必须信任签发该证书的 CA。
- EAP-TTLS 不要求客户端证书。
重要
同一个 IKEv2 拨号网关不支持关联多个 RADIUS 服务器。
LDAP 服务器

VPN 用户组直接使用 LDAP 服务器且没有外部 RADIUS 服务器时,应使用 EAP-TTLS/PAP。EAP-TTLS 隧道终止在 FortiGate 的内部 eap_proxy,FortiGate 取得原始用户名和密码后,再使用本地用户或远程 LDAP 服务器执行认证。
相关信息
- FortiClient 7.4.3 及之后版本支持 EAP-TTLS。FortiGate 无法使用 EAP-MSCHAPv2 直接对 Active Directory LDAP 用户执行常规 LDAP Bind 认证,具体限制、配置和调试方法请参考 VPN → IPSec VPN → 通用 IPSec 配置 → 一阶段配置 → EAP → IKEv2 LDAP 认证章节。
- FortiGate 终止 EAP-TTLS 时,默认使用全局配置中的
Fortinet_Wifi证书。客户端不信任该证书、签发 CA 或证书已过期时,连接会在 TLS 握手期间失败,排查方法请参考 VPN → IPSec VPN → 通用 IPSec 配置 → 一阶段配置 → EAP → EAP-TTLS 证书错误章节。
FortiToken 双因素认证
提示
FortiAuthenticator 8.0 之前如需独立 Token 输入提示,应使用 EAP-MSCHAPv2,并将 FortiAuthenticator 加入 Active Directory 域。FortiAuthenticator 8.0 起,EAP-TTLS 也可以直接返回 FortiToken Challenge。Push 通知仍需根据所用 FortiAuthenticator 版本、Token 类型和 RADIUS 策略确认支持范围。EAP-MSCHAPv2 配置方法请参考 VPN → IPSec VPN → 通用 IPSec 配置 → 一阶段配置 → EAP → FortiAuthenticator MSCHAPv2/PEAP 章节。
远程 RADIUS 服务器执行双因素认证时,通常需要延长 RADIUS 等待时间:
config user radius
edit <server-name>
set timeout 60
next
end相关信息
- FortiAuthenticator 8.0 起支持在 EAP-TTLS 中直接发送 FortiToken Challenge,FortiClient 可以在收到挑战后单独提交 Token 码。
- FortiAuthenticator 8.0 之前不支持该流程,用户需要将密码和 Token 码拼接后一次性提交。
- 具体版本差异和配置方式请参考 VPN → IPSec VPN → 通用 IPSec 配置 → 一阶段配置 → EAP → IKEv2 EAP-TTLS 双因素认证章节。
IKE 协商默认超时时间为 30 秒。用户输入 OTP 或接受 Push 的时间超过该值时,即使后端认证成功,IPSec 连接也可能已经超时。可以按实际认证耗时延长一阶段协商超时时间:
config vpn ipsec phase1-interface
edit <tunnel>
set negotiate-timeout 60
next
end相关信息
FortiToken 分配在 FortiGate 上并通过 EAP-TTLS 认证时,至少需要 FortiOS 7.4.9 和 FortiClient Windows 7.4.4。
SAML 认证
SAML 本身不是 EAP 方法。FortiClient 先通过 HTTPS 连接作为 SAML SP 的 FortiGate,完成向 SAML IdP 的重定向和认证,再将 SAML Cookie 提交给 FortiGate。FortiGate 缓存认证结果后,FortiClient 才发起 IKEv2 连接,并通过 EAP-MSCHAPv2 或 EAP-TTLS 向 eap_proxy 证明其持有已缓存的认证结果。
因此,使用 SAML 的 IKEv2 拨号 VPN 仍需要在 phase1-interface 中启用 EAP。FortiClient 7.2.4 及之后版本支持 IKEv2 SAML 认证。配置单点登录隧道时,建议保留 FortiClient eap_method 的默认值。