With each passing year, it looks like more and more flavors of Linux appear – optimized for all kinds of purposes. Well, know that no matter what flavor of Linux you use, you can reap the numerous benefits of a VPN service. There are many ways to install a VPN on Linux, but it all comes down to three methods. You can use a Linux VPN app supplied by your VPN service, use Terminal to set up an OpenVPN connection, or use Ubuntu’s Network Manager. These are three very different methods, but they all take you to the same goal. So, let’s talk about how to set up a VPN on Linux in 2020.
We strongly believe that when writing installation guides like this one, staying away from general descriptions is always beneficial. That’s why we’ll focus on a recommendation based on our hands-on experience, and that would be none other than ExpressVPN. This truly is the best VPN available right now, and this applies to Linux users as well. You get plenty of servers, several VPN protocols to choose from, and you can decide which installation method works for you. Of course, this isn’t where your options stop, as we’ve compiled a list of the best VPNs for Linux. However, keep in mind that VPNs come with different installation methods, so it’s always best to contact your VPN is you pick something other than ExpressVPN.
So, here are 3 different methods to set up a VPN on Linux in 2020:
- Method #1: Use Your VPN’s Linux Application
- Method #2: Set Up a Linux VPN via Terminal (OpenVPN)
- Method #3: Configure a Linux VPN via Ubuntu Network Manager
Method #1: Use Your VPN’s Linux Application
For this method, you need a VPN that provides a Linux application. Our recommendation is to use ExpressVPN, as it comes with applications for Ubuntu, Fedora, Arch, and other Linux distributions (for both 32- and 64-bit). So, here’s how to set up a Linux VPN by using native software.
- Once you sign-up for a new account, you’ll get to access your account on ExpressVPN’s website. Open its home page, click on “My Account” and supply your credentials. Once you get to your account dashboard, click on the “Set Up Other Devices” button. Then, choose “Linux” on the left side and pick your Linux distribution on the right. Download the corresponding file to your computer. Make sure to keep this page open, as we’ll need the information found here soon enough.
- Now, you need to use the Command Line (Terminal) to complete the installation. You first need to open the package you’ve just downloaded. By default, the file will be in your Downloads folder (accessible via the “cd Downloads/” command). Now, open the file using the “sudo dpkg -i [installer filename]” command (for Ubuntu, Mint, and Debian distributions). You can use the “sudo yum install [installer filename]” for Fedora and similar distributions.
- Then, open a new Terminal window and run the “expressvpn activate” command to activate the VPN application. You’ll be asked for an activation code, so go back to ExpressVPN’s website (the page you left open in the background) and paste the activation code found there. You’ll also be asked to send anonymous data like crash reports and speed tests, which you can decide to allow or to disallow.
That’s it! You’re now free to use ExpressVPN’s command line-based app. To connect to the nearest server based on your location (or the previously used server), use the “expressvpn connect” command. To disconnect, go with “expressvpn disconnect.”
As you can imagine, you can also connect to other ExpressVPN servers. For this purpose, you can check out the available servers using the “expressvpn list” or “expressvpn list all” commands. If you’d like to connect to a particular server, enter the “expressvpn connect [LOCATION CODE]” as in “expressvpn connect nyc.” You can also connect to a specific country, for which you can use the following command: “expressvpn connect Germany.”
Finally, we also recommend using the “man expressvpn” command if you’d like to reveal all of ExpressVPN’s commands. This is where you’ll learn how to check the status of your VPN connection, switch to a different VPN protocol, and more.
Method #2: Set Up a Linux VPN via Terminal (OpenVPN)
This method requires you to use a VPN that supports the OpenVPN protocol. Once again, we recommend using ExpressVPN for this purpose. Here’s how to install and active OpenVPN on your Linux computer, and then connect to a VPN server.
- First, you need to obtain your OpenVPN configuration files. This means that you need to access your user account dashboard on ExpressVPN’s website (once you subscribe to the VPN, that is). Then, click on “Set Up Other Devices” and pick “Manual Configuration” on the page that should appear at this moment.
- Check if “OpenVPN” is selected on the right-hand side. Now, this is where you’ll find your OpenVPN username and password, so make sure to keep this page open until the end of this process. Take a look below as well, which is where you’ll find individual OpenVPN files for each ExpressVPN’s server. Feel free to download any file based on the server you’d like to connect to later on.
- Now, we need to install OpenVPN. Use the “sudo apt-get install -y openvpn” command. Then, enter the configuration screen by using the “sudo openvpn –p /etc/openvpn/update-resolv-conf –down /etc/openvpn/update-resolv-conf –script-security 2 –config” command. This is for Ubuntu Linux, while other distributions can use the “sudo openvpn –config” command.
- Finally, you need to drag and drop the recently downloaded OVPN file onto the Terminal window. The path will be automatically captured.
To connect to a server, you need to press “Enter” once the path (described above) is loaded. You’ll see a string of commands, and the final one should say “Initialization Sequence Completed,” which means that your VPN connection is live now. To disconnect, simply exit the Terminal window. Keep in mind that the Terminal window must be open as long as you wish to use your VPN. You’re free to minimize the window, but don’t close it.
Method #3: Configure a Linux VPN via Ubuntu Network Manager
Ubuntu’s Network Manager is a handy utility for controlling your Web connectivity. As such, it supports installing and managing VPN connections. However, keep in mind that you need an OpenVPN-powered VPN for this purpose, and we highly recommend ExpressVPN. Here’s how to set up a VPN on Linux via Network Manager.
- We’ll assume that by now, you have your ExpressVPN credentials. So, go ahead and download the required VPN configuration files. This is done by logging to your account on ExpressVPN’s website and then clicking on “Set Up Other Devices.” A new page should open, where you need to select “Manual Configuration” and then take a look at the right side of the page.
- At the top, you should see your OpenVPN username and password, so make sure to keep this page open until we’re done with this process. Then, take a look below, and you’ll see a list of servers offered by ExpressVPN. Pick any server that you’d like to use and click on its name. This will download an OVPN file to your computer. Also, make sure to scroll down until you see the “Optional” card, from where you can download a ZIP file. Make sure to download this file, as we’ll need these certificates and keys.
- Once you unzip the file you’ve downloaded, launch a new Terminal session. Now, run the “sudo apt-get install -y network-manager-gnome” command. Once you install the Network Manager, you’ll see its icon on your desktop bar notification area. Click on this icon and then select “Edit Connections.”
- A new window will appear. You need to click on the “Add” button and then select “Import a saved VPN configuration.” Finally, click on the “Create” button, and you’ll get to pick the OVPN file you’ve previously downloaded. Then, you’ll need to manually import the User Certificate (client.crt), CA Certificate (ca2.crt), and Private Key (client.key) files from the previously unzipped file.
- Using this same window, make sure to set “Authentication Type” to “Password with Certificate (TLS)” and then input your OpenVPN username and password (from ExpressVPN’s website).
- Click on “Advanced” and select the “General” tab. Enter “1195” in the field that says “Use custom gateway port.” Also, make sure to check the following fields: Use LZO data compression; Use customer tunnel maximum transmission unit (1500); Use custom UDP fragment size (1300); Restrict tunnel TCP maximum segment size; Randomize remote hosts.
- Using the “Security” tab, select “AES-256-CBC” for the cipher, and “SHA-525” for the HMAC authentication. Then, click on the “TLS Authentication” tab.
- Using this tab, check the box next to “Use additional TLS authentication” and then select the “ta.key” file from the ZIP archive you’ve previously downloaded. Set “1” for the “Key Direction.”
That’s it! You are now free to connect to your VPN server by clicking on the Network Manager icon. Go to “VPN Connections,” and your newly added server should be waiting. Also, keep in mind that you can repeat the procedure explained above to add additional servers.
Finally, we’ve reached the end of our guide on how to set up a VPN on Linux. As you can see, Linux users have several installation methods to pick, depending on the level of complexity you seek. If you encounter any problem along the way, feel free to post a comment below – and we’ll do our best to assist you in a timely manner.