After a brief hiatus of making posts (I document my daily trials all day at work, so it’s not usually the first thing I want to do when I get home) I’ve decided to make a beneficial post about how I can now do WORK (from home) on my Fedora 11-based laptop.Â Hooray!
At the corporation where I work, our network and firewall infrastructure is – of course – Cisco-based.Â Naturally, in order to connect to our corporate network from home, we use Cisco’s own VPN Client.Â For distribution to various users across the company, my workplace has provided discs with pre-configured installations of this client, all set and ready to go to connect to our corporate network.Â This prevents the dissemination of unnecessary information (VPN IP addresses, etc.) across the ranks, and makes it much easier for the non-savvy user to get connected.
I’ve all ready had a bit of experience using this client on my Windows Vista and Windows 7-based computers.Â Unfortunately for me, the Cisco VPN Client we use at work only operates in a 32-bit Windows environment… meaning that on Windows Vista, I had to run a full-fledged copy of Virtual PC with a Windows XP installation.Â In Windows 7, I was fortunate enough to be able to use its own built-in Windows XP Mode.
Trial and Error
My first thought to get this software working under Fedora 11 was probably the most simple – run it in Wine!Â I’ve had limited experience with Wine in the past, but figured that it was probably my best bet to get the Windows-only Cisco client functioning.Â Unfortunately for me, attempting to install the program in Wine only results in a TCP/IP stack error, so that was out of the question.
My next thought – slightly better than the first – came when it was announced that I could nab a copy of the Linux version of the Cisco VPN Client from work.Â As luck might have it, it’s a bitch of a program to compile and install, and I had to stop myself short of throwing my laptop into the middle of our busy street before I just gave up.
At this point, I was just about ready to try anything that could possibly get VPN connectivity working for me on my laptop.Â Luckily, a quick search of ‘Cisco VPN Linux’ in Google shot back the wondrous program that is vpnc.Â After seeing various peoples’ success with vpnc – a fully Linux-compatible Cisco VPN equivalent – I did a bit of reading up on the documentation and quickly installed it using yum:
$ yum install vpnc.x86_64
There, easy enough.Â Further reading on vpnc indicated that I needed to edit a file known as default.conf – located in the /etc/vpnc directory – to store my VPN settings for work, if desired.Â Opening up the config file included with the Windows version of the client, I pretty much copied everything over verbatim:
$ cd /etc/vpnc
$ nano default.conf
IPSec gateway [corporate VPN address]
Xauth username [domain ID]
Xauth password [domain password]
Domain [corporate domain]
From there, I performed a write out to the default.conf and saved my information.Â The only complaint I might have about this step is that everything in this file is stored as plain-text, and does not appear encrypted whatsoever.Â Since we are using a WPA2-encrypted wireless network and the VPN tunnel is secured, I wasn’t too concerned – but still.
At this point, I was now ready to test vpnc connectivity.Â Typing in at the terminal
$ vpnc default.conf
I was rewarded with a triumphant ‘vpnc started in background’.Â Hooray!Â But what to do from here – how to connect to my work computer?Â On Windows, I just use Remote Desktop… so logic following through as it does, I typed:
$ rdesktop [computername].[domain]
Instantly, I was showered in the beauty that was a full-screen representation of my Windows XP Professional-based work computer.
It certainly was not as easy a process as I’m making it out to be here – indeed, I did have to figure out to add .[domain] to the end of my computer name, as well as allow vpnc’s ports to flow through by performing a terminal netstat command and then opening them accordingly in the Fedora firewall – but I am now connected to work flawlessly, using open-source software.