Cisco VPN software

posted by CodeGirl
Bookmark This Page:   Add 'Cisco VPN software' to Del.icio.us Add 'Cisco VPN software' to digg Add 'Cisco VPN software' to Simpy Add 'Cisco VPN software' to OnlyWire 

yay! 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:

  1. sudo apt-get install linux-headers-2.6.20-16-386
  2. tar xzvf  vpnclient-linux-x86_64-4.8.00.0490-k9.tar.gz
  3. patch -p0 < vpnclient-linux-x86_64-4.8.00.0490-k9.patch
  4. 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 
  5. cd vpnclient
  6. sudo ./vpn_install
  7. 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.
    
  8. 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

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.

This entry was posted on Monday, August 6th, 2007 at 1:23 am and is filed under linux. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply

Comment moderation is in use. Please do not submit your comment twice -- it will appear shortly.


Protect Web Form!

Bad Behavior has blocked 232 access attempts in the last 7 days.