It's a complicated setup. You can accomplish it with Windows Server (= $$$) or Linux. Problem is there isn't any one "right" way to accomplish it.
Setting up a VPN goes well beyond the scope of this forum. Try
Googling it.
I'll also add that if you're trying to do this while you're at work, you should *really* ask your help desk if they allow you to make VPN connections while at work. Oftentimes when you use VPN at work, it can break connections to local servers or be denied at the company router.