July 12, 2007 at 1:01 am | Posted in Howto, Networking, Vista, VPN, Windows | 58 Comments

I have spent this morning trying to get OpenVPN GUI running on Vista. Since it took a morning’s worth of research I’ll compile everything you need to know here, in case you’re stuck with the same problem.

The Symptoms…

Using openvpn-2.0.9-gui-1.0.3 (and assuming you’re running it as Administrator!) the following errors were occuring:

route ADD 10.8.0.0 MASK 255.255.255.0 10.8.0.9
ROUTE: route addition failed using CreateIpForwardEntry: One or more arguments are not correct.
Route addition via IPAPI failed

The Problem…

With a bit of googling, I found an explantion on http://www.nynaeve.net/?p=74 that pointed to a broken Vista API:

Previously, I had posted about a compatibility problem with Windows Vista if you used CreateIpForwardEntry to manage the IP routing table. In particular, if you call this routine on Vista with the intent to create a new route in the IP routing table, you may get an inexpicibly ERROR_BAD_ARGUMENTS error code returned.
[…snip…]
(Yes, this does suck. It is a total breaking change for anyone who did route manipulation on OS’s prior to Vista, until you patch your programs out in the field. If this is unacceptable to you, I would encourage you to provide feedback to Microsoft about how this issue impacts customer experiences and your ability to deploy and use your product on Vista.)

The Solution…

Fortunately, the lastest development builds of OpenVPN have a patch for this. I successfully used openvpn-2.1_rc4 but reportedly the fix has been available since 2.1_rc2. The “OpenVPN 2.1_beta7 & OpenVPN GUI 1.0.3” development build found on the OpenVPN GUI site gave me problems installing the TAP drivers so I had to do two separate installs.

Firstly, install the stable OpenVPN GUI. (I failed to notice yesterday that rc4 of the Windows OpenVPN Installer already includes the GUI)
Secondly, install the development build of OpenVPN on top of that.
After that, everything seemed to work fine and routes were pushed from the server successfully.

NB. It’s important to remember to run OpenVPN GUI as administrator every time. I recommend you change the settings on the “C:\Program Files\OpenVPN\bin\openvpn-gui-1.0.3.exe” binary.

Sorry, the comment form is closed at this time.