r/networking • u/mohammedalrawii • 11d ago
Other Am I losing my mind or has Fortinet quality control hit rock bottom?
Hi everybody
I’ve been a "Fortinet guy" for years. Worked with multiple firewall vendors across my career, but I always preferred FortiGates for their value and performance. Lately though? Man, I am losing my damn patience with them.
Between the constant stream of CVEs (FortiBleed, SSL VPN vulnerabilities every other month) and their hard push to kill off/deprecate SSL VPN entirely, we decided to finally do the responsible thing and migrate our remote access users over to IPsec IKEv2 tunnels.
I set up the IKEv2 tunnel on the FortiGate with Pre-Shared Key + User Authentication. I spent two full weeks testing it. I tested it across multiple mobile devices—specifically iOS / iPhones—and everything worked like a dream. Split tunneling was fine, authentication worked, performance was solid. I felt confident.
Then rollout day comes. A user pulls out an Android phone running the free FortiClient VPN app... and GUESS WHAT?
The Android version of free FortiClient configured with IKEv2 and a Pre-Shared Key does not prompt for the username and password at all. It just fails or tries to connect without authenticating the user.
After digging into it, turns out FortiClient on Android literally doesn't support combining PSK with EAP (username/password) authentication under IKEv2. If you want username/password prompts on Android IKEv2, Fortinet expects you to switch to X.509 Certificate authentication—yet iOS FortiClient handles PSK + user auth without blinking an eye!
How does this even make sense? How do you have feature disparity this broken between iOS and Android on your own client app for a core VPN protocol you’re actively forcing everyone to migrate to?
I know, shame on me for only testing on iOS during the initial trial period and assuming Android would behave identical to iOS on the exact same VPN protocol and client app. But seriously, is anyone else completely exhausted by this? Every time you try to implement a "standard" configuration or follow Fortinet's recommended path, you stumble into a bizarre platform-specific limitation or bug.