I've been using OpenVPN to manage a network between a few computers, but it needs a central server and all data need to go through it. Additionally, changing the central server potentially means updating the whole network.
I'm looking for an open-source decentralized (P2P) VPN network that doesn't require a central server. Requirements:
- No central server (all peers are equal).
- Secure - all data must be encrypted. Peers that are allowed to connect should be managed by giving them a signed certificate that others can verify.
- Some peers don't have a public IP address (and this can change dynamically as some of them could be mobile); the software should be able to determine this and let peers forward traffic as needed.
- It should be possible to give peers fixed IP addresses in the internal network.
- The software needs to be actively maintained (to fix security issues).
- Low memory and CPU impact, if possible.
- I'm not looking for a Social VPN, in particular, I don't want the system to rely on any social network.
- Linux and Windows support.
- The system should run as a system service, without requiring any GUI for administration.
- Optional IPv6 support would be beneficial (some peers can have a public IPv6 address, but not an IPv4 one).
- Optionally also internal DNS so all computers can be addressed by local names.