Bookmark and Share

Today i will show you how to make vpn cisco client working under Ubunto 9.10.

What is Cisco VPN Client : Cisco vpn client allows you to establish encrypted VPN tunnels for highly secure remote connectivity for your mobile employees or teleworkers.



First download the cisco client :

wget ftp://ftp.xxxxxxx.fr/pub/vpn/linux/vpnclient-linux-x86_64-4.8.02.0030-k9.tar.gz

extract with :

tar  -zxvf    vpnclient-linux-x86_64-4.8.02.0030-k9.tar.gz

Enter the Directory. and try to install .

unixmen@unixmen-desktop:~/Download/vpnclient$ sudo  ./vpn_install 

Output :

Cisco Systems VPN Client Version 4.8.02 (0030) Linux Installer
Copyright (C) 1998-2006 Cisco Systems, Inc. All Rights Reserved.

By installing this product you agree that you have read the
license.txt file (The VPN Client license) and will comply with
its terms.


Directory where binaries will be installed [/usr/local/bin]

Automatically start the VPN service at boot time [yes]

In order to build the VPN kernel module, you must have the
kernel headers for the version of the kernel you are running.


Directory containing linux kernel source code [/lib/modules/2.6.31-14-generic/build]

* Binaries will be installed in "/usr/local/bin".
* Modules will be installed in "/lib/modules/2.6.31-14-generic/CiscoVPN".
* The VPN service will be started AUTOMATICALLY at boot time.
* Kernel source from "/lib/modules/2.6.31-14-generic/build" will be used to build the module.

Is the above correct [y]

Making module
make -C /lib/modules/2.6.31-14-generic/build SUBDIRS=/home/unixmen/Download/vpnclient modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.31-14-generic'
CC [M] /home/unixmen/Download/vpnclient/linuxcniapi.o
CC [M] /home/unixmen/Download/vpnclient/frag.o
CC [M] /home/unixmen/Download/vpnclient/IPSecDrvOS_linux.o
CC [M] /home/unixmen/Download/vpnclient/interceptor.o
/home/unixmen/Download/vpnclient/interceptor.c: In function ‘interceptor_init’:
/home/unixmen/Download/vpnclient/interceptor.c:132: error: ‘struct net_device’ has no member named ‘hard_start_xmit’
/home/unixmen/Download/vpnclient/interceptor.c:133: error: ‘struct net_device’ has no member named ‘get_stats’
/home/unixmen/Download/vpnclient/interceptor.c:134: error: ‘struct net_device’ has no member named ‘do_ioctl’
/home/unixmen/Download/vpnclient/interceptor.c: In function ‘add_netdev’:
/home/unixmen/Download/vpnclient/interceptor.c:271: error: ‘struct net_device’ has no member named ‘hard_start_xmit’
/home/unixmen/Download/vpnclient/interceptor.c:272: error: ‘struct net_device’ has no member named ‘hard_start_xmit’
/home/unixmen/Download/vpnclient/interceptor.c: In function ‘remove_netdev’:
/home/unixmen/Download/vpnclient/interceptor.c:294: error: ‘struct net_device’ has no member named ‘hard_start_xmit’
make[2]: *** [/home/unixmen/Download/vpnclient/interceptor.o] Error 1
make[1]: *** [_module_/home/unixmen/Download/vpnclient] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.31-14-generic'
make: *** [default] Error 2
Failed to make module "cisco_ipsec.ko".

Now we will patch this tool with vpnclient-linux-2.6.31-final.diff ( to find via google)

unixmen@unixmen-desktop:~/Download/vpnclient$ sudo  patch < ./vpnclient-linux-2.6.31-final.diff
patching file interceptor.c


For 64 bit try with : ( via to find via google)

patch < ./vpnclient-linux-4.8.02-64bit.patch

Next we must edit a kernel source file with

sudo sed -i 's/const\ struct\ net_device_ops\ \*netdev_ops;/struct\ net_device_ops\ \*netdev_ops;/' `find /usr/src -name netdevice.h`

Now install again

unixmen@unixmen-desktop:~/Download/vpnclient$ sudo  ./vpn_install 

Output :

Cisco Systems VPN Client Version 4.8.02 (0030) Linux Installer
Copyright (C) 1998-2006 Cisco Systems, Inc. All Rights Reserved.

By installing this product you agree that you have read the
license.txt file (The VPN Client license) and will comply with
its terms.


Directory where binaries will be installed [/usr/local/bin]

Automatically start the VPN service at boot time [yes]

In order to build the VPN kernel module, you must have the
kernel headers for the version of the kernel you are running.


Directory containing linux kernel source code [/lib/modules/2.6.31-14-generic/build]

* Binaries will be installed in "/usr/local/bin".
* Modules will be installed in "/lib/modules/2.6.31-14-generic/CiscoVPN".
* The VPN service will be started AUTOMATICALLY at boot time.
* Kernel source from "/lib/modules/2.6.31-14-generic/build" will be used to build the module.

Is the above correct [y]

Making module
make -C /lib/modules/2.6.31-14-generic/build SUBDIRS=/home/unixmen/Download/vpnclient modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.31-14-generic'
CC [M] /home/unixmen/Download/vpnclient/linuxcniapi.o
CC [M] /home/unixmen/Download/vpnclient/frag.o
CC [M] /home/unixmen/Download/vpnclient/interceptor.o
/home/unixmen/Download/vpnclient/interceptor.c: In function ‘interceptor_init’:
/home/unixmen/Download/vpnclient/interceptor.c:140: warning: assignment discards qualifiers from pointer target type
CC [M] /home/unixmen/Download/vpnclient/linuxkernelapi.o
LD [M] /home/unixmen/Download/vpnclient/cisco_ipsec.o
Building modules, stage 2.
MODPOST 1 modules
WARNING: could not find /home/unixmen/Download/vpnclient/.libdriver.so.cmd for /home/unixmen/Download/vpnclient/libdriver.so
CC /home/unixmen/Download/vpnclient/cisco_ipsec.mod.o
LD [M] /home/unixmen/Download/vpnclient/cisco_ipsec.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.31-14-generic'
Create module directory "/lib/modules/2.6.31-14-generic/CiscoVPN".
Copying module to directory "/lib/modules/2.6.31-14-generic/CiscoVPN".
Already have group 'bin'

Creating start/stop script "/etc/init.d/vpnclient_init".
/etc/init.d/vpnclient_init
Enabling start/stop script for run level 3,4 and 5.
Creating global config /etc/opt/cisco-vpnclient

Installing license.txt (VPN Client license) in "/opt/cisco-vpnclient/":
/opt/cisco-vpnclient/license.txt

Installing bundled user profiles in "/etc/opt/cisco-vpnclient/Profiles/":
* New Profiles : sample

Copying binaries to directory "/opt/cisco-vpnclient/bin".
Adding symlinks to "/usr/local/bin".
/opt/cisco-vpnclient/bin/vpnclient
/opt/cisco-vpnclient/bin/cisco_cert_mgr
/opt/cisco-vpnclient/bin/ipseclog
Copying setuid binaries to directory "/opt/cisco-vpnclient/bin".
/opt/cisco-vpnclient/bin/cvpnd
Copying libraries to directory "/opt/cisco-vpnclient/lib".
/opt/cisco-vpnclient/lib/libvpnapi.so
Copying header files to directory "/opt/cisco-vpnclient/include".
/opt/cisco-vpnclient/include/vpnapi.h

Setting permissions.
/opt/cisco-vpnclient/bin/cvpnd (setuid root)
/opt/cisco-vpnclient (group bin readable)
/etc/opt/cisco-vpnclient (group bin readable)
/etc/opt/cisco-vpnclient/Profiles (group bin readable)
/etc/opt/cisco-vpnclient/Certificates (group bin readable)
* You may wish to change these permissions to restrict access to root.
* You must run "/etc/init.d/vpnclient_init start" before using the client.
* This script will be run AUTOMATICALLY every time you reboot your computer.


You can start The daeamon like this :

sudo /etc/init.d/vpnclient_init start

and start connecting from command line

vpnclient connect

output :

Cisco Systems VPN Client Version 4.8.02 (0030)
Copyright (C) 1998-2007 Cisco Systems, Inc. All Rights Reserved.
Client Type(s): Linux
Running on: Linux 2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:04:26 UTC 2009 i686
Config file directory: /etc/opt/cisco-vpnclient

The command you are trying to execute requires additional parameters.
Usage:
vpnclient connect [user ] [eraseuserpwd | pwd ]
[nocertpwd]
vpnclient disconnect
vpnclient stat [reset] [traffic] [tunnel] [route] [repeat]
vpnclient notify
vpnclient verify [autoinitconfig]
vpnclient autoinit


Is all, you have cisco vpn client installed. enjoy.


Comments (4)
  • fubar  - One step missing for me
    avatar

    http://www.lamnk.com/blog/vpn/how-to-install-ci sco-vpn-client-on-ubuntu-jaunty-jackalope-and-karm ic-koala-64-bit/ has an additional patch step that I needed to get things working....

  • pirat9
    avatar

    i Know this . i gave not the link to Download, because its a commercial product , but happy to hear that working for you

  • Levy  - Why the suppression of const
    avatar

    I have applied this solution.
    It works perfectly.
    Nevertheless I don't understand why I have to do this
    change in the file netdevice.h.

  • skolem
    avatar

    Finally I am deceived. The patch does not work.
    The module is compiled, the connection is established, phase 1 and 2 and is cut after a few seconds.
    It depends of the software because in the same context, the vpnclient of my old PC, with an old linux system,
    fedora core 7, works perfectly.

Write comment
Your Contact Details:
Gravatar enabled
Comment:
[b] [i] [u] [url] [quote] [code] [img]   
:D:):(:0:shock::confused:8):lol::x:P:oops::cry:
:evil::twisted::roll::wink::!::?::idea::arrow:
Security
Please input the anti-spam code that you can read in the image.