I compiled 2.3.2 from source both on the client (raspberry pi running raspbian) and the server (VPS server running Ubuntu Xenial 16.04.3). I then followed the guide "Linux with two ADSL uplinks for agregation and failover". It's almost working:
I can ping the public IP of the server from the client, from both interface (ie. source routing is working)
I can ping the LAN IP of the client from my server
I can even ping & download, but there's no speedup compared to a single connection (more on that below)
Here are the logs when I start mlvpn, keeping only INFO:
client:
2018-01-14T19:08:38 [INFO/config] new password set
2018-01-14T19:08:38 [INFO/config] reorder_buffer_size changed from 0 to 64
2018-01-14T19:08:38 [INFO/config] dsl1 tunnel added
2018-01-14T19:08:38 [INFO/config] dsl2 tunnel added
2018-01-14T19:08:38 [INFO] created interface `mlvpn0'
2018-01-14T19:08:38 [INFO] dsl1 bind to 192.168.1.253
2018-01-14T19:08:38 [INFO] dsl2 bind to 192.168.2.253
2018-01-14T19:08:38 [INFO/protocol] dsl1 authenticated
rtun [dsl1] is up
mlvpn0 setup
2018-01-14T19:08:38 [INFO/protocol] dsl2 authenticated
rtun [dsl2] is up
server:
2018-01-14T19:08:35 [INFO/config] new password set
2018-01-14T19:08:35 [INFO/config] reorder_buffer_size changed from 0 to 64
2018-01-14T19:08:35 [INFO/config] adsl1 tunnel added
2018-01-14T19:08:35 [INFO/config] adsl2 tunnel added
2018-01-14T19:08:35 [INFO] created interface `mlvpn0'
2018-01-14T19:08:35 [INFO] adsl1 bind to [public IP of the server]
2018-01-14T19:08:35 [INFO] adsl2 bind to [public IP of the server]
2018-01-14T19:08:38 [INFO/protocol] adsl1 new connection -> [public IP DSL1]:54407
2018-01-14T19:08:38 [INFO/protocol] adsl1 authenticated
2018-01-14T19:08:38 [INFO/protocol] adsl2 new connection -> [public IP DSL2]:38593
2018-01-14T19:08:38 [INFO/protocol] adsl2 authenticated
Everything seems to be fine.
However, when I type the last command (wget -4 -O/dev/null http://proof.ovh.net/files/10Gio.dat), I have the following messages in the logs (keeping only INFO):
client:
2018-01-14T19:08:44 [INFO/rtt] dsl1 packet loss reached threashold: 50%/50%
2018-01-14T19:08:44 [INFO/rtt] dsl2 packet loss reached threashold: 50%/50%
2018-01-14T19:08:44 [INFO] all tunnels are down or lossy but fallback is not available
2018-01-14T19:08:45 [INFO/rtt] dsl2 packet loss acceptable again: 0%/50%
server:
2018-01-14T19:08:45 [INFO/rtt] adsl1 packet loss reached threashold: 50%/50%
Here, the dsl2 connection comes back, but not dsl1. The download speed is that of dsl2 alone. Sometimes, dsl1 comes back, but not dsl2, and the download speed is that of dsl1 alone. I tried several MTUs (1452, 1444, 1400, 1000, 800), just in case, with no luck.
[adsl1]
bindhost = "[public IP of the server]"
bindport = 5080
[adsl2]
bindhost = "[public IP of the server]"
bindport = 5081
routes on the client:
ip route show table main:
default via [public IP of the server] dev mlvpn0
[public IP of the server] dev mlvpn0 scope link
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.253 # DSL1, eth0 alias
192.168.2.0/24 dev eth0 proto kernel scope link src 192.168.2.253 # DSL2, eth0 alias
192.168.3.0/24 dev eth0 proto kernel scope link src 192.168.3.254 # LAN, eth0
ip route show table adsl1:
default via 192.168.1.254 dev eth0
192.168.1.0/24 dev eth0 scope link
ip route show table adsl2:
default via 192.168.2.254 dev eth0
192.168.2.0/24 dev eth0 scope link
routes on the server:
default via [gateway for this VPS] dev ens3
10.8.0.0/30 via 10.8.0.2 dev tun0 # I have an openvpn server running on this server, should fix this
10.8.0.0/24 via 10.8.0.2 dev tun0 # I have an openvpn server running on this server
10.8.0.2 dev tun0 proto kernel scope link src 10.8.0.1 # same
[gateway for this VPS] dev ens3 scope link
192.168.3.0/24 dev mlvpn0 scope link # this is relevant to mlvpn (192.168.3.0/24 is the LAN) :)
I'll be happy to provide anyone with extra information. Just ask. Once it's fixed, I'll be happy to work with you on the documentation. :)
Thank you very much for mlvpn.
I compiled 2.3.2 from source both on the client (raspberry pi running raspbian) and the server (VPS server running Ubuntu Xenial 16.04.3). I then followed the guide "Linux with two ADSL uplinks for agregation and failover". It's almost working:
Here are the logs when I start mlvpn, keeping only
INFO
:Everything seems to be fine.
However, when I type the last command (
wget -4 -O/dev/null http://proof.ovh.net/files/10Gio.dat
), I have the following messages in the logs (keeping onlyINFO
):Here, the dsl2 connection comes back, but not dsl1. The download speed is that of dsl2 alone. Sometimes, dsl1 comes back, but not dsl2, and the download speed is that of dsl1 alone. I tried several MTUs (1452, 1444, 1400, 1000, 800), just in case, with no luck.
Here are some details about my configuration:
mlvpn0.conf
:mlvpn0.conf
:I'll be happy to provide anyone with extra information. Just ask. Once it's fixed, I'll be happy to work with you on the documentation. :)