After much trial and error, I was able to build a VPN server that can connect from an iPhone without having to release ports or change Windows Firewall settings as described in other articles.
I will not discuss the mechanism and features of VPN because I believe that the readers of this article already have a clear purpose of using VPN communication. I think the main purposes of use are as follows.
Due to popular demand (?) at my lab in ETH Zürich, I will describe the tips & tricks for when I set up programming environements on my computer. Feel free to steal the ones you find useful. Suggestions and ideas are always welcome!