I've been using port forwarding with OpenSSH for a long long time. I have a very large .ssh/config file where I setup all my remote services. What I did not know until today though was that OpenSSH supports a true VPN mode that makes multiple port forwards unecessary.
What that means is that I can access my server exactly as I would locally no matter where I am. No fuss... Easy. Sure. there's things like OpenVPN.. but ssh is (pre)installed on just about every computer I use.
I've updated my OpenSSH tutorial with all the details, as well as an easy to use python script for setting it all up. See the heading called "True VPN".