Software:OpenConnect

From HandWiki
Revision as of 16:13, 14 February 2024 by John Stpola (talk | contribs) (add)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Short description: Open-source multi-protocol VPN application
OpenConnect
Original author(s)David Woodhouse
Developer(s)Daniel Lenski, Nikos Mavrogiannopoulos
Initial releaseMarch 18, 2009 (2009-03-18)[1]
Stable release
9.12 / May 20, 2023; 19 months ago (2023-05-20)[1]
TypeVPN
LicenseGNU LGPL v2.1[2]
Websitewww.infradead.org/openconnect/

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:

It was originally written as an open-source replacement for Cisco's proprietary AnyConnect SSL VPN client,[7] which is supported by several Cisco routers.

(As of July 2023), support for several other proprietary VPN protocols is desired or in development:

Architecture

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:[13]

  • 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

OpenConnect can be built to use either the GnuTLS or OpenSSL libraries for TLS, DTLS and cryptographic primitives.

Platforms

OpenConnect is available on Solaris, Linux, OpenBSD, FreeBSD, MacOS, and has graphical user interface clients for Windows,[14] GNOME,[15] and KDE.[16] A graphical client for OpenConnect is also available for Android devices,[17] and it has been integrated into router firmware packages such as OpenWrt.[18]

OpenConnect VPN graphical client

The OpenConnect project provide clients for Windows and macOS.[19]

Server

The OpenConnect project also offers an Cisco AnyConnect-compatible server, ocserv,[20] 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.[21] Both OpenConnect and ocserv strive to maintain backwards-compatibility with Cisco AnyConnect servers and clients.

Notable 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[22] in order to connect to Cisco SSL VPNs.[23][24]

References

  1. 1.0 1.1 infradead.org - OpenConnect: Changelog.
  2. gitlab.com - OpenConnect: License.
  3. "OpenConnect 7.05 release". 2015-03-10. https://lists.infradead.org/pipermail/openconnect-devel/2015-March/002818.html. 
  4. "OpenConnect 8.00 release". 2019-01-04. https://lists.infradead.org/pipermail/openconnect-devel/2019-January/005178.html. 
  5. "OpenConnect 8.04 release". 2019-08-09. https://www.infradead.org/openconnect/changelog.html. 
  6. "OpenConnect 8.20 release". 2022-02-20. https://lists.infradead.org/pipermail/openconnect-devel/2022-February/005089.html. 
  7. ""Development of OpenConnect was started after a trial of the Cisco client under Linux found it to have many deficiencies …"". Infradead.org. https://www.infradead.org/openconnect/. 
  8. "Issues - Draft: SonicWall NetExtender support". https://gitlab.com/openconnect/openconnect/-/issues/143. 
  9. "Merge requests - Draft: CheckPoint SNX support". https://gitlab.com/openconnect/openconnect/-/merge_requests/207. 
  10. "Merge requests - Draft: Add H3C TLS VPN protocol". https://gitlab.com/openconnect/openconnect/-/merge_requests/397. 
  11. "Issues - Add support for Barracuda CloudGen Firewall". https://gitlab.com/openconnect/openconnect/-/issues/574. 
  12. "Issues - Huawei SSL VPN support". https://gitlab.com/openconnect/openconnect/-/issues/603. 
  13. Daniel Lenski (September 17, 2020). "How VPNs Work- The Ins and Outs". DAMA Portland. https://damapdx.org/2020/08/28/september-2020-openconnect/. 
  14. "OpenConnect graphical client". GitLab. https://gitlab.com/openconnect/openconnect-gui. 
  15. "NetworkManager-openconnect". gnome.org. https://gitlab.gnome.org/GNOME/NetworkManager-openconnect/. 
  16. "NetworkManagement". kde.org. https://userbase.kde.org/NetworkManagement. 
  17. "Android UI for OpenConnect VPN client". GitLab. https://gitlab.com/openconnect/ics-openconnect. 
  18. "VPN Overview". openwrt.org. https://openwrt.org/docs/guide-user/services/vpn/overview#openconnect-based_vpn_solutions. 
  19. https://gui.openconnect-vpn.net/
  20. OpenConnect VPN Server.
  21. N. Mavrogiannopoulos (October 2020), The OpenConnect VPN Protocol Version 1.2, IETF, I-D draft-mavrogiannopoulos-openconnect-03, https://tools.ietf.org/html/draft-mavrogiannopoulos-openconnect-03 
  22. "ocserv issues #51". https://gitlab.com/openconnect/ocserv/-/issues/51#note_322138534. 
  23. Nikos Mavrogiannopoulos. "Recipe: VoIP network with ocserv". https://ocserv.gitlab.io/www/recipes-ocserv-ip-phone.html. 
  24. "Open Source License Notices for the SPA525G". Cisco. https://www.cisco.com/c/dam/en/us/td/docs/general/warranty/osln_525g.pdf. 

External links