You need a public hostname for your VPN gateway.
To achieve this, register at a service like DynDNS and put a script for updating your IP address in /etc/ppp/ip-up.d/
That script can call any of the dynamic DNS clients; I use ez_ipupdate. Have a look at the DynDNS website for these.
There is also a pretty good documentation on how to set up VPNs with FreeS/WAN and Windows clients:
However, beside this you must configure your firewall to accept IPsec protocols and the tunneled connections.