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

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.

Related articles