MLVPN: Multi-link VPN (ADSL/SDSL/xDSL/Network aggregation/bonding)
mlvpn is a piece of software, similar to OpenVPN, which can create a network tunnel between two computers. It encapsulates network packets, using UDP and sends them encrypted over the internet to another location. The primary use of mlvpn is to create bonded/aggregated network links in order to benefit from the bandwidth of multiple links. Still, It can be used as a regular secure tunnel daemon, capable of handling failover scenarios.
Multi-Link Virtual Public Network (MLVPN) will do its best to achieve the following tasks:
- Bond your internet links to increase bandwidth (unlimited)
- Secure your internet connection by actively monitoring your links and removing the faulty ones, without losing your TCP connections.
- Secure your internet connection to the aggregation server using strong cryptography.
- Scriptable automation and monitoring.
Feature
- Bandwidth aggregation of multiple internet connections
- Automatic failover, without changing IP addresses or interrupting TCP connections in case of a failure
- Encrypt and authenticate connections using libsodium.
- Hot configuration reload (by signaling SIGHUP)
- Scriptable monitoring
- Remote monitoring through UNIX socket or TCP/HTTP socket. (JSON API)
Install
git clone https://github.com/zehome/MLVPN.git
# Debian
$ sudo apt-get install build-essential make autoconf libev-dev libsodium-dev libpcap-dev
# OR ArchLinux
$ sudo pacman -S base-devel git libev libsodium
$ ./autogen.sh
$ ./configure
$ make
$ make install
author: Laurent Coustet