There are a number of vpn solution, depends how many users you want to run and how much work you want to do. hamachi seems to be pretty popular but you can run openvpn also. Both require you to pretty much have a dedicated machine. You can get any number of hardware vpn solution that vary from cheap to super expensive
You can also do it the old way with SSH tunnels using stuff like putty and a ssh server.
Still all these solution will expose your public internet address since the users must know it to contect to you