Several years ago I tried to get a Linux system to connect to a Cisco VPN concentrator. There is a proprietary Cisco client for Linux, but it uses a closed-source kernel module, and I an not willing to use such things. At the time, it was claimed that Cisco used standard IPsec and that at least one of the Linux IPsec implementations would interoperate. However, even following instructions someone had written up, I was never able to make it work.
Last night I discovered a GPL’d program vpnc that will interoperate with the Cisco VPN, doesn’t require a kernel module, and is easy to configure. If you’re running Fedora Core, it’s available in the extras repository.
I’ve used it to connect to the VPN at the university, but haven’t yet tried it with the VPN at work.
vpnc will automatically set up routes and replace your resolv.conf, and then restore everything when the VPN is disconnected.
If you use NetworkManager, the panel applet that lets you choose between wired and wireless connnections (usually installed by default in Fedora Core), you can install NetworkManager-vpnc, and it will give you a GUI interface to configure, connect, and disconnect a VPN. However, I was NOT able to get that to work with the VPN at the university.
I have not yet found a Free Software VPN server that vpnc can be used to connect to. However OpenVPN works great as both client and server if you don’t need Cisco compatibility, and supports Linux, Windows, Mac OS X, xBSD, and Solaris. It uses SSL rather than IPsec. There’s a NetworkManager-openvpn plugin as well.