Virtual Private Networks, or VPNs, are network devices that extend a private network over a public network, allowing a user to send and receive data securely as if connected directly to the computing device, over a public network.

VPNs are one of the most heavily advertised services in a day and age where computers are used for most day-to-day tasks. Chances are you’ve seen your favorite Youtubers advertise some kind of VPN service, be it Nord VPN or Express VPN, and their rise to popularity makes sense when you consider how most people are becoming much more aware of their internet privacy.

Some people might want to prevent their information from being tracked by corporations, or prevent their ISP from selling their browsing activity, while others might be more concerned with preventing hackers from gathering their banking information. So what is the best way to prevent these scenarios from occurring?

If this were a Youtube video then this would be the part where I would shill out one of the previously mentioned services and say some line about how you can “route your traffic through their encrypted servers so that no one can see what you’re looking at,” and give a promotion code so you can get a few months free. Well, I’m sorry to spoil everyone’s fun, but 90% of all the information presented during those sponsorships is outright lies, and fear-mongering to get you to subscribe to a service you don’t need.

Most of the connections to websites that you use are already encrypted through HTTPS. If your web browser shows that little padlock next to the URL, then it means that your connection is secure. Nobody can see how much money you have in your bank account information or any of your usernames and passwords. Even if you are using some kind of free public wifi.

The caveat to this is that a potential hacker, or your network admin, could see what website you are on. So if you wanted to hide the fact that you are going on Instagram during work then you could use a VPN for that, but the issue with this is that you are shifting the burden of trust from your ISP to your VPN company, and most VPN companies should not be trusted. Previously, I had used Express VPN as an example of a widely used VPN service. Express VPN is currently owned by Kape Technologies, previously known as Crossrider technologies, and sold Malware and Adware software otherwise known as the kind of things VPNs are advertised as a preventative measure for.

At this point, you’re probably asking yourself, “If VPNs are just a big nothing-burger, then why even bother to use them?”. Well, believe it or not, VPNs do serve one legitimate purpose. They help you to change your IP address.

This is because the VPN itself acts as a go-between between a client’s device and a website host. This way, the host only sees the VPN’s IP address, not the client’s.

This can be very useful for several different reasons. It can prevent hackers from using link-grabbers from obtaining your actual IP address. Twitch Streamers will frequently use VPNs to prevent their streams from being DDOSed.

VPNs can also be very useful if you want to watch region-locked content, all you would need to do is connect to a VPN that is in that region, and now it looks like you are making requests from that region. The only issue with this is that VPNs will use public IP addresses, so it’s pretty easy for a website to identify if you are using a VPN. Some websites will block you or de-prioritize you if you are using a VPN to actively avoid ads.

It is also important to point out that these VPN services are shared services, and some people will choose to use this service for malicious purposes, so some websites will outright ban IP addresses that are associated with a VPN. For example, a cheater in a video game can keep evading bans by using different IP addresses, and typically the game’s admins will ban all the IP addresses associated with that VPN.

This finally brings us to how you can create your own private VPN or PVPN. This will be your own private VPN that you will set up with its own IP address and will give you much more control than a VPN Service. You won’t need to worry if a service is keeping logs on your activity or selling your information, because you are the one who will act as your own VPN Service. It will be as anonymous and private as you want it to be because you will be the one that is in control.

And because a VPN is just another computer to act as the go-between, you will also be the one who is making sure that the device is properly configured and is getting all the necessary security updates.

  • Any computer that can be your operating system of choice (I will be using a Raspberry Pi 4, 8GB)Your operating system of choice (I will be using Ubuntu)

  • Update your operating system by opening your terminal and running Sudo apt update && sudo apt upgrade.

  • Use the two commands below to find your IP address information. You are going to be looking for the two lines that end with scope global eth0IP aIP a show eth0

  • Use this command to download the OpenVPN scriptwget https://git.io/vpn -O openvpn-install.shAnd give the script permissions using the chmod commandchmod +x openvpn-install.sh

  • Execute the downloaded script with the command belowsudo ./openvpn-install.shThe script will ask for the IP information that we had you take not earlier. Enter the appropriate information into the appropriate fields. It is recommended you set your DNS to 1.1.1.1 or Google DNS as either this will get you better performance.

Use the following commands for Starting/Stopping/Restarting your Server.

  • IP aIP a show eth0

  • wget https://git.io/vpn -O openvpn-install.sh

  • chmod +x openvpn-install.sh

  • sudo ./openvpn-install.sh

stop server: $ Sudo systemctl stop openvpn-server@server.service

start server: $ Sudo systemctl start openvpn-server@server.service

restart server: $ Sudo systemctl restart openvpn-server@server.service

get server status: $ Sudo systemctl status openvpn-server@server.service

On the server, you will find a client configuration file called ~/desktop.ovpn. Use the Secure Copy and Paste command to transfer this file to your local desktop.

$ scp vivek@104.20.187.5:~/deskcop.ovpn

To connect to your VPN you will need to provide this file to the OpenVPN client on the device you want to connect.

  • iOS DeviceAndroidmacOSWindows 10

Linux users will use the following command…

$ sudo yum install openvpn

You will also need to copy the desktop.ovpn as shown below

$ sudo cp desktop.ovpn /etc/openvpn/client.conf

You can test your connection with

$ sudo openvpn –client –config /etc/openvpn/desktop.conf