Cisco VPN software
Monday, August 6th, 2007yay! I finally got the Cisco VPN software running on my everyday Ubuntu 7.04 laptop. I had been lugging around an old slow p2 Gentoo laptop with a 2.4 series kernel because i couldnt get the stupid VPN software running under the 2.6 kernel.
Download this: vpnclient-linux-x86_64-4.8.00.0490-k9.tar.gz and this: vpnclient-linux-x86_64-4.8.00.0490-k9.patch
then do this:
-
sudo apt-get install linux-headers-2.6.20-16-386
-
tar xzvf vpnclient-linux-x86_64-4.8.00.0490-k9.tar.gz
-
patch -p0 < vpnclient-linux-x86_64-4.8.00.0490-k9.patch
- cd vpnclient
- sudo ./vpn_install
- Once the module has been created, load it by running
sudo /etc/init.d/vpnclient_init start
and you should see:
Starting /opt/cisco-vpnclient/bin/vpnclient: Done
You should see:
patching file vpnclient/IPSecDrvOS_linux.c patching file vpnclient/frag.c patching file vpnclient/interceptor.c patching file vpnclient/linuxcniapi.c patching file vpnclient/linuxcniapi.h
Cisco Systems VPN Client Version 4.8.00 (0490) Linux Installer
Copyright (C) 1998-2005 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]/usr/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.20-16-386/build]/usr/src/linux-headers-2.6.20-16-386
* Binaries will be installed in "/usr/bin".
* Modules will be installed in "/lib/modules/2.6.20-16-386/CiscoVPN".
* The VPN service will be started AUTOMATICALLY at boot time.
* Kernel source from "/usr/src/linux-headers-2.6.20-16-386" will be used to build the module.
Is the above correct [y]
Shutting down /opt/cisco-vpnclient/bin/vpnclient: module cisco_ipsec is not running.
Stopped: /etc/init.d/vpnclient_init (VPN init script)
Making module
make -C /usr/src/linux-headers-2.6.20-16-386 SUBDIRS=/usr/src/vpnclient modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.20-16-386'
CC [M] /usr/src/vpnclient/linuxcniapi.o
CC [M] /usr/src/vpnclient/frag.o
CC [M] /usr/src/vpnclient/IPSecDrvOS_linux.o
CC [M] /usr/src/vpnclient/interceptor.o
CC [M] /usr/src/vpnclient/linuxkernelapi.o
LD [M] /usr/src/vpnclient/cisco_ipsec.o
Building modules, stage 2.
MODPOST 1 modules
WARNING: /usr/src/vpnclient/cisco_ipsec.o - Section mismatch: reference to .init.text: from .data between 'interceptor_dev' (at offset 0x54) and 'interceptor_notifier'
WARNING: could not find /usr/src/vpnclient/.libdriver.so.cmd for /usr/src/vpnclient/libdriver.so
CC /usr/src/vpnclient/cisco_ipsec.mod.o
LD [M] /usr/src/vpnclient/cisco_ipsec.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.20-16-386'
Create module directory "/lib/modules/2.6.20-16-386/CiscoVPN".
Copying module to directory "/lib/modules/2.6.20-16-386/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.
Installing license.txt (VPN Client license) in "/opt/cisco-vpnclient/":
Installing bundled user profiles in "/etc/opt/cisco-vpnclient/Profiles/":
* Replaced Profiles: sample
Copying binaries to directory "/opt/cisco-vpnclient/bin".
Adding symlinks to "/usr/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 (permissions not changed)
* 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.
The thing that was tripping me up forever: that i was supposed to point the ‘linux kernel source code’ directory to /path/to/linux-headers-2.6.20-16-386. I was using ‘linux-headers-2.6.20-16′ and ‘linux-headers-2.6.20-generic’. Since the module compiled when pointed to those dirs, i assumed they were correct. However, whenever I tried to load the module that was generated with the headers from either of those two dirs, I got “invalid module format” errors.


