No more AnyConnect compatible vpn transport in Ubuntu 16.04?

Following my previous experiences with setting up Cisco AnyConnect VPN connections on Ubuntu 14.04 I tried the same approach here by installing packages:

sudo apt-get install -y network-manager-openconnect-gnome network-manager-openconnect network-manager-vpnc network-manager-vpnc-gnome vpnc vpnc-scripts

Even after this an option to create Anyconnect compatible VPN connection does not appear.

Ubuntu 16.04 64bit, stock.


Solution 1:

I am having the same problem on fresh install of Ubuntu 16.04. You can however connect via terminal :

sudo openconnect https://<remote.host.here> 

after that you should be prompted for user name and password.

Solution 2:

I had same problem. use package in this page (or build it if you don't trust) http://tomtomtom.org/networkmanager-openconnect/

It works for me

On Ubuntu 16.04 the network-manager-openconnect and network-manager-openconnect-gnome plugins are not usable because they are to old to use with the current version of network-manager.

This is the english version of this guide from a german ubuntu support forum.

Unofficial built packages are available here:

http://tomtomtom.org/networkmanager-openconnect_1.1.93-1_i386.deb

http://tomtomtom.org/networkmanager-openconnect_1.1.93-1_amd64.deb

NOTE: You won´t get any security updates for this! It is just a workaround until the packages will have been fixed in the official repository!

Using VPN is a security feature - so it is better to build the package manually from source because you don´t know what I put into the packages. :-P

At first remove the unusable packages

sudo apt-get purge network-manager-openconnect network-manager-openconnect-gnome

You will need the build-dependencies.

sudo apt-get build-dep network-manager-openconnect

(NOTE: For this the 'deb-src'-Sources in /etc/apt/sources.list must be active.)

You can do this with sed e.g.

sudo sed -i s/#deb-src/deb-src/g /etc/apt/sources.list

the new dependency for the new version.

sudo apt-get install libnm-dev

and the sourcecode from GNOME project.

wget http://ftp.gnome.org/pub/GNOME/sources/NetworkManager-openconnect/1.1/NetworkManager-openconnect-1.1.93.tar.xz

Unpack the tarball

tar -xf NetworkManager-openconnect-1.1.93.tar.xz

change to the unpacked directory

cd NetworkManager-openconnect-1.1.93

and run the configure script.

./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
            --libexecdir=/usr/lib/NetworkManager/ 
            --enable-more-warnings=yes --disable-static

start compiling .

make

and install manually

sudo make install

install the dependency for use the software

sudo apt-get install openconnect

or build a package with checkinstall

sudo checkinstall

If you do so enter this:

networkmanager-openconnect as package name

adduser, libc6, libdbus-glib-1-2, libglib2.0-0, libnm-glib-vpn1, libnm-util2, network-manager, openconnect as requirements

and

network-manager-openconnect, network-manager-openconnect-gnome

as conflicts.

If you get errormessages by installing the package try

sudo apt-get -f install

to resolve unmet dependencies.

To use the software it is necessary to add a systemuser for this

sudo adduser --system --quiet --home /var/lib/NetworkManager
             --no-create-home 
             --gecos "NetworkManager OpenConnect plugin" 
             --group nm-openconnect}

At last restart the system.

Solution 3:

There seems to be an official fix in xenial-proposed. If you enable pre-release updates and then do:

sudo apt install network-manager-openconnect network-manager-openconnect-gnome

it will start working. Well, it worked for me at least :)

Solution 4:

I think the issue appears to be that the openconnect plugin is missing a library that network manager now requires.

If I examine the files in /etc/NetworkManager/VPN I see that all of the plugins except openconnect have a section that looks like the following:

[libnm]
plugin=/usr/lib/x86_64-linux-gnu/NetworkManager/libnm-vpn-plugin-vpnc.so

network-manager-openconnect-gnome does not appear to provide a similar library and nor does any package in the ubuntu repository. I think this libnm library is some new requirement of NetworkManager and the version of openconnect in ubuntu doesn't support it yet.

Since I upgraded to 16.04 from 15.10 I still have my VPN connection defined. I can select and login from the NM GUI. However I cannot edit the connection via the GUI nor can I add a new VPN connection using openconnect.

Solution 5:

To supplement Morteza Pourkazemi's answer, the answer works for me, but I need to install the following packages which are required by the configure command.

sudo apt-get install intltool libxml2-dev libgtk-3-dev libsecret-1-dev libopenconnect-dev network-manager-dev libnm-util-dev libnm-glib-dev libnm-glib-vpn-dev