Running your own VPN (Part 1)
So you want to feel safe surfing in cafes, hotels and conference centres, sure that people will not be able to see what you are doing online. Yet you are smart enough to know that there is nearly equal risk in making an uninformed decision on which VPN service to get. Running your own service is a tempting option if you have reasonable IT skills, especially if you are familiar with Linux.
A few things you need to consider when starting your own VPN server.
- What country do I want to host it in?
- Which service provider do I trust?
- What will it cost?
Let's start with the easy part
Running a small VPS will cost you between $0 to $5 per month and taxes. This is of course effected by which providers you trust and what countries they have data centres in. But this is about the industry standard price currently for a reasonable VPS (virtual private server).
You should select the best possible jurisdiction that is also near you on the internet. Some far away countries may be sitting on a fat cable and have good connectivity. This can be your own country or one just far enough that it will at least require coordination for authorities to find you. The point is not add too much latency to your connection.
In this case you are not hiding form the law. As you are the owner and operator of the server and sole person connecting to it, it will be very easy for authorities to track you down. This guide is not for people who need to hide from legal action or targeted government surveillance. Though for criminals, you will look like one of thousands of popular servers in a massive data center.
Speaking of data centres, these cheap servers are often used for testing, VPN services and weirdness, which some times will lead you to more captchas or even site level blacklists.
Providers
I have listed providers that are well known and used by the tech community. They all have very similar pricing with only slight variations on features. I have personally used all of these services and have included my referral codes in the invite links, which will benefit both of us if you decide to get a server. In this case you still need to think a little about how much you trust the provider, but the playing field is much better than when you are choosing services that will for sure see your traffic. Remember, these servers are used for many things. Most of the basic packages come with a few terabytes of traffic per month, which has been enough for me so far.
Upcloud
UpCloud is a Finnish company that offers low cost basic packages and larger custom server packages, much like the others, but with few positive improvements. Reliable jurisdiction, high SLA and unbeatable I/O with faster than SSD performance.
Linode
Linode is a hacker favourite, in the good sense of the meaning. They have a good offering and a truly global reach with their data centres. Worth looking into if you want servers on multiple continents.
Digital Ocean
Digital Ocean is a well known provider of cheap VPS services. They offer options for building clusters with Docker or Kubernetes and also have a wide selection of server packages.
Amazon AWS free tier
If you are eligible for the AWS free tier, you can actually run an OpenVPN instance on that for the duration that the free tier applies. I've used this to set up temporary VPN servers or www servers when needed.
Part 2: How to actually build a private VPN service?
I will write some instructions on how to get started on this soon.