Content deleted Content added
m Aready in Category:Virtual private networks |
No edit summary |
||
(50 intermediate revisions by 21 users not shown) | |||
Line 1:
{{Short description|Open-source multi-protocol VPN application}}
{{distinguish|text=[[
{{Infobox software
| name = OpenConnect
Line 7:
| caption = The open SSL VPN
| author = David Woodhouse
| developer = Daniel Lenski, [[GnuTLS|Nikos Mavrogiannopoulos]]
| released = {{
| latest release version =
| latest release date = {{release date and age|
| genre = [[virtual private network|VPN]]
| license = [[GNU Lesser General Public License|
| website = {{URL|https://www.infradead.org/openconnect/}}
}}
{{Portal|Free and open-source software}}
'''OpenConnect''' is
The OpenConnect client supports the following VPN protocols:
It was originally written as an open-source replacement for [[Cisco]]'s [[proprietary software|proprietary]] [[AnyConnect]] SSL VPN client,<ref>{{cite web|url=http://www.infradead.org/openconnect/ |title="Development of OpenConnect was started after a trial of the Cisco client under Linux found it to have many deficiencies …" |publisher=Infradead.org |access-date=2018-08-13}}</ref> which is supported by several Cisco [[network router|routers]].▼
* [[Juniper Networks|Juniper]] Secure Connect (since 7.05)<ref>{{Cite web |date=2015-03-10 |title=OpenConnect 7.05 release |url=https://lists.infradead.org/pipermail/openconnect-devel/2015-March/002818.html |access-date=2023-07-10 |website=lists.infradead.org}}</ref>
==Server==▼
* [[Palo Alto Networks]] GlobalProtect (since 8.00)<ref>{{Cite web |date=2019-01-04 |title=OpenConnect 8.00 release |url=https://lists.infradead.org/pipermail/openconnect-devel/2019-January/005178.html |url-status=dead |archive-url=https://web.archive.org/web/20200609161130/https://lists.infradead.org/pipermail/openconnect-devel/2019-January/005178.html |archive-date=2020-06-09 |website=lists.infradead.org}}</ref>
* [[Ivanti]]/Pulse Connect Secure (since 8.04)<ref>{{Cite web |date=2019-08-09 |title=OpenConnect 8.04 release |url=https://www.infradead.org/openconnect/changelog.html |access-date=2023-07-10 |website=lists.infradead.org}}</ref>
{{As of | 2013 }}, the OpenConnect project also offers an AnyConnect-compatible server, '''ocserv''',<ref>[http://www.infradead.org/ocserv/ ocserv home page].</ref> and thus offers a full [[client-server]] VPN solution.▼
* [[F5, Inc.|F5]] BIG-IP and
* [[Fortinet]] FortiGate and
OpenConnect and ocserv now implement an extended version of the AnyConnect VPN protocol, which has been proposed as an [[Internet Standard]].<ref name="nmav_ietf_draft">{{cite IETF | title = The OpenConnect VPN Protocol Version 1.1 | draft=draft-mavrogiannopoulos-openconnect-02 | author = N. Mavrogiannopoulos | date = October 2018 | publisher = [[Internet Engineering Task Force|IETF]] }}</ref> Both OpenConnect and ocserv strive to maintain [[backwards-compatibility]] with Cisco AnyConnect servers and clients.▼
* [[Array Networks]] AG SSL VPN (since 8.20)<ref>{{Cite web |date=2022-02-20 |title=OpenConnect 8.20 release |url=https://lists.infradead.org/pipermail/openconnect-devel/2022-February/005089.html |access-date=2023-07-10 |website=lists.infradead.org}}</ref>
▲===Cisco AnyConnect===
OpenConnect's implementation of the AnyConnect protocol is sufficiently complete that some of Cisco's own [[IP phone]] devices embed a very old release of OpenConnect<ref>{{cite web|url=https://gitlab.com/openconnect/ocserv/-/issues/51#note_322138534|title=ocserv issues #51}}</ref> (rather than Cisco's own proprietary software) in order to be able to connect to Cisco SSL VPNs.<ref>{{cite web|url=https://ocserv.gitlab.io/www/recipes-ocserv-ip-phone.html|title=Recipe: VoIP network with ocserv|author=Nikos Mavrogiannopoulos}}</ref><ref>{{cite web|url=https://www.cisco.com/c/dam/en/us/td/docs/general/warranty/osln_525g.pdf|title=Open Source License Notices for the SPA525G|publisher=Cisco}}</ref>▼
▲It was originally written as an open-source replacement for [[Cisco]]'s [[proprietary software|proprietary]]
{{As of|July 2023}}, support for several other proprietary VPN protocols is desired or in development:
* [[SonicWall]] NetExtender VPN support<ref>{{Cite web|url=https://gitlab.com/openconnect/openconnect/-/issues/143|title = Issues - Draft: SonicWall NetExtender support}}</ref>
* [[H3C]] VPN support<ref>{{Cite web|url=https://gitlab.com/openconnect/openconnect/-/merge_requests/397|title = Merge requests - Draft: Add H3C TLS VPN protocol| date=23 July 2022 }}</ref>
* [[Barracuda Networks|Barracuda]] CloudGen Firewall VPN support<ref>{{Cite web|url=https://gitlab.com/openconnect/openconnect/-/issues/574|title = Issues - Add support for Barracuda CloudGen Firewall}}</ref>
* [[Huawei]] VPN support<ref>{{Cite web|url=https://gitlab.com/openconnect/openconnect/-/issues/603|title = Issues - Huawei SSL VPN support}}</ref>
==Architecture==
The OpenConnect client is written primarily in [[C (programming language)|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:<ref name="damapdx">{{cite web|url=https://damapdx.org/2020/08/28/september-2020-openconnect/|author=Daniel Lenski|date=September 17, 2020|publisher=DAMA Portland|title=How VPNs Work- The Ins and Outs}}</ref>
* Initial connection to the VPN server via TLS
* Authentication phase via HTTPS (using [[HTML forms]], [[client certificate]]s, [[XML]], etc.)
* Server-provided routing configuration, in a protocol-agnostic format, which can be processed by a [
* 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 (cryptography)|rekeying]], etc.
Line 78 ⟶ 48:
==Platforms==
OpenConnect is available on [[Solaris (operating system)|Solaris]], [[Linux]], [[OpenBSD]], [[FreeBSD]], [[MacOS]], and has graphical user interface clients for [[Windows]],<ref>{{cite web|url = https://
and it has been integrated into [[Router (computing)|router]] firmware packages such as [[OpenWrt]].<ref>{{cite web|url = https://openwrt.org/docs/guide-user/services/vpn/overview#openconnect-based_vpn_solutions |title = VPN Overview |publisher = openwrt.org |access-date = 2018-03-15}}</ref>
==OpenConnect VPN graphical client==
The OpenConnect project provide clients for [[Windows]]<ref>{{Cite web |title=OpenConnect VPN graphical client |url=https://gui.openconnect-vpn.net |access-date=2024-10-16 |website=OpenConnect VPN graphical client |language=en}}</ref> and [[macOS]]{{Citation needed|date=October 2024}}.
▲==Server==
▲
▲OpenConnect and ocserv now implement an extended version of the Cisco AnyConnect VPN protocol, which has been proposed as an [[Internet Standard]].<ref name="nmav_ietf_draft">{{cite IETF | title = The OpenConnect VPN Protocol Version 1.
==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<ref>{{cite web|url=https://gitlab.com/openconnect/ocserv/-/issues/51#note_322138534|title=ocserv issues #51}}</ref>
==References==
Line 85 ⟶ 69:
==External links==
* [
▲* https://wiki.archlinux.org/index.php/OpenConnect
{{VPN}}
|