I've set up an IPsec VPN with certificate-based authentication and started migrating away from SSL-VPN.
Unfortunately, around 10% of our remote users are on DS-Lite. This means they have a public IPv6 address but share a single IPv4 address via Carrier Grade NAT. SSL-VPN works in this setup, but IPsec does not.
To address this, I:
Added an IPv6 address to our WAN interface via Router Advertisement (ping6 works in both directions).
Created a AAAA DNS record for the FQDN vpn.companyname.com.
Added the subnet fd00:abcd::10 - fd00:abcd::100 /64 to the IPsec tunnel, along with 172.16.25.x IPv4 addresses.
Enabled split tunneling for IPv6: Split to Tunnel → none (we don’t use IPv6 internally elsewhere).
Added an IPsec Phase 2 entry via CLI with:
set src-addr-type subnet6
set dst-addr-type subnet6
Now, FortiClient 7.4.3 connects but freezes after clicking "Connect". It does not fail, it just hangs indefinitely.
The idea is to establish the IPsec tunnel over IPv6 and route all private IPv4 traffic through it.
The setup is working fine for IPv4 only.
Target is a FG200F on v7.4.7. vs. FortiClient v7.4.3
<block_ipv6>0</block_ipv6> is set in the FortiClient config.
Hello,
Thank you for using the Community Forum. I will seek to get you an answer or help. We will reply to this thread with an update as soon as possible.
Thanks,
Hello,
We are still looking for someone to help you.
We will come back to you ASAP.
Thanks,
Hi,
Handling IPsec VPN and endpoints using Dual Stack Lite (DS-Lite) behind CGNAT involves several considerations:
I got it working by splitting the DNS into separate A and AAAA records and adding two profiles in FortiClient, respectively.
ipv4.company.com → VPN via IPv4
ipv6.company.com → VPN via IPv6
I've seen this bug before, but I thought FortiClient v7.4.3 had it fixed.
hi,
did you manage to solve the problem somehow?
I'm on the same path now.
FortiClient 7.4.4 EMS + FortiGate 7.4.9, DialUp IPsec IKE2 + SAML.
As soon as the client has been assigned DualStack /IPv4+IPv6/ by its provider, FortiClient ends with a "Crash" error.
And I also have the AAAA record directed correctly.
Thanks.
Jirka
We still have 2 IPsec profiles in the Fortclient and 2 DNS records.
1. for IPv4 -> vpn_ipv4.company.corp -> DNS A Record only
2. for IPv6 -> vpn_ipv6.company.corp -> DNS AAAA Record only.
Config looks like this (FG 7.4.9) (V6 part)
edit "IPSec VPN IPv6"
set type dynamic
set interface "port1"
set ip-version 6
set ike-version 2
set authmethod signature
set peertype peergrp
set net-device disable
set mode-cfg enable
set ipv4-dns-server1 $CHANGEME
set proposal aes128-sha256
set dpd on-idle
set dhgrp 19
set certificate "Fortigate_2025-2027"
set peergrp "pki-ldap"
set ipv4-start-ip 172.16.25.1
set ipv4-end-ip 172.16.25.253
set ipv4-split-include "IPSec VPN SplitToTunnel"
set ipv6-split-include "none"
set dpd-retryinterval 60
next
#####Phase 2
config vpn ipsec phase2-interface
edit "IPSec VPN IPv6""
set phase1name "IPSec VPN IPv6
set proposal aes128-sha256
set dhgrp 19
next
#####
I recall that I had to use the CLI to setup the V6 tunnel, else the "set ip-version 6" was missing.
###
Firewall Certificate includes the DNS names, fixed IPs and the
X509v3 Extended Key Usage: IPSec End System
flag.... don't know if that's required at all.
| User | Count |
|---|---|
| 2823 | |
| 1432 | |
| 812 | |
| 787 | |
| 455 |
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 2025 Fortinet, Inc. All Rights Reserved.