OpenVPN can easily be built from source for Linux and BSD variants. Building OpenVPN for Windows is more complex, therefore a pre-built installer is available for Windows on the OpenVPN download site. Instructions for building OpenVPN for Windows are available in the OpenVPN Wiki.
OpenVPN can be built:
- with both the OpenSSL Crypto and SSL libraries, offering certificate-based authentication, public key encryption, and TLS-based dynamic key exchange,
- with only the OpenSSL Crypto library, offering static-key based conventional encryption and authentication, or
- standalone, with support for unencrypted UDP tunnels.
OpenVPN can also be linked with the LZO real-time compression library. OpenVPN supports adaptive compression, meaning that it will enable link compression only when the tunnel data stream is found to be compressible.
OpenVPN runs entirely in user space and does not require any special kernel components other than the TUN/TAP virtual network driver available for Windows, Linux, and BSD variants.