For quite some time now I've been wanting to setup a PPTP or L2TP VPN Server within Mac OS X Leopard but Googling for this setup has eluded me for quite some time. Of course there are plenty of guides out there for *nix but not much for OS X Leopard Client. So I was most pleased when I finally came across the elusive website... ^1
iVPN simplifies this but ever since version 2.5 has required a paid license. Annoying but you can find the 2.4b files here which worked perfectly on 10.5.5 for PPTP and L2TP.
Don't for a minute think that this is for anything other than personal use as you can only configure 1 username and and L2TP has no certificate support. I've not used OS X Server but these issues would no doubt be solved with that. But this does make it handy to secure traffic from your iPod Touch/iPhone when when you're away from your own network. Just remember to flick the switch of sending all traffic over this entry.
On the firewall side you'll need to open up UDP port 500 and 4500 but beware that you'll experience issues with XP SP2 and above being unable to connect. This occurs when your VPN server is behind a NAT system. In which case have a look at MS KB 885407. 1 From there you need to set the following registry entry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPsec AssumeUDPEncapsulationContextOnSendRule DWORD 2
[25 August 2009] Another useful link seems to be http://www.bergertom.net/Home_Page/OSX_Tips/Entries/2008/1/11_Server:_VPN_setup_Part1.html
[12 December 2009] The vpn makes use of /private/etc/ppp/chap-secrets which is in the format of "client server secret acceptable_local_ip" so add any extra users in here. And if your shared secret is stored in the keychain then load of Keychain and select "System" keychain and passwords under there from where you'll see the vpn bits.
[29 May 2010] Seems that things are not working out to well on 10.6.3 and I need to run the following:
cd /Library/StartupItems/iVPN sudo racoon sudo vpnd
This was also discussed at http://discussions.apple.com/thread.jspa?messageID=8398935 ↩