For reasons that escape me Cisco have chosen not to release a 64-bit version of the IPSec Cisco VPN Client.
This is a problem for me since I installed the 64-bit version of Windows 7 RC on my Toshiba M750.
To get around this without rebuilding with the 32-bit version I employed Windows 7’s new XP Mode – aka Virtual XP.
First I followed the steps on the download page:
- Enabled virtualisation extensions in the BIOS.
- Download and install the Virtual PC Beta.
- Download Windows XP Mode.
That done I fired up the Virtual Windows XP from my Start Menu:
This loaded up a Virtual Machine already running Windows XP. I installed the Cisco VPN Client and verified that it could connect to the VPN.
This is where it gets a little tricky. At this point I have my Toshiba, which is the host and an XP machine which is a guest. The XP Guest has a virtual adaptor that leverages the host’s network adaptor and can connect to the remote network. But the host has not way to connect through the guest to get to the remote network.
For initial testing I created a static route for one of the subnets and pointed it to the IP Address of the guest. This worked, but it is a bit fiddly as the guest IP address is assigned by DHCP and as such will change depending on where I am.
I wanted something that required a little less work to get connected. To achieve this I needed to create a virtual adaptor on the Host. This is done by adding a loopback adapter to the host.
Adding a Loopback Adapter to the Host
In Device Manager right click the root node and select Add Legacy Hardware
On the welcome screen click Next.
Then select Install the hardware that I manually select from a list (Advanced) and then click Next
Scroll down and select Network Adapters and then click Next
Then select Microsoft as the Manufacturer and Microsoft Loopback Adapter and then click Next
On the confirmation screen click Next. Then when the installation finishes click Finish.
Once this has completed you will find a new network adapter in the Network Connections.
I configured this adapter with a private IP address in a range that I don’t use at home or work.
Next I added a second Virtual Adapter to the Virtual Windows XP machine and bound this to the new Loopback Adapter. I assigned a static address to this in the same range as the Loopback adapter.
Because the network I am connecting to uses a number of subnets I wrote two quick CMD scripts. One adds the routes on the host, the other removes them.
Virtual PC also creates shortcuts for applications installed in the guest on the Start Menu of the host.
To connect to my VPN I can run this and it hides Virtual Machine’s desktop and the VPN client looks like it is running on the Windows 7 machine. I then run my script to create the routes and I can work away. When I disconnect the VPN I run another script to delete the routes again. Of course I can add shortcuts to all three actions to my desktop to ease the process. Not quite as clean as installing the client directly on the machine, but it works.
Update: For details of the command scripts see this post.