First off, yes there is VPNC, and yes VPNC works very well, I just want to drop a rant about the product deployment of Cisco.
So, since I am student of software development now \o/ (at all famous Graz University of Technology) I eventually had to poke a bit in the Cisco VPN client stuff. Apparently a lot of universities use Cisco VPN solutions to, well, create a VPN. Considering that and the market share of Cisco in networking solutions in general, one would expect that the Cisco VPN client is a somewhat decent application (from a Linux POV).
That beast has a long history of being unbuildable on latest kernel releases (in fact it appears the definition of ‘latest’ spans at least 1 year in for this particular application). There are some people trying to patch it buildable as good as they can, but really, it is not worth the effort. You can google the patches quite easily, Google is also nice enough to offer information about them, even when you are only looking for the Cisco VPN client for Linux 😉
So here is why it is not worth the effort of patching: the client does not even have a GUI on Linux (I remember even ATI’s driver installer happened to have a GUI at some point).
All the more interesting that at least the Windows Binary ships with a Qt 3.3 dll file (I, personally, consider this a strong sign that it is actually implemented using Qt), also if it really is, then this would explain why there is a Mac GUI, but why on earth is it not available for Linux? That is like cooking dinner for 2 when 3 people are to attend.
Anyhow. IMHO Cisco should put some more effort into keeping the client up-to-date (also a bit of dkms scripting could not hurt) and give Linux a GUI and while they are at it port to Qt 4 awesomeness.
For the time being I can only recommend vpnc unless you need particular functionality that is not available in vpnc.
As I tend to say in packaging context “Patches are evil”, which also applies to a upstream-is-broken context, which could also be enhanced to “Patches are evil and no long-term solution”.