Of the 5 or so times that I tried to get VPN working over the years I found that, (for XP anyway), using MS's VPN was an absolute PITA to get working and in the end I gave up trying to use it, (this was over both internet and even LAN where I had total control over the machines).
OTOH,
OpenVPN was rather easier and I had a connection working in under an hour with a friend over the internet even though I'd never used it before.
I haven't had a VPN running for a while, no longer had a need and Hamachi is quicker although it unfortunately relies on you having a internet connection and the arbitration servers being accessible.
But, while I was typing this reply I decided to try and setup OpenVPN again from my XP Pro-SP3 PC to a Win7 x86 PC I just built for someone and it still took under an hour to get the two machines connected in a server->multiple client configuration, (as opposed to ad-hoc type).
10 minutes to download and install on both machines, (I had to make a cuppa too).
15 minutes reading the HOW-TO and generating the server/client certificates/keys, editing the config to use them and copying them to the respective places.
30-40 minutes trying to work out why they couldn't ping each other.....damn firewall, Outpost can be too protective sometimes
For Vista or Win7 use the latest
2.1rc, setting privileges as mentioned
here.
For XP I just used the current
2.09 release build.
The XP machine was to be the server, the Win7 a client - follow the instructions
here for generating certificates/keys for the server and each client using the example names for the server/clients they give, (it makes it simple to start with - you can always get more creative later when you've initially got it working).
Stop reading when you reach the section "
Creating configuration files for server and clients" which is the one following.
On the server:Copy the sample config for server, (server.ovpn), from the "sample-config" directory to "config" directory, copy the certs/keys for the server into the "config" directory.
On the client, (I'll call it 'client1' in this case to match the HOW-TO):Copy the sample config for client, (client.ovpn), from the "sample-config" directory to "config" directory, copy the certs/keys for the client into the "config" directory.
Edit the config file and change the line:
remote my-server-1 1194 to remote <server IP> 1194
Change the following lines to point to the generated cert/key, (client1, client2, etc, etc if you followed the HOW-TO):
cert client.crt to cert client1.crt
key client.key to cert client1.key
If OpenVPN GUI isn't running, run it. Right-click on the tray icon and select Connect.
Assuming you've properly configured your firewall to allow port 1194, (default OpenVPN assigned port), free access, you should be able to ping each machine from the other.
That's it - VPN is up and running.
After having sorted out the firewall problem on the server I had OpenVPN installed and working on my XP Pro+SP3 Acer Aspire One within 5 minutes using 'client2' cert/keys I had generated.
The config files are well commented if you want to do things like: limit clients, change default port, VPN subnet, etc, and the online documentation is extremely thorough.
EDIT: PortableApps even have a portable version of OpenVPN
here. Although you'll need Admin privileges to use it.