Scenario: I have a server in the cloud that needs to connect to an internal server in the office. There are 2 incoming connections into my office, ISP "A" and ISP "B". The primary connection is A, but if A goes down, we can use B. The app running on the cloud server has no automatic failover ability (i.e., if A goes down, someone must change the app's conf to point to B).

My thought: If I can make a tunnel from the server to the FortiGate firewall currently guarding the HQ, the cloud app can simply be configured to connect to the internal IP address of the internal server. No need to manually change the app's conf.

The need: a VPN client that:
+ can selectively send packets fulfilling a criteria (in this case, dest= IP address of internal server)*
+ has automatic failover and failback ability

*solutions involving iptables and iproute2 are also acceptable

Can anyone point me to the right direction re: what package and the relevant howto?

Thanks in advance.

Rgds,