How to Easily Create Your Own VPN Server

article by Derek Cromwell
July 21, 2019
More than 95% of Americans surveyed in a recent Pew Research poll said they’re either somewhat concerned or very concerned about how companies use their data. To protect their privacy, users are shifting to virtual private networks so they can surf and use the web anonymously without fear of their behavior (or data) being logged.

Virtual private networks continue to grow in popularity and it’s no surprise given the rising concerns about privacy breaches and data used in business.

But it’s not just about maintaining privacy.

According to Global Web Index, there’s a number of reasons for the rapid growth in VPN use. Motivations may differ from one region to another, but this list shows some of the most common reasons for adopting a VPN:

As you can see, privacy is a major motivator but it’s not the #1 driver. For many people, they want access to better entertainment content not immediately available in their region – or on the network, they’re forced to use.

Free and commercial VPN services have made it easier than ever to access the web via VPN. While there are a lot of benefits to using a trusted paid VPN service, there are other options.

In this article we’ll look at how to create a VPN server of your own, how to setup a VPN server, understanding VPN access and the benefits of a home VPN server, as well as the downside if you create your own VPN.

Commercial or Personal VPN – Is It Better To Create Your Own VPN?

Commercial VPN services have had years to perfect their services, maximizing the benefits for the individual user and delivering what most people want in a single package. VPN services have become synonymous with protecting privacy, accessing blocked content, and securing internet traffic. If that’s what you desire then the simplest method is to pay for a trusted VPN service.

But if DIY is your thing, even if you’re not that tech savvy, you can very easily set up your own VPN server to gain most of the benefits without any of the cost. Here are some of the key benefits:

The master of your data – The purpose of a VPN is to reroute your traffic in order to make the path untraceable to you, essentially protecting your privacy while securing your data. Still, some people don’t like that idea that the VPN provider is the one providing privacy and security since that’s still a 3rd party with access to all of your activity, data, and online behaviors.

In the same vein of thought, by using a VPN you’re limiting the amount of information being stored by your ISP and therefore accessible to others (such a specific region’s government.)

If that sounds like you then you could benefit from setting up your own VPN to regain control of your data.

Keeping data private – You can’t control whether or not a VPN provider shares your information with other companies (or governments.) When you have your own VPN server you know there’s no cooperation with other entities because you’re the one operating the VPN server.

Privacy has long been at the top of concerns with VPN users, which is why many of the most well-known security protocols have been developed as VPNs.

  • IP security (IPSec): IPSec is one of the most common protocols used to secure traffic online. There are two modes it operates in: Transport and Tunneling. The first mode encrypts only the data that is being transported while the second mode encrypts the entire data packet.
  • Layer 2 Tunneling Protocol (L2TP)/IPsec: The L2TP and IPsec protocols are combined to elevate data protection and encryptions. Since L2TP doesn’t provide encryption on its own it instead becomes the transport protocol (the tunnel) and IPSec is used to generate the encryption for the data being transported.
  • Secure Sockets Layer (SSL) and Transport Layer Security (TLS): SSL and TLS are the protocols used most commonly with transactions online. We see this kind of connection – a secure encrypted handshake between points – in the HTTPS on a URL. When an SSL session takes place there’s an exchange of digital authentication with the certificates of each point. This exchange produces the exchange of encryption keys, authenticates the connection, and allows it to take place.
  • Point-to-Point Tunneling Protocol (PPTP): PPTP is one of the earliest VPN protocols in use since the mid 90’s, in the early days of Windows 95. While it’s not the most secure tunneling method (it doesn’t do encryption) it’s still a strong VPN protocol and often relies on secondary encryption protocols to enhance security.
  • Secure Shell (SSH): SSH is widely used as it creates the VPN tunnels for transporting data while also encrypting that tunnel to protect the data that is carried within. To ensure security, SSH only allows for one entrance and one exit – the port of the local computer to a port on the remote server.

Depending on the type of VPN you’re using and how you connect you’re likely to encounter one or more of these protocols. One thing is for sure – even in creating your own VPN server you’ll still benefit from the same transport and encryption protocols used by commercial VPN services.

In fact, that control over setup and security is one of the advantages of setting up your own VPN server. You get to choose all the configuration options, ports used, what data is logged, authentication standards and security, etc. Your VPN is as secure as you decide to make it, giving you far more control.

No bandwidth sharing – With most VPN services you’re sharing an IP address with other VPN users. That means you’re also sharing bandwidth. Some VPN services, especially the free ones, even put caps on bandwidth for certain types of activity or throttle your connection if you exceed a data cap. If you’re using a VPN connection for general browsing you’re not likely to encounter much of a difference in speed, but then again if you’re running your own VPN server you never have to worry about whether or not your bandwidth will be throttled. With your own VPN server there’s no sharing bandwidth.

Multifunctional – A cloud-based server is good for a lot more than just a VPN. In fact, you can use it for a variety of other functions while the server is also operating as your VPN. There’s functionality for everyone from hobbyists to professional techy, including:

  • Running a website
  • Setting up a blog
  • Storing private (non-public) copies of your files to create a redundant backup
  • Establishing your own RSS reader
  • Setting up your own bookmark keeper so you don’t have to rely on 3rd party sites to store your articles and links
  • Managing your own gaming server (like Minecraft, or Ark)
  • Operating a private sandbox environment for website, app, and software testing
  • Manage documents and photo albums

There’s no limit save for the limitations placed on usage by your server host. Compare that to the price you pay to a VPN service with the only benefit being the VPN connection – no bonus use.

Not blacklisted – it’s getting common for services like Netflix and other sites to ban well-known VPN services. It’s progressed to the point now where outside parties have convinced the major app stores to remove some of the most popular apps. Apple recently started removing and banning countless popular VPN apps at the request of China.

Since your own VPN server isn’t likely to be on any blacklist, you shouldn’t have any issue accessing sites that otherwise block known VPN users/services.

Is There a Downside to Running a VPN Server?

There are a few things to keep in mind if your goal is to create your own VPN server. These might not be a deal breaker, but it’s best to make informed choices when it comes to things like your privacy and data security. Here are some disadvantages to note:

Staying anonymous – Anonymity may not be possible. If you’re using a cloud-based server owned by another company your data may be technically private but the server host still has your contact info and billing data on file.

Bandwidth – The host you use for your VPN might limit the total bandwidth you have available during a billing cycle. This might only be an issue if you plan on streaming a lot, doing large downloads, are participating in P2P file sharing/torrenting.

Feature limitations – Unless you’re tech savvy and can add the features in on your own, your VPN server won’t have some of the perks of a paid VPN service. This could include things like malware blocking.

Regional limitations – One of the major perks of a VPN service is getting around region-based content blocks. Unlike a VPN service with servers in countries around the world, your VPN server is in one location. So, you won’t be able to access content that might be limited to specific regions and there’s no way to switch to servers in different countries/locations.

Different Options for Setting Up Your Own VPN Server

Don’t let the disadvantages turn you off. Creating your own VPN server provides much of the same anonymity and protection as a paid VPN service. It can also be extremely simple to setup depending on the approach you take.

There are a few different ways to setup your own VPN server, including:

  • Joining a network of independent VPN servers
  • Configuring your PC to act as a VPN
  • Configuring your router to act as a VPN server
  • Setting up a VPN server in the cloud

Each has its own difficulty level and degree of involvement. The most involved approach is to configure a standalone computer you own to work as your VPN server. This can be fairly complex even for a tech-savvy person.

Following that, a simpler approach is to skip starting from scratch and instead purchase a router with built-in VPN capabilities.

While many newer routers still include VPN support there’s a fair bit of legwork involved in completing the setup.

If you’d prefer to get your own VPN setup as quickly and easily as possible then a cloud-based VPN server is the best approach.

Cloud computing has advanced to the point where the technology offers guaranteed uptime and high bandwidth all at an affordable price. Some of the most well-known cloud-hosting providers have spent in the billions to bring cutting-edge technology to individuals as well as businesses.

Amazon’s AWS service is just one example. The brand’s data centers are massive with multiple levels of redundant security.

The company also carries multiple security certifications including SAS 70 Type II, PCI DSS Level 1, HIPAA, FISMA Moderate and ISO 27001 among other well-recognized certifications.

Despite that, platforms like Amazon AWS keep costs incredibly low making it easy to sign up and create a cloud-based VPN on its servers without breaking the bank. With most cloud-based platforms your cost could be equal to that of a commercial VPN service but it’s likely to be less.

Even better, Amazon AWS is among many cloud-based platforms that offer support for VPN.

Amazon’s AWS specifically offers support for the OpenVPN protocol, one of the fastest and most stable encryption protocols currently available.

Here’s how to quickly create your own VPN using Amazon’s AWS. There’s the manual method used to manually create an instance on AWS and – depending on the server host and protocol – there’s a one-click method.

Let’s start with the manual method first and the simple steps to get a VPN setup:

Step 1: Register for an account with Amazon Web Services. Amazon will ask for a credit card number when setting up your account, but there are no charges unless you exceed the limits of the free plan (or register for one of the premium paid plans.)

Step 2: Setup your billing information and choose a support plan. Amazon AWS offers a few plans tailored to suit your usage needs. You can always start with the Basic Plan (free).

Step 3: In the AWS services search bar type in EC2. This will open the EC2 dashboard. From this dashboard you will be able to launch a virtual server (Amazon EC2 instance)

Step 4: From the EC2 dashboard click on and select “Launch Instance”

Step 5: Choose the first option that’s a free tier. This should read as Amazon Linux AMI

Step 6: Choose the free tier (usually auto selected) t2.micro

Step 7: Click on “Review and Launch” at the bottom of your page

Step 8: You’ll see a section for Security Groups with a link “edit security groups” – click that link

Step 9: In the edit window click on “Add Rule”

Step 10: When adding a new rule click on the drop down under “Type” and choose “Custom UDP”

Step 11: Set the Port Range in your new rule to “1194”

Step 12: Set the source option to “Anywhere” for your rule

Step 13: Click launch

Step 14: You’ll be prompted with a menu to select an existing key pair or to create a new one. Since this is the first time you’re setting up a VPN you’ll choose “Create a new key pair.”

Step 15: Name your key pair then click on “download key pair.” Be sure to store your key pair somewhere safe.

Step 16: Click “Launch instances”

Step 17: Click on “View instances” from the launch status screen and make note of the IP address

Connecting to Your VPN on AWS

Once the instance is launched you still need to connect to it. You can use SSH on your computer to easily tunnel into your VPN by using basic SSH software and the private key pair you’ve created. Here’s the simple steps to follow to setup your SSH tunneling:

To begin, download the PuTTY and PuTTYgen tools from this page:

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Step 1: Launch the PuTTYgen tool. In the Key Generator, click on “Conversions” in the top menu. In the drop-down menu that appears, click “Import Key.”

Step 2: Select the key file you previously generated and click “open”

Step 3: Once the key file is loaded, click the “save private key” button and save this private key to a safe place

Step 4: Close the PuTTYgen tool and open the PuTTY client you downloaded. In the Hostname (IP address) field, enter the IP address for your VPN instance.

Step 5: On the left navigation panel navigate the collapsible menus to SSH -> Auth

Step 6: Under the “Private key file for authentication” section click on “browse” and select the private key file that PuTTYgen generated.

To connect to the server just click “open.” You can streamline this process in the future by saving your settings as a profile.

The One-Click Method

Because Amazon offers direct support and integration for OpenVPN there’s also a much-simpler one-click method to getting your instance configured.

Step 1: Create your Amazon AWS account

Step 2: In the AWS marketplace type “OpenVPN Access Server” into the search field

Step 3: In the results that appear, select the instance size you want to use. Note: the most convenient and easiest instance to configure are those with a “connected devices” suffix.

Step 4: Review the instance information on the page, select the region you would like the instance in, and click “Continue” to launch the instance. Once you verify the pricing details you can click “Launch with 1-Click.”

Even with the 1-click method, you’ll still need to follow the previous steps above for using PuTTY to connect to your VPN.

While the 1-click method is arguably the fastest and most convenient approach to configuring a VPN server on AWS, the manual method is relatively fast and simple to complete as well. If you have any trouble with configuration, OpenVPN shares its complete AWS setup guide which you can find here.

Other Solutions for Private VPN Servers

Here’s our list of the top solutions:

  • OpenVPN
  • Algo VPN
  • Psiphon
  • Tunnelblick
  • SoftEther VPN

Conclusion

It’s common to assume there’s a significant technical barrier and learning curve with setting up a VPN server. Thankfully, OpenVPN and other solutions coupled with supporting cloud servers make it easier than ever to create your own VPN server – even with very little technical know-how. Even if you’ve never run a cloud-based server, this guide and similar guides from solution providers provide everything you need to protect your privacy and encrypt your data at a fraction of the cost.

1 comment
Rethabile Radebe says:

Join the discussion…
I want to know how to create a VPN app