NetworkManager supports VPN connections for all popular VPN connections via plugins.
A VPN plugin consists of the editor dialog and a D-Bus service that manages the actual VPN connection.
VPN plugins maintained in GNOME
This is a list of VPN plugins that are maintained as GNOME projects:
|NetworkManager-fortisslvpn (releases)||Fortinet SSLVPN compatible|
|NetworkManager-libreswan (releases)||IPsec IKEv1 VPN, Cisco compatible|
|NetworkManager-pptp (releases)||PPTP, Microsoft compatible|
|NetworkManager-openconnect (releases)||Cisco AnyConnect, Juniper|
|NetworkManager-vpnc (releases)||IPsec VPN, Cisco compatible|
|WireGuard||NetworkManager 1.16.0+ supports WireGuard natively and not as VPN plugin|
VPN plugins maintained by third parties
There are also plugins which are not maintained by NetworkManager developers. Visit their web sites to check them out:
|NetworkManager-anyconnect||Fortinet SSLVPN compatible|
|NetworkManager-iodine||Tunnel IP traffic via DNS using Iodine|
|NetworkManager-l2tp||L2TP compatible VPN plugin|
|NetworkManager-ssh||Connect using OpenSSH’s Tunnel capability|
|NetworkManager-sstp||SSTP compatible VPN plugin|
|NetworkManager-strongswan||IKEv2 enables IPsec plugin with support for EAP, PSK and certificate authentication|
Plugin compatibility note
NetworkManager maintains backward compatibility with older plugin versions. That means that the plugin version 0.9.10 will work with later NetworkManager versions, such as 1.2.
For VPN plugins, the major-minor version indicates the minimal required NetworkManager version. It is therefore expected and correct that for certain NetworkManager versions there exists no matching VPN plugin version. For example, for NetworkManager-pptp might not exist a 1.4.0 version because the latest 1.2.x version is suitable and up-to-date to run against NetworkManager 1.4.0.