Setting Up Your Own Wireguard VPN on Linux

VPNs are a way to protect your internet traffic and keep your identity secret. When you connect to a VPN server, your internet traffic is encrypted through a tunnel. This tunnel encrypts your data so that no one can view it.

Let’s take a look at the reasons you should use a VPN.
A VPN will alter your IP address. This is a unique number that distinguishes you and your geographic location. The VPN creates a virtual IP address between your computer’s server and your computer. It will allow you to search the internet like you are accessing from a different device located somewhere else, even another country.

A VPN allows you to hide your IP address from any websites, programs, or applications that might track you. VPNs can block your internet carrier and network carrier, as well as anyone else listening to or watching your internet activity.
A VPN can prevent security breaches such as packet sniffing, rogue WiFi networks, and man-in-the-middle attacks. If you find yourself using an untrusted WiFi in a coffee shop, you don’t know who might be monitoring your online activities. VPNs, however, protect your anonymity.

There are many VPN providers but most consumers don’t know that you can create your very own VPN service. You can install your own VPN on any Linux instance using the methods we describe in this article. Let’s get started installing VPN right now. We will be discussing a simple method to install and use your own VPN in this article.

Installing Wireguard On Linux

Wireguard is a blazing fast VPN option, it is secure, open-source, and reasonably easy to install. Although there are different ways to install Wireguard on Linux; we will lay out a simple way using a script. This can be done on VPS (Virtual Private Server) providers like AWS, Linode, or Digital Ocean. The same methods could also be used on a computer or even Raspberry Pi.

This method uses a Bash Script from Angristan on Github to install Wireguard on multiple distributions of Linux including:

  • Ubuntu 16.04 or later
  • Debian 10 or later
  • Fedora
  • CentOS
  • Arch Linux

From the command line of Linux with root access type:

curl -O
chmod +x


After pasting or typing above code, hit enter till screen says: ” I need to ask you a few questions before starting setup”

It will ask you for your preferences on the interfaces, ports, IP Addresses, and DNS addresses. If you don’t care or don’t know what this means just keep hitting enter. By default DNS uses Adguard which is good at blocking ads and trackers on website you visit.

After these questions are answered the script will take you to client setup where you can set the client name and IP addresses.


When you have set these options you will be taken to a client setup screen with QR code and location of client setup files.

Its really easy to scan the QR code into a Wireguard Client on your Android Phone for easy setup of the connection, or the command line tells you the location of the config file to import into a devices Wireguard client. If you are setting up multiple devices Wireguard will only work correctly with multiple clients simply run the script again and select add new client. That’s it you now have your own VPN service though Wireguard.

Leave a Comment