This question builds on a previous question, Can Tor connections between hidden services be aggregated using ifenslave? (… and might Mevade be doing this?).
In researching that, I came across VPN Bonding, which explains how to bond multiple SSH tunnels with ifenslave in balance-rr mode. And so I decided to try bonding multiple OpenVPN-through-Tor tunnels in that way.
I installed OpenVPN in the workstation of one Whonix 7 instance, and created a certificate authority. I then generated certificates and keys for several OpenVPN servers, and for one client each. Next I created configuration files, and verified that the servers were running (on ports 5000, 5001, etc). Then, in the gateway, I created a hidden service for each OpenVPN server.
Next, I installed OpenVPN in the workstation of another Whonix 7 instance, and set up the OpenVPN clients, pointing them to the corresponding hidden services. They all came up, with 1-2 second pings. However, I've had no luck usefully bonding them with ifenslave.
I can create bond0 on each end, using mode "balance-rr". Running ifconfig shows the new bond0 interface, and all component tun interfaces report "UP POINTOPOINT RUNNING NOARP SLAVE MULTICAST". I see no errors in /var/log/messages, just the expected "Adding slave tun*" and "enslaving tun* as an active interface with an up link" messages. But ping fails on the bonded link.
I did add "loop, lp, rtc and bonding" to /etc/modules. However, lsmod only showed three of them (loop, lp and bonding). Could the missing rtc be problematic?
Or perhaps it's more likely that ifenslave simply can't bond interfaces with 1-2 second latency, and ~0.5 second jitter.
Is there any hope for joy here?