How to Troubleshoot a Fortinet VPN That Won't Connect (Step-by-Step)
By Stackvora Team · 2026-09-08 · 9 min read
"The VPN won't connect" is the single most common FortiGate ticket. The fix is almost always one of eight things — if you check them in the right order.
Step 1: Identify the VPN type
IPsec site-to-site, IPsec dial-up (FortiClient), or SSL VPN? The debug path is completely different. Check whether the tunnel interface exists and its state:
get vpn ipsec tunnel summary
diagnose vpn tunnel list
Step 2: IPsec — check Phase 1 negotiation
diagnose debug application ike -1
diagnose debug enable
Watch for these failure signatures:
- "no matching proposal" — encryption/DH-group mismatch between peers. Align AES256/SHA256 and DH group 14 (or both 20 for FortiClient defaults).
- "pre-shared key mismatch" — retype the PSK on both sides. Trailing whitespace counts.
- Nothing in the log at all — traffic isn't arriving. Check upstream ISP blocking UDP 500/4500, or a NAT device in front of the FortiGate.
Step 3: Phase 2 selectors
Phase 1 up but no traffic? Your proxy IDs / traffic selectors don't match. For policy-based VPNs, both sides must mirror the same subnets exactly. Quick check:
diagnose vpn tunnel list name <tunnel>
If sa=0 under the phase 2 entry, selectors never negotiated.
Step 4: Routing and policies
Tunnel up, selectors matched, still nothing flows:
- Is there a static route (or SD-WAN member) pointing remote subnets into the tunnel interface?
- Is there a firewall policy allowing tunnel → LAN (and the reverse, for inbound)? Policy order matters — a broad deny above it wins.
- Is NAT accidentally enabled on the VPN policy? It should almost always be off for IPsec.
Step 5: SSL VPN specifics
- Verify the SSL VPN portal is bound to the right interface and port (default 443 collides with admin GUI — move admin to 10443).
diagnose debug application sslvpn -1shows authentication and realm errors.- Certificate errors in FortiClient? The FortiGate's SSL VPN cert must be trusted — replace the factory self-signed cert.
The 80/20 summary
| Symptom | Most likely cause |
|---|---|
| No IKE log entries | ISP/NAT blocking UDP 500/4500 |
| Phase 1 fails immediately | Proposal or PSK mismatch |
| Phase 1 up, no traffic | Phase 2 selector mismatch |
| Tunnel up, one-way traffic | Missing return route or policy |
| Works, then drops randomly | DPD/keepalive or dual-WAN flapping |
Still stuck? Paste your IKE debug output into Stackvora AI — it reads FortiGate logs and points at the failing phase in seconds.
Advanced diagnostics when the basics pass
If Phase 1 and Phase 2 both come up but traffic still fails, move deeper into the FortiGate. Run diagnose sniffer packet any 'host <remote-peer>' 4 to confirm ESP or NAT-T packets actually leave the correct WAN interface. Asymmetric routing is the most common silent killer: the tunnel forms on WAN1, but a policy route sends replies out WAN2, and the remote peer drops them. Check get router info routing-table all and compare it with your policy routes.
Next, inspect session state with diagnose sys session filter dst <remote-ip> followed by diagnose sys session list. Look for sessions stuck in a half-open state or matching the wrong firewall policy ID. A tunnel that matches an implicit deny or an overly specific policy above your VPN rule will look "up" while dropping everything.
Certificate-based tunnels
For tunnels using certificates instead of pre-shared keys, verify both sides with get vpn ipsec tunnel details and check certificate validity dates — an expired local certificate fails Phase 1 with an unhelpful "negotiation failure" message. Re-import or renew the certificate and confirm the CA chain is trusted on both ends.
Prevention checklist
- Document Phase 1/Phase 2 proposals, PSK rotation dates, and selector pairs in your change log.
- Enable DPD on-demand on both peers so dead tunnels re-negotiate instead of black-holing traffic.
- Pin the VPN to a single WAN interface or use SD-WAN rules with explicit health checks.
- Monitor tunnel state with SNMP or the FortiGate REST API and alert on flaps, not just downtime.
- After every firmware upgrade, re-test the tunnel — defaults for IKE proposals change between FortiOS trains.
Bookmark this page and combine it with the Stackvora knowledge base Fortinet section for model-specific notes.
Key takeaways
- Start with IKE logs — the failing phase tells you whether the problem is identity (Phase 1) or selectors (Phase 2).
- Most stubborn VPN issues are routing or policy-order problems, not the tunnel itself.
- Sniffer and session diagnostics separate "tunnel up" from "traffic flowing" — always verify both.
- Lock in prevention: DPD, documented proposals, and tunnel monitoring stop repeat incidents.
Fortinet VPN problems follow patterns. Once you've mapped symptoms to phases a few times, diagnosis drops from hours to minutes. Keep this checklist next to your change log, and lean on the Stackvora knowledge base when a new firmware train changes the defaults you rely on.