Skip to content
forked from zehome/MLVPN

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

License

Notifications You must be signed in to change notification settings

mrgreenfr/MLVPN

 
 

Repository files navigation

========================================= MLVPN - Multi-Link Virtual Public Network

Build Status Coverity Status

author: Laurent Coustet

Take a look at the official documentation on Read The Docs

Introduction

MLVPN will do it's best to acheive 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 loosing your TCP connections.
  • Secure your internet connection to the aggregation server using strong cryptography.
  • Scriptable automation and monitoring.

Quick install

Install debian package

sudo apt-key adv --keyserver pgp.mit.edu --recv 3324C952
echo "deb http://debian.mlvpn.fr unstable/" >/etc/apt/sources.list.d/mlvpn.list
sudo apt-get update
sudo apt-get install mlvpn

Install FreeBSD port

pkg install git libev libsodium
git clone --branch freebsd https://github.com/zehome/MLVPN mlvpn
cd mlvpn
make

Build from source

# Debian
$ sudo apt-get install build-essential make autoconf libev-dev libsodium-dev
# OR ArchLinux
$ sudo pacman -S base-devel git libev libsodium
$ ./autogen.sh
$ ./configure
$ make
$ make install

Build debian package

$ sudo apt-get install build-essential make autoconf
$ dpkg-buildpackage -us -uc -rfakeroot

Dependencies

  • libev
  • libsodium

Security

Privilege separation

MLVPN uses privilege separation to keep high privileges operations away from the core routing stuff.

Code running as root is very minimalist and highly readable to avoid risks as much as possible.

Read more about privilege separation

Cryptography

  • Encryption: Salsa20 stream cipher
  • Authentication: Poly1305 MAC

Read more on salsa20 and libsodium.

Principle of operations

TODO

Compatibility

Linux, OpenBSD, FreeBSD

Windows is NOT supported, but MLVPN runs on routers, so you can benefit from MLVPN on ANY operating system of course.

Contributors

  • Laurent Coustet, author and maintainer
  • Philippe Pepiot, contributor (privilege separation, bugfix)
  • Ghislain Lévèque, contributor (weight round robin)
  • Fabien Dupont, contributor (bugfix)
  • Thomas Soëte, contributor (bugfix)
  • Frank Denis, contributor (documentation)
  • Nicolas Braud-Santoni, contributor (documentation)

LICENSE

See LICENSE file.

Documentation

Documentation is available on Read The Docs.
The manpage is also authored in Markdown, and converted using ronn.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 96.5%
  • Shell 3.5%