How to set up OpenVPN on your Webdock Server
Last updated: November 10th 2022
Introduction
There are many reasons you may want to deploy your own private VPN. One big reason is that many VPN companies sell your VPN logs to law enforcement agencies, so having your own personal VPN will ensure your privacy. You may also have some public admin portals to which you need to restrict access for only the users who have your VPN access.
OpenVPN is a free, open source VPN protocol that you can use to deploy your own private VPN. It’s available for every Operating system including Windows, Mac, Linux and other Unix like platforms.
Prerequisites
- A fresh Webdock cloud Ubuntu instance.
- Make a note of your Webdock server IPv4 address
- You have shell (SSH) access to your VPS.
Know your public IP
To setup OpenVPN, you should know the public IP address of your Webdock server.
# curl icanhazip.com
You’ll get your IP Address in response.
Setup OpenVPN
Update your Ubuntu and clone the git repository of OpenVPN deployment script.
# sudo apt update && sudo apt upgrade # mkdir vpn && cd vpn # wget https://git.io/vpn -O install.sh
Change its permission and run it as sudo. The script will give you a few prompts, choose the options as per your requirement.
# chmod +x install.sh # sudo ./install.sh Welcome to this OpenVPN road warrior installer! This server is behind NAT. What is the public IPv4 address or hostname? Public IPv4 address / hostname [XX.XXX.20.90]: XX.XXX.20.90 Which protocol should OpenVPN use? 1) UDP (recommended) 2) TCP Protocol [1]: 1 What port should OpenVPN listen to? Port [1194]: 1194 Select a DNS server for the clients: 1) Current system resolvers 2) Google 3) 1.1.1.1 4) OpenDNS 5) Quad9 6) AdGuard DNS server [1]: 2 Enter a name for the first client: Name [client]: webdock OpenVPN installation is ready to begin. Press any key to continue...
Download the OVPN File to your Local Machine
After the installation, a file with “.ovpn” extension will be created in the home directory of the user that did the installation. In our case this is root, as we ran the script with sudo.
# sudo ls /root/
Sample output:
... /root/webdock.ovpn
You can now switch to root by doing "sudo su" and cd to this directory (/root) in order to serve the file with python, or you can copy it to your home directory first (here the user is called "myuser"):
# sudo cp /root/webdock.ovpn /home/myuser/ # sudo chown myuser:sudo /home/myuser/webdock.ovpn
Change myuser:sudo to whatever your user/group is and webdock.ovpn to whatever your ovpn file was named.
You can download the file using Scp, Netcat or Python, but Python way is the easiest.
# cd && python3 -m http.server
Sample output:
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
Go to your web browser and enter your Webdock server’s Public IP Address with the port number 8000 i.e, http://XX.XX.20.90:8000/, and download the file.
Use your VPN
OpenVPN client software is available for Android, iOS, Windows, Linux etc.
For Linux, you can simply install it using apt.
sudo apt install openvpn
Start the VPN
sudo openvpn webdock.ovpn
Conclusion
In this article, we’ve successfully set up our own private VPN using Webdock Ubuntu server. If you want to learn more about OpenVPN, you can read the official documentation here: https://openvpn.net/vpn-server-resources/
As an alternative, if you do not want to set up a VPN yourself there is a wide range of VPN companies which you can use to get a fully managed service.