OpenVPN
A flexible, mature SSL/TLS-based VPN.
OpenVPN tunnels IP traffic over TLS-encrypted connections using OpenSSL or mbedTLS. It supports both routed (TUN) and bridged (TAP) modes, certificate-based and pre-shared-key authentication, dynamic IP/key renegotiation, and traversal of NAT and proxy infrastructure. Compared with IPsec, OpenVPN's configuration is famously straightforward — a server config and a client config file, plus certificates from a small PKI.
James Yonan released OpenVPN in 2001 to provide a free, simpler alternative to IPsec on Unix systems. Despite the more recent arrival of WireGuard, OpenVPN remains widely deployed: many corporate VPNs are OpenVPN, and it has the advantage of working over TCP port 443 for hostile networks where UDP traffic is filtered.
The OpenVPN community edition (GPLv2) underpins commercial products including OpenVPN Inc.'s own Access Server and CloudConnexa, plus ExpressVPN, NordVPN, and many other VPN providers. The codebase is mature, has been extensively audited, and is in active maintenance.
Install
Debian/Ubuntu: sudo apt install openvpn Fedora/RHEL: sudo dnf install openvpn Arch: sudo pacman -S openvpn macOS: brew install openvpn
Authors
- James Yonan (creator)
- OpenVPN Inc. and contributors