OpenVPN - Secure IP tunnel daemon
OpenVPN is an open source VPN daemon that provides a secure tunneling solution for creating encrypted network connections. Built on OpenSSL, OpenVPN offers enterprise-grade security with the flexibility to work across diverse network environments.SSL/TLS security
Industry-standard encryption using OpenSSL with support for client and server certificates
Flexible transport
TCP or UDP tunnel transport through proxies or NAT with dynamic IP and DHCP support
Highly scalable
Scale from a single connection to hundreds or thousands of users with multi-client server support
Cross-platform
Native support for Linux, Windows, macOS, FreeBSD, OpenBSD, Solaris, and more
Key features
OpenVPN is designed to work with the TUN/TAP virtual networking interface that exists on most platforms, providing:- SSL/TLS mode: Public key security using client and server certificates for production environments
- Static Key mode: Conventional encryption using a pre-shared secret key for simple setups
- Ethernet bridging: Bridge virtual network interfaces with physical ethernet adapters
- Lightweight footprint: Many key features of IPSec without the heavyweight implementation
- Flexible configuration: Options can be specified via command line or configuration files
OpenVPN is tightly bound to the OpenSSL library and derives much of its crypto capabilities from it.
Security modes
OpenVPN supports multiple security configurations to match your deployment needs:SSL/TLS mode (Recommended)
Uses public key infrastructure with separate certificates for each client and server. Ideal for production environments with multiple users.
Static Key mode
Uses a pre-shared secret key for encryption. Suitable for simple point-to-point connections and testing.
Network topology options
- Routed (TUN)
- Bridged (TAP)
Creates a routed IP tunnel using the TUN device. This is the most common configuration for site-to-site and remote access VPNs.
Get started
Installation
Install OpenVPN from package managers or build from source
Quick start
Get a VPN connection up and running in minutes
Documentation
Read the complete manual at openvpn.net/man.html
Use cases
OpenVPN is suitable for a wide range of VPN scenarios:- Remote access VPN: Allow remote users to securely connect to corporate networks
- Site-to-site VPN: Connect multiple office locations over the internet
- Secure browsing: Route all internet traffic through an encrypted tunnel
- Bypass restrictions: Access geo-restricted content or bypass network filters
- IoT connectivity: Securely connect IoT devices to cloud infrastructure
OpenVPN aims to offer many of the key features of IPSec but with a relatively lightweight footprint and easier configuration.
System requirements
OpenVPN requires the following components:- TUN/TAP driver: Virtual network device driver (included in most modern operating systems)
- Crypto library: OpenSSL 1.1.0+ or mbed TLS 2.0+ for encryption
- Linux-specific (optional):
libnl-genfor kernel netlink supportlibcap-ngfor Linux capability handling
Community and support
OpenVPN is developed and maintained by a global community:- Official website: openvpn.net
- Community wiki: community.openvpn.net/wiki
- Issue tracker: github.com/OpenVPN/openvpn/issues
- Source code: github.com/OpenVPN/openvpn
- FAQ: community.openvpn.net/openvpn/wiki/FAQ
License
OpenVPN is free software licensed under the GNU General Public License version 2 (GPLv2). You can redistribute and modify it under the terms of this license.Copyright (C) 2002-2025 OpenVPN Inc. Original author: James Yonan