Self-hosted VPN server on Raspberry Pi

In this article I will explore the possibility to create a self hosted VPN server. I will be using OpenVPN server on a Raspberry Pi 3 running Raspbian. The purpose of using a self hosted VPN server is not to hide my traffic from my ISP, but to add a privacy layer on my traffic when I connect to the Internet from open wireless networks, such as open WiFi in Hostels, Airports, Restaurants and others. By connecting my mobile device(s) to my VPN server hosted at home. In this article I will demonstrate the setup of OpenVPN itself but also the few steps necessary to get my VPN server accessible via the Internet using a regular web address (eg. myvpn.example.com) and the setup of one mobile device and connection tests.

Disclaimer :
The content of this article was written with an educative purpose only. I do not recommend to use this information in a production environment. I will not take and/or accept responsibility to any kinds of damage caused to your infrastructure, your system, your business, your customers, your life, your health or anything else. If you are using information in this article for other purpose than education and curiosity:
You are the sole responsible and reliable person if something may happen.

I’m starting this from a fresh and clean installation of Raspbian image for this project. So, let’s download the lastest Raspbian image from RaspberryPi.org website, personally I always download the Lite version. Once your download is completed, you can write it to an SD card or a microSD card by following instructions available in this article.