My goal is to create a redundant internet connection. I have a USB-LTE Modem and a wired connection. I work on ubuntu 16.04. I can use both on their own but I want to combine them together to create redundancy. Now I searched for solutions and found the kernel bonding module.
http://lxr.free-electrons.com/source/Documentation/networking/bonding.txt?v=3.13
I tried multiple configurations. The mode I want to get working is the active backup mode as this is the mode which would give me redundancy.
What I achieved: I can add both interfaces to bond0 and ping though that interface (tested with ping and route). The output from /proc/net/bonding/bond0 also looks fine for me:
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: usb0 (primary_reselect always)
Currently Active Slave: usb0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 200
Down Delay (ms): 200
Slave Interface: usb0
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 02:1e:10:1f:00:00
Slave queue ID: 0
Slave Interface: enx00044b580af6
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:04:4b:58:0a:f6
Slave queue ID: 0
However, if I test the worst case and remove the USB-LTE Modem the connection is lost completely (can't even ping anymore). So no redundancy at all.
My guess is that I have a dhcp/gateway problem here. Because the both slaves interfaces have a complete different ISP etc. Sadly, I don't have a lot of experience with networking on linux and can't solve it on my own.
So my Question: Is it possible to bond two such different connections together with the bonding module? And if yes, any ideas how?