Remote Network Access
After completing my previous project (read The Warhawk Flies), I embarked on my next project; remote access to my network.
Previously, I was using Windows 2000’s RRAS to create a PPTP VPN and it served me well for years.
Eventually, all good things come to an end and so it was with that VPN server. Windows 2000 is already in extended support with Microsoft and soon it won’t be supported at all. Seeing the writing on the wall, I decided that this was the time to retire it and move onto something else.
I decided to set my sights on OpenVPN, a free, open-source “”Secure Sockets Layer">SSL" based VPN.
Instead PPTP or IPSec, OpenVPN makes use of public key cryptography (you know the same thing that your bank uses to secure your transactions over the web) via the already established OpenSSL libraries to encrypt the data that is being sent to and from the remote host and the VPN server.
I’m in the final testing phases of the implementation and what I’ve seen isn’t encouraging. Using Debian Linux as my server, installing and configuring OpenVPN was simpler than I thought.
The initial connection to the server was simpler than I thought too. Unfortunately, this initial connection only allows me to communicate to the server without being able to communicate to the machines behind it. In order to do that, I instruct the server to “push” some static routes to the remote machine.
This should work much like my old PPTP implementation did (read How to Setup a PPTP Encrypted Wireless Network). I’m not sure what causes it, but as soon as the server instructs the client to add the static routes to its routing table, the log starts to fill up with error messages.
The error message reads: “write UDPv4 [ ]: No buffer space available (code=55)”
More disturbing than the log filling with errors is the performance of my client machine (MacBook 1.83 Intel Core 2 Duo with 1 GB of memory using Tunnelblick as the OpenVPN client) after the errors start appearing.
After 30 seconds to a minute, the CPU will start to go haywire and the fans will turn on to try to prevent the CPU from overheating. My normally cool CPU, which runs at ~50 degrees celsisus (122 degrees F), will jump to the ~78 degree celsius (172 degress F!!) range. I haven’t stood around to see what happens if I let things run. Usually when I hit this point, I usually just reboot the Macbook (stopping the Tunneblick process didn’t seem to do anything).
The ultimate test comes tomorrow when I attempt to connect to the server from outside my own network. We’ll see what happens.