OpenConnect
Open-source multi-protocol VPN application
OpenConnect is a free and open-source cross-platform multi-protocol virtual private network (VPN) client software which implement secure point-to-point connections.
The OpenConnect client supports the following VPN protocols:
- Cisco AnyConnect
- Juniper Secure Connect (since 7.05)
- Palo Alto Networks GlobalProtect (since 8.00)
- Ivanti/Pulse Connect Secure (since 8.04)
- F5 BIG-IP and
- Fortinet FortiGate and
- Array Networks AG SSL VPN (since 8.20)
It was originally written as an open-source replacement for Cisco's proprietary AnyConnect SSL VPN client, which is supported by several Cisco routers.
As of July 2023, support for several other proprietary VPN protocols is desired or in development:
- SonicWall NetExtender VPN support
- Check Point SNX VPN support
- H3C VPN support
- Barracuda CloudGen Firewall VPN support
- Huawei VPN support
01Architecture
The OpenConnect client is written primarily in C, and it contains much of the infrastructure necessary to add additional VPN protocols operating in a similar flow, and to connect to them via a common user interface:
- Initial connection to the VPN server via TLS
- Authentication phase via HTTPS (using HTML forms, client certificates, XML, etc.)
- Server-provided routing configuration, in a protocol-agnostic format, which can be processed by a vpnc-script
- Data transport phase via a UDP-based tunnel (DTLS or ESP), with fallback to a TLS-based tunnel
- Built-in event loop to handle Dead Peer Detection, keepalive, rekeying, etc.
OpenConnect can be built to use either the GnuTLS or OpenSSL libraries for TLS, DTLS and cryptographic primitives.
02Platforms
03OpenConnect VPN graphical client
04Server
The OpenConnect project also offers an Cisco AnyConnect-compatible server, ocserv, and thus offers a full client-server VPN solution.
OpenConnect and ocserv now implement an extended version of the Cisco AnyConnect VPN protocol, which has been proposed as an Internet Standard. Both OpenConnect and ocserv strive to maintain backwards-compatibility with Cisco AnyConnect servers and clients.
05Notable uses
OpenConnect's implementation of the Cisco AnyConnect protocol is sufficiently complete, such that some of Cisco's own IP phone devices embed a very old release of OpenConnect in order to connect to Cisco SSL VPNs.
Sources and credits
This article is adapted from the Wikipedia article “OpenConnect”, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.
Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.