Option 1
WireGuard
Open-source VPN protocol; pure self-host.
Best for
Single users, small home labs, teams running their own infra and comfortable with key management.
Pros
- Open-source, in-kernel on Linux, in-tree on every modern OS
- Cryptographically simple (modern curve25519 + ChaCha20-Poly1305) — small attack surface
- Free forever; you only pay for the server you run it on
- No third-party — peers connect directly, you control everything
- Performance: minimal overhead, often saturates a 1Gbps link
- Mature, audited, deployed in millions of installations
Cons
- No NAT traversal helper — both peers behind NAT need port forwarding or a relay you set up
- Manual key distribution (every device's public key needs to be in every peer's config)
- No built-in ACL or device authentication beyond key match
- DNS / hostname resolution is your problem
- Adding a 4th device means editing 3 configs