I am making a project for school with 3 offices wich are connected with vpn, the main server infrastructure is located in the head office and i am trying to remove all the single point of failures. But you can use failover clusters all you want but if your vpn go's down they dont mean a thing. So my question is, what is the best way to get vpn failover?
Get a second Internet connection at each location (or at the "head office" if you want to spend less money) and establish a second set of VPN tunnels between the sites. Use a dynamic routing protocol or a "heartbeat" / SLA function in your VPN routers to dynamically alter the routing of traffic over the VPNs if one of the Internet connections fails.