b

Cisco VPN on Lucid Lynx

At some point during the process of going from 9.10 to 10.04 something changed that made the official Cisco VPN client no longer compile correctly. As a result I decided to give a more generic IPSec VPN client a go, specifically vpnc. As it's available in the common respositories, installing it should be as simple as tossing the following in at the propmpt.
sudo apt-get install vpnc
The real trick here is that the .pcf files specifically for the Cisco client contain an encrypted group password, whereas vpnc operates using that password in plaintext. If you open up the pcf file in your text editor of choice, you should see fields labelled Host, GroupName, and enc_GroupPwd (or if you're luckier than me, something in the GroupPwd field). Create an new file called something like /etc/vpnc/my_new_vpn.conf, you'll likely need root privillages to write to this file. Paste in the following, with the entries from your .pcf file:
IPSec gateway Host IPSec ID GroupName IPSec secret GroupPwd Xauth username your user name on the remote network
If you're feeling especially lazy, you can add an additional line with the keyword Xauth password followed by your plaintext user password on the remote network, but know that this is incredibly insecure. If you've only got the Cisco encrypted password, you can use the quick decrypter hosted by Corey Gilmore here. Take the plaintext password that it returns and paste it in for the GroupPwd. From there, it's easy to switch the VPN on and off from the command line.
sudo vpnc my_new_vpn
It'll prompt you for a user password, and should connect straight away. When you're done, the following drops the VPN connection and returns to normal network function.
sudo vpnc-disconnect