I have 3 non-stable connections between 2 my Linux servers located in different countries. These 3 connections have different routes. From time to time one or two connections have packet loss problem or even don't work at all, so I have 1 or 2 connections alive. Also there is a data exchange between the servers, so when connection issues happen I have to detect it in some way and send data using next channel.
Is there any software solution that can set up a virtual network using all the channels I have and automatically balance the data in the channels? May be some kind of multilink OpenVPN setup or virtual NIC?