How To Make My Own VPN
There’s probably a better option not so overengineered so I wanted to open this by saying I’m accepting to new ideas.
My goal is to watch Netflix USA from Costa Rica. I have a house in US with 50 mb down and 30 up. This makes me wonder if there’s some way of using my ip from US to watch Netflix in CR? I’m aware I can just stream the video but I’d like to use a more efficient and elegant solution. I’m studying computer programming but I’ve never done anything related to networking stuff apart from using APIs. I say this last to let you know I’m not looking for a complete solution from everyone, just getting a headstart by letting me know what I have to go and research would be great since I don’t wanna start by typing in Google “how a VPN works”. All things said, if there’s already a free software which does this it would be awesome hahah
Edit: had my 15 y/o brother install raspbian in a VM with the tutorial posted and my help. Everything works great and I can happily watch the office now.
Just waiting for a raspberrypi I ordered since I have to ask him to turn on his laptop when ever i wanna use the vpn. Assume this worked in the raspberrypi if i don’t update the post and you wanna follow the same steps i did.
Why Do You Need Your Own VPN Server
We usually subscribe to a commercial VPN service and connect to one of their remote VPN servers closer to our location. Sometimes you may be using a free VPN that may not be as secure as you expect and opt to subscribe to a paid VPN service for better privacy.
But, you do not necessarily need to pay for a VPN because you can also create your VPN server at your home. Then you can securely connect to your home network when you are away from home.
Setting up your VPN server is cheaper than paying for a premium VPN service as most methods like hosting charge for the compute services you use. Moreover, such VPNs are disposable, meaning that you can terminate your server after you have finished using it.
In addition to that, it will be secure than commercial VPNs because you are not providing your data to an external service that could be keeping your access logs and share with third parties for many purposes.
There are several ways you can achieve this. But, you need some technical knowledge on setting up a home VPN on your own, as it can be a tricky task.
In this guide, we are going to explain different ways you can create one. We will start with the most cost-effective method: turning your computer into a VPN server.
Bonus: Host Your Own VPN Server Elsewhere
Theres one more do-it-yourself option thats halfway between hosting your own VPN server on your own hardware versus paying a VPN provider to provide you with VPN service and a convenient app.
You could host your own VPN server with a web hosting provider, and this may actually be a few bucks cheaper a month than going with a dedicated VPN provider. Youll pay the hosting provider for server hosting, and then install a VPN server on the server theyve provided to you.
Depending on the hosting provider youve chosen, this can be a quick point-and-click process where you add the VPN server software and get a control panel to manage it, or it may require pulling up a command-line to install and configure everything from scratch.
When doing setting up a VPN at home, youll probably want to set up dynamic DNS on your router. This will give you an easy address you can access your VPN at, even if your home Internet connections IP address changes.
Be sure to configure your VPN server securely. Youll want strong security so no one else can connect to your VPN. Even a strong password might not be ideal an OpenVPN server with a key file you need to connect would be strong authentication, for example.
Don’t Miss: How Do I Know If My VPN Is Working
Creating Your Own VPN
There are many projects out there that let you create your own secure tunnel, and one of the best and most popular is Algo VPN. Basically, its a set of scripts that enables you to set up an encrypted connection to a cloud server.
Algo VPN was designed by the folks at Trail of Bits, and its meant to be easy to use while at the same time offering maximum security. One great thing about Algo is that you can use it to create a disposable VPN.
Still, there are other options like Streisand, which even helps you set up an integrated Tor bridge among a few other privacy-focused features. For this guide, we will however stick with Algo VPN as its widely accepted as the best and most secure.
Apart from Algo, you will also need to have a cloud server that you will install your VPN on. You can choose one of the following cloud services that Algo supports:
Your Own VPN Server: The Cons
Few locationsSign up with a commercial VPN service such as ExpressVPN and you get access to servers in countries around the world. Go to a web host and it’s usually too expensive to buy more than one or two, and these may not be in the countries you need.
Short on featuresA starter VPN server only gets you the most basic features. A single protocol , with limited apps, maybe not even covering all the platforms you need.
Easier to trackUsing the same server and IP address for every connection means it’s simpler to websites to track you. And beware, if you’re doing something which might be investigated later, such as downloading torrents, it’s also easier to link the IP address back to your server.
Little supportUse a regular VPN service and if it gets blocked by a streaming platform, a good provider buys some unblocked IPs or takes other actions to restore access. Buy a server from a web host and if you’re blocked, and they won’t care at all – they’re selling you a web server, not a VPN service.
Don’t Miss: How To Install Free VPN On Xbox One
Setting Up Your Own VPN Server
As Woz commented on my previous VPN article before the Senate debacle, you could be running your own VPN server:
But if you cant trust your home connection or you have a slow upload speed on your home connection, its not really practical.
I played around with Algo VPN, a set of scripts that let you set up a VPN in the cloud in very little time, even if you dont know much about development. Ive got to say that I was quite impressed with Trail of Bits approach.
Algo VPN automates the VPN installation process so that you dont have to establish an SSH connection with a server and run complicated command lines.
It takes three command lines to install the dependencies on your computer. After that, you should sign up to a cloud provider like DigitalOcean and run the Algo VPN setup wizard in your terminal. Im not going to detail the installation process as it can change after I publish this post, but everything is explained on the official GitHub repository.
On DigitalOcean, you dont have to create and configure your own server. Algo VPN takes care of that for you as it uses DigitalOceans API to create a server and install everything.
So heres a quick recap:
Creating A VPN Server
To create a VPN server in Windows, youll first need to open the Network Connections window. The quickest way to do this is to hit Start, type ncpa.cpl, and then click the result .
In the Network Connections window, press the Alt key to show the full menus, open the File menu, and then select the New Incoming Connection option.
Next, select the user accounts that can connect remotely. To increase security, you may want to create a new, limited user account rather than allow VPN logins from your primary user account. You can do that by clicking the Add someone button. Whatever user account you choose, ensure that it has a very strong password, since a weak password could be cracked by a simple dictionary attack.
When youve got your user selected, click the Next button.
On the next page, select the Through the Internet option to allow VPN connections over the Internet. Thats likely the only option youll see here, but you could also allow incoming connections over a dial-up modem if you have the dial-up hardware.
Next, you can select the networking protocols that should be enabled for incoming connections. For example, if you dont want people connected to the VPN to have access to shared files and printers on your local network, you can disable the File and Printer Sharing for Microsoft Networks option.
When youve got things set up, click the Allow Access button.
Also Check: How To Setup VPN On Att Uverse Router
Why Do People Use VPNs
Many people use VPNs as a way to add extra levels of security while online. They are particularly popular with journalists, lawyers, and activists. However, more and more regular people are using VPNs as a way to safeguard their information and activities while online. VPNs are also commonly used for people to gain access to their favorite streaming services while overseas . Connecting to a public Wi-Fi network via a VPN will provide you with extra security and protect you from anyone trying to spy on your activity.
How To Setup Your Own VPN Server In Cloud
A VPN not only masks your location but also encrypts the connect and make it almost impossible for the outsiders to track what you are browsing. Additional, depending on where the VPN server is located, you can easily access geo-restricted websites. There are several VPN services, both free and paid. However, the one problem I always face when using these third-party VPN services is that they are pretty slow. For instance, I have a decent 30 Mbps connection at my home. But, when I connect to a third-party VPN service, the connection speed drops to anywhere from 1 to 5 Mbps.
One of the reasons for this is that the VPN services stuff as many people as possible in a single server and all those users should share the available bandwidth. Additionally, when using a third-party VPN service, you have no control over how they use the data they gather about you.
To deal with all this, you can how to set up your own VPN server in the could and connect to it. Do keep in mind that creating your own VPN server is not free. At the very least, you need to pay $5 per month per server which gives you 1TB monthly bandwidth.
Read Also: How To Install Pia VPN On Firestick
How To Set Up A Personal VPN Server On Digitalocean
One of the triggers for writing this article was seeing some online claims that it is quick and easy to set up a VPN Server on a cloud service. With people claiming you could have a VPN Server up and running in 10 minutes for only a few dollars a month , we thought we should investigate.
What we found was not encouraging.
The approaches we found a FOSS VPN Server called Algo. Algo seems to be a great software and works as advertised. It provides encrypted communications between your devices, and the Algo VPN Server running on Amazon EC2, DigitalOcean, Microsoft Azure, and other similar services.
But it doesnt give you anonymity, and it doesnt support the commonly-used OpenVPN protocol.
The problems come in with fast and easy claims. Unless you are a computer tech with Linux experience, setting up Algo isnt easy or fast. It takes around 20 steps, many of which are done on the Linux command line. We had an experienced engineer set up Algo on DigitalOcean, and it took about 45 minutes.
To give you an idea of what you will need to deal with if you decide to install Algo on a cloud service, here are selected screenshots of the process.
First, you need to set up an account at the service :
Clicking the Get Started with a Droplet gave us the options shown in the next screenshot. We Ubuntu 18.04 by clicking the relevant button and selecting the plan we wanted:
With all that out of the way we launched the Algo installer, and selected the DigitalOcean option:
How To Choose A VPN
When we review VPNs, there are a few key metrics we look for. For one, a VPN service should allow you to connect at least five devices simultaneously. The best services now easily surpass this requirement. Another is whether the VPN service allows BitTorrent or P2P traffic on its serversif you’re planning to use either of these technologies. Nearly VPNs allow them on at least some of their servers, but you don’t want to run afoul of the company to which you’re paying a monthly fee.
Speaking of fees, the average cost of a top-rated VPN service is $10.21 per month. A VPN service that is charging more per month isn’t necessarily ripping you off, but it should offer something significant, such as a great interface or lots of server locations to sweeten the deal.
You can usually get a discount if you buy longer-term contracts. The average price of an annual VPN subscription, for example, is $71.58. However, we recommend avoiding long commitments until you’re certain that you’re happy with the service. Start instead with a short-term subscription or, better yet, a free subscription so you can test a VPN in your own home.
The most important thing about a VPN is trust. If the location, pricing, or terms of service don’t fill you with confidence, try another service. In all our VPN reviews, we make sure to report on all of these issues and highlight anything we think is confusing or problematic.
Recommended Reading: Openvpn Xbox One
Setting Up A VPN In Windows 10
The first step is to create a VPN profile which youll fill this out with details from your particular VPN service.
- In the fields on the page, select Windows for your VPN provider. Give your VPN a name under Connection name. Enter the server name or address, the VPN type, and the type of sign-in info.
- Add a user name and password for extra security . You can choose to have the computer remember your sign-in info.
- To connect to your VPN, go back to Settings > Network & Internet > VPN. Click on your VPN name.
- If you want, at this point you can select Advanced Options to edit the connection properties, clear your sign-in info, or set up a VPN proxy.
- Select Connect and enter a password if youve set one.
Adjust The Port And Protocol
Now, we need to change the port that OpenVPN will use. By default, it uses port 1194 and the UDP protocol. To make the VPN more inclusive, lets use port 443 which is rarely restricted by firewalls. Search for the #Optional! line and change the port to 443.
After that, change the protocol from UDP to TCP
After that, save and close the file.
Also Check: Can I Create My Own VPN
Create An Incoming VPN Connection In Windows
To configure the Windows VPN server, you do what is described by Microsoft as creating an incoming connection. This will be the server or host of the VPN. Among other things, youll specify the users you want to be able to connect. Follow these steps to create an incoming connection:
Now you need to access the properties of the newly created incoming network connection and define the IP address range for VPN clients:
Choose Your Domain Name
You’ll most likely want to choose a VPN related domain name. I was lucky enough to find an exact match domain name for my chosen country, but you may need something with 2 or 3 words.
I personally use Namecheap for all my domains, as they offer the best price.
You definitely don’t want to host your VPN service with Namecheap, so choose the domain name only and use Cloudflare nameservers with your chosen web host.
Also Check: How To Install Pia VPN On Firestick