After several attempts to get a OpenVPN tunnel working on my WRT54GL, using both OpenWRT and dd-WRT, I never could get the tunnel to work. I tried everything I could think of, even using the built in certificates instead of my own, and I never could connect to the tunnel.
So, I decided to try PPTP, which I feel is a little less secure, as it's not client and server authenticated, but it is better than nothing. Setting up the PPTP tunnel on the dd-WRT was surprisingly simple. I think I did the whole thing in about 3 minutes!
I followed the wiki at: http://www.dd-wrt.com/wiki/index.php/VPN
But the main parts are:
On DD-WRT, go to the Administration->Services and set PPTP server to active, save the changes, then set the IP of router (192.168.1.1) for the server IP, and under Client IP(s) set a range for connections. (192.168.1.20-29 for example of a ten client set up)
Under Chap Secret put in
username * password *for example:
testmachine * password1234 *( The "*" are NOT a Placeholder, they must be there ! ) Use no capital letters. Also avoid using the # character since this breaks pptp. (This also applies to the router administration password that is included by default in the password file for pptpd.)
Now on your PC select Create new Connection under Control Panel -> Network Connections. Select Connect to Network at my Workplace, then select Virtual Private Connection, give it a name (home link). Select what applies, dial up or LAN. Type the WAN IP address of your router, it must be static address or an address through DynDNS.org or the likes. (Thanks loxza)
Then at connect window, type the username and password you used earlier under Chap Secret (in our example:
testmachine:password1234). Use no capital letters.
And presto---working PPTP VPN Tunnel!