In order to connect to the University College London RoamNet service it is necessary to have Cisco Systems VPN Client running to authenticate the connection. I had problems installing Cisco VPN Client on Linux. It turns out it was necessary to patch one of the files. The UCL Information Systems website was useless as to how to set it up, and the Cisco manual was not great. This page is intended as a helper for getting RoamNet up and running with Linux (kernel 2.6...) |
make cloneconfig
make prepare
zcat vpnclient-linux-<version>.tar.gz | tar xf -
cp -f <filename>.crt vpnclient/rootcert
supported_device function above the
definition of add_netdev and recompiled. The patch below is
reported to rectify problems with Cisco VPN Client with kernel 2.6.9. It also
works with my kernel 2.6.13.
--- interceptor.c.orig 2005-01-04 14:55:44.246848280 -0500
+++ interceptor.c 2005-01-04 14:56:15.955027904 -0500
@@ -236,6 +236,24 @@
dev_kfree_skb(skb);
return 0;
}
+
+static int
+inline supported_device(struct net_device* dev)
+{
+ int rc=0;
+
+ if(dev->type == ARPHRD_ETHER)
+ {
+ rc=1;
+ }
+ else if(dev->type == ARPHRD_PPP)
+ {
+ rc=1;
+ }
+
+ return rc;
+}
+
static int
add_netdev(struct net_device *dev)
{
@@ -476,23 +494,6 @@
s->rc = 0;
}
-static int
-inline supported_device(struct net_device* dev)
-{
- int rc=0;
-
- if(dev->type == ARPHRD_ETHER)
- {
- rc=1;
- }
- else if(dev->type == ARPHRD_PPP)
- {
- rc=1;
- }
-
- return rc;
-}
-
static BINDING *
getbindingbydev(struct net_device *dev)
|
Save the above patch as ciscovpnpatch.txt in the vpnclient
directory (click to download text file) and
issue
patch -p0 < ciscovpnpatch.txt
In addition, for kernel 2.6.10+ the system will hang unless the first
parameter to the calls to the function skb_checksum_help() are
changed to skb and NOT &skb in the file
interceptor.c.
So, within interceptor.c, search for
(skb_checksum_help(&skb
and replace with
(skb_checksum_help(skb
There should be two replacements.
./vpn_install
/etc/init.d/vpnclient_init start as root
[or use sudo]).
cp <path>/UCL\ RoamNet.pcf
/etc/opt/cisco-vpnclient/Profiles/UCL.pcf
/etc/init.d/vpnclient_init start
vpnclient connect UCL
cat > roamnet
#Connect to the UCL RoamNet service
#!/bin/bash
/etc/init.d/vpnclient_init start
/usr/local/bin/vpnclient connect UCL
chmod 700 roamnet
./roamnet
sudo roamnet