Hello everyone, welcome to my Linux Tutorial website. In this article, we are going to learn how to build a free OpenVPN Server using Debian 9. If you need a VPN to support your work or your internet activity, you may consider commercial VPN providers. There are many good VPN providers out there but here, I want to share my experience when building my own OpenVPN Server using Debian 9.
Well, actually it is not 100% free because you will need cloud computing such as Amazon EC2, Linode or Digital Ocean Droplet. You don’t need a high server specification in order to power up an OpenVPN server. In this example, I am using the smallest Linode cloud computing called Nanode (1GB RAM and 20GB SSD). It cost me about USD 5 per month. I also use this cloud server to serve my websites. So it is not dedicated to OpenVPN only.
There are benefits of using this custom build OpenVPN Server compared to a commercial one.
- We have unlimited access to the VPN server
- Easy to install and manage
- Low cost
So there are few steps we need to do to build our own OpenVPN Server.
- Create a new cloud
computer. I suggest you topick one from a well knownprovider such as Google, Amazon AWS, Digital Ocean or Linode. To start an instance using Linode, use this link.
- Install and configure OpenVPN Server
- Install OpenVPN client on our local PC
- Start using OpenVPN
Step 1. Run a new cloud computer instance
Like we mentioned before, you are free to choose a
Please read this article to find out how to spin up a new Linode server instance within a minute. Make sure you choose Debian as your server operating system. After that, you should now have access to your server via SSH.
Step 2. Install and Configure OpenVPN Server
Change your-server-ip-address with your actual cloud server IP address. Enter your root password and you are good to go. Next, let’s download the OpenVPN installation script. This script will help us to automatically install OpenVPN server and configure everything for us.
wget https://git.io/vpn -O openvpn-install.sh
Next, execute the script with this command
Answer some questions shown on your Terminal screen
After that, you will find a new file (.ovpn) under your /root/ directory. This is the configuration file we need to connect to this OpenVPN Server from the client computer. You need to download this file to your local computer. Usually, I use WinSCP to do this.
How to Connect to OpenVPN Server
From Windows 10
First, download and install OpenVPN for Windows 10. Next, copy or download the .ovpn file we created on the previous step. Put the .ovpn file inside C:\Users\your-username\OpenVPN\config. Done. You can now connect to the OpenVPN server
From Linux Desktop
You can connect to the OpenVPN Server from any Linux distribution. In the following example, I am using Manjaro Linux.
Open Settings >> Network. Click + button close to the VPN area.
Next, click Import from file and navigate to the .ovpn file.
Now you should see the openvpn server details
Click Add to complete the step.
From Android device
Download and install OpenVPN from the Google Play Store. You will also need the .ovpn file copied to your Android device. Open OpenVPN and select the .ovpn file.
From iOS device
Download and install OpenVPN Connect. Select Import from file and then follow the steps until completed.
Now you can enjoy unlimited VPN connection from any devices with a single OpenVPN Server. Thank you for reading this article, I hope you enjoy it and see you.