PeerVPN - the open source peer-to-peer VPN

About PeerVPN

PeerVPN is a software that builds virtual ethernet networks between multiple computers. Such a virtual network can be useful to facilitate direct communication that applications like file sharing or gaming may need. Often, such direct communication is made impossible or very difficult by firewalls or NAT devices.

Most traditional VPN solutions follow the client-server principle, which means that all participating nodes connect to a central server. This creates a star topology, which has some disadvantages. The central node needs lots of bandwith, because it needs to handle all the VPN traffic. Also, if the central node goes down, the whole VPN is down too.

A virtual network built by PeerVPN uses a full mesh topology. All nodes talk directly to each other, there is no need for a central server. If one node goes down, the rest of the network is unaffected.

Configuring PeerVPN is easy. You just need to configure a network name, a password and the contact information (IP address and port) of another PeerVPN node. Adding a new node to an existing network doesn't require the existing nodes to alter their configuration, because its IP address is automatically distributed across the whole virtual network.

Features

Ethernet tunneling support using TAP devices.

IPv6 support.

Full mesh network topology.

No NAT reconfiguration necessary, only one node with a public address is required.

Shared key encryption and authentication support.

Documentation

There is a small tutorial that explains how to setup a simple VPN. The configuration options are explained in the sample peervpn.conf that is bundled together with the program.

Platforms & Dependencies

PeerVPN is available for Linux and FreeBSD. Additionally, one of the following crypto libraries is required:

LibreSSL (recommended)

or OpenSSL v.1.0.x (note: the 1.1.x series introduced incompatible API changes and will unfortunately not work)

License

PeerVPN is licensed under the terms of the GPLv3.

Download

Version 0.044 (2016-03-21) source code: peervpn-0-044.tar.gz statically linked x86 binary for Linux: peervpn-0-044-linux-x86.tar.gz



Contact

If you have any questions or bug reports, contact me at mail@tobiasvolk.de.