zehome / MLVPN

Multi-link VPN (ADSL/SDSL/xDSL/Network aggregation / bonding)

Home Page:http://www.mlvpn.fr/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Can MLVPN support 10's of 4G USB modems?

opened this issue · comments

I have a server in my office with 80 4G USB modems and 1 fiber 100Mbps Checkpoint router, I am port forwarding traffic from (for example) port 3000 on my router to the server, and then in the server, I have Squid set up to send the outgoing traffic to different modems based on the username.

User 1 on port 3000 will go out from modem 1
User 2 on port 3000 will go out from modem 2
and so on

What I would like to do is get rid of my fiber Checkpoint router and stay only with the server and 80 4G modems.
I would like to set up a Digital Ocean server with MLVPN that takes incoming traffic from the internet on port 3000 and sends it using a tunnel to an aggregated interface (of all 80 modems) on my office server on port 3000, then I will use Squid as normal to route traffic to specific outgoing interfaces.

This way, users can connect to the cloud server from the internet and use a single, specific modem on my office server using Squid.

I have read the entire documentation and MLVPN sounds perfect for the job, but I am not sure that I have the right approach.

Can MLVPN achieve what I described above or am I missing anything?

For what I understand, mlvpn is not doing what you think. MLVPN does packet level weighted round robing tunneling. (Operates a layer 3)

What you need, is a connection based load balancer (layer 4), behind a proxy. Linux does this natively:

ip route add default scope global nexthop via $P1 dev $IF1 weight 1 \
	    nexthop via $P2 dev $IF2 weight 1

For what I understand, mlvpn is not doing what you think. MLVPN does packet level weighted round robing tunneling. (Operates a layer 3)

What you need, is a connection based load balancer (layer 4), behind a proxy. Linux does this natively:

ip route add default scope global nexthop via $P1 dev $IF1 weight 1 \
	    nexthop via $P2 dev $IF2 weight 1

Thanks for the quick reply. I have been looking for a solution for a while now and couldn't find anything, so thank you for pointing me in the right direction. I have sent you an email explaining the situation a bit more to detail, we are looking for help with this and would love to work with you. thanks again.