I am working on a project where I have two network connections, both the same speeds, going through Comcast. I am attempting to connect them unilaterally to a server at our local Internet Exchange (in Detroit), and have a few questions.
The local server in my office is running Ubuntu 16.04, and is currently set up as my router. I use iptables and ip to route traffic to various subnets and internal servers, including web hosting, VoIP, cloud storage, etc.
The remote server runs Ubuntu 16.04, and is hosted by ManagedWay, located right at the local Internet Exchange point. It's only job is to:
a.) be an endpoint for the local server, and b.) provide a point where we can implement routing and/or BGP and assign IP addresses from ManagedWay and eventually ARIN.
I have tested multiple proxy types, from OpenVPN to L2TP and IPSec and even SSH tunneling. So far, my results are as follows (on a single connection, I will address the multiple Public Interfaces in a moment):
Comcast -> ManagedWay (Ookla Speed Test Server in Troy, MI): Ping 779MS, DS: 99.12Mbps, US: 19.28Mbps
Comcast -> (SSH Tunnel -> ManagedWay "remote" server -> ManagedWay (Ookla Speed Test Server in Troy, MI) ): Ping 34ms, DS: 101.73Mbps, US: 22.02Mbps
Using the SSH Tunnel is actually faster then using the connection as-is. It is the fastest encapsalation method I have been able to find.
What we want to do (and please let me know if there's a better way to do this):
1.) Have local server connect over two Comcast gateways to remote server, 2.) Have remote server forward all IP traffic to local server, 3.) Have local server differentiate traffic (source IPs) and forward it (automatically) to the correct local destination, 4.) Have the two SSH tunnel (interfaces) combined together at the remote endpoint to have their combined bandwidth used, and 5.) Do so in a secure and efficient manor.
I have some pieces of the puzzle put together, and have had suggestions of using redsocks2, ifenslave, and several other utilities. We prefer to use Ubuntu Server because we also build our own applications and everyone here is already familiar with it.
We are already registered with ARIN, although for now we are purchasing IP addresses from ManagedWay for simplicity.
Any help would be much appreciated, I will figure it out eventually but I could definitely use advice from someone outside, some fresh eyes on it.