I have two OpenVPN server, and two machines connecting to them.
Server 1 openvpn address: 10.158.1.1
Server 2 openvpn address: 10.158.2.1
Machine 1 has address 10.158.1.11 on server 1, 10.158.2.11 on server2.
Machine 2 has address 10.158.1.12 on server 1, 10.158.2.12 on server2.
A simple text-based diagram look like:
10.158.1.11 (machine1) <-------(10.158.1.1 server1)-------> 10.158.1.12 (machine2)
10.158.2.11 (machine1) <-------(10.158.2.1 server2)-------> 10.158.2.12 (machine2)
At this point everything is fine, i can ping 1.11 from 1.12, 2.11 from 2.12 so on..
So the machines can reach each other over two VPN interfaces via openvpn server (client-to-client enabled in openvpn server)
What I would like to achieve is to have a bonded interface, to have just one IP to machines talk to each other.
Example: 10.159.0.1 for machine 1, and 10.159.0.2 for machine 2.
Tried to put tap10 and tap20 (openvpn interfaces respectively) in bonding mode active-backup, but if I use mii, obviously it does not sense if vpn interface is down, as openvpn does not put tap interface down if link goes down.
Also tried to use arp monitoring, but then bonding thinks all interface as down, as ARP not working when interfaces were enslaved.
Tried to use GRE tunnels (to be more specific, GRETAP, not regular GRE which is only l3) over openvpn taps, but they failed just like normal TAP interfaces.
PS: Machine 2, Server 1 running Debian 9, Server 2 and Machine 1 running Debian 8.
At Debian 8 systems, using backported 2.4 OpenVPN. So OpenVPN versions match.
Any ideas what to do?
Thank You for your input!