Skip to main content

7 Best VPN For Linux In 2018 (Must Try)

best vpn for linux

Do you want to surf the web without worrying about security or country restrictions?

Linux is a privacy-oriented OS, not just because of its open source nature but also because it allows you to choose a distro whose security features match your privacy needs. Still, you may need to add an extra layer of security to further enhance your privacy around the internet.

That’s where a VPN comes in

VPN is short for virtual private network. Besides keeping your internet connection private, a VPN helps you unblock content and find your way around censored material. In other words it helps you surf the web without worrying about security or geographical restrictions.

Having a VPN on your Linux machine is one thing, knowing how to configure it is another. If you are used to Windows or Mac OS you may find it a bit confusing to configure a VPN on your Ubuntu, OpenSuse, Gentoo or pretty much any Linux distro.

Don’t worry, you will get all the information for setting up a VPN on this page, from start to finish.

A Closer Look at VPN

Installing a VPN on your Linux machine is the first step towards ensuring your privacy and security are well protected. The second step is understanding exactly how the VPN works. If you know its ins and outs you will be better placed to customize it according to your needs. Plus you will understand the potential loopholes of a VPN client.

Generally, your internet connection consists of a private network (your internal network) and a wide area network (WAN or the external network). Now, when you send data from your computer to the external network directly, the data go in the open, i.e. anybody with a little skill can access, collect and use them however they want.

Why would someone need your personal information? An advertising agency may use it for target marketing, a hacker may want to blackmail or steal from you, or a random person may just be interested in knowing what you do online. That’s to say there are dozens of reasons why people collect other people’s data.

what is vpn

Keep in mind that the internet is simply a collection of servers that store websites. Besides feeding website data to whoever requests for it, they also communicate amongst themselves and by doing so they share your data with each other. By the time you close an internet session your information could be distributed in various servers across the globe. Long story short, connecting to the public network directly is absolutely bad for your privacy.

And that’s where a VPN comes in. It creates a virtual network that you can use to transfer data between the internal and external networks anonymously. It uses a combination of encryption protocols and dedicated connections to create virtual P2P connections.

Although it’s technically a WAN, a VPN’s front end retains the same security, appearance and functionality of your private network. But details of your private network will not be visible online, not even to destination websites. Instead, anybody who tries to track you will only be able to see the VPN server as the source of traffic, not you.

Best VPN For Linux

Let’s get started with the 7 best VPN for Linux.

PIA – Private Internet Access

private internet access pia

PIA is one of the best and most popular VPNs today. It is user-friendly and supports connection of several devices simultaneously. Designed with OpenVPN encryption and a 256 bit AES key, this VPN guarantees stability, high speed and 100% safety.

You can use this software for both RedHat and Debian distributions. Although it’s not a free product, the price is quite affordable. A one year subscription will cost you just $3.33 per month. Even better, you can take advantage of their 2-year plan and enjoy a lower rate of 2.91 per month.


express vpn


ExpressVPN isn’t as user-friendly as PIA because the former lacks a graphic interface. Instead, it allows you to choose your settings using a command line. Sounds hard? It’s actually not, or at least it’s not as hard as setting up a VPN from scratch.

Still, ExpressVPN is a favorite for many Linux users because of its stability and compatibility. It works on Ubuntu, Fedora, Debian, CentOS and more or less every other Linux distro. With servers in over 100 countries, you can easily switch its endpoints (between UDP and TCP) over the OpenVPN protocol.

Although it scores highly on speed, privacy, flexibility and customer support, this VPN is slightly costlier than most other options. A 6-month subscription will set you back $9.99 per month while a 12-month subscription will cost you $8.32 per month. The good news is that you can use it on three different devices simultaneously.


air vpn

This is one of the best VPN for Linux I have used.

The beauty of AirVPN is that you can use it either through a GUI or command line – whichever you prefer. Either way, the client allows you to connect via OpenVPN over SSL or SSH. Besides, you can activate a kill switch and forward your traffic through alternative ports.

That high level of flexibility is what makes AirVPN the preferred VPN for many Linux users. Plus it works on virtually all distros, so there’s little to no chance that you will encounter compatibility issues.

In terms of price this VPN client falls under the mid-range category. A one year subscription costs 5.20 per month. If you want to try it for a few days you can pick a 3-day offer that costs $1.15 only.


buffered vpn

Developed in Hungary, Buffered has servers in 45 different countries. This easy-to-setup VPN offers a high connection speed and no limit on traffic. It works on most Linux distros including Ubuntu, Fedora and Debian. Additionally, you can connect up to 3 different devices simultaneously.

Buffered has three packages for you to choose from. The first is a monthly plan that costs $12.99 and billed each month. Their bi-annual plan costs $9.99 per month and is billed after every 6 months. The final plan is an annual package that goes for $7.62 per month. The latter comes with a one-month discount, so you get 13 months of guaranteed security.


mullvad vpn

Mullvad makes a great choice if you are looking for an open source Ubuntu/Debian client. It’s based on a GUI and packs a ton of helpful features, including a kill switch, IPv6 routing as well as an IPv6 and DNS leak protection.

Perhaps the best thing about this VPN is that it doesn’t keep any logs, not even connection logs. That’s one of the reasons why it passes as a very reliable VPN for Linux. Besides, you can connect up to 3 devices and use port forwarding to evade firewalls.

With a price plan of just $5 per month, Mullvad makes a great pick if you are on a tight budget.

It’s Hidden

its hidden vpn review

So far we’ve only looked at paid VPNs, now it’s time to highlight a few free ones. The first is ItsHidden, a client that is best used for testing. It’s not the most secure because it uses PPTP. The privacy policy states that the client doesn’t record logs of your internet activities. That means your data can’t be accessed, at least not from the server. Still, you don’t want to make this your go-to VPN.


security kiss vpn review

You also don’t want to use SecurityKISS as your main VPN. Reasons? For starters it keeps your internet logs and IP address. It comes in two versions; one is a paid client and the other one is free. The free version allows you to use a maximum of 300MB per day. That’s quite an inconveniencing limit.

On the upside it does support various protocols such as FTP, SSH, RDP, Telnet etc. So while it might not be your best bet owing to the obvious security concerns, it does make a good option for running tests.

How to configure VPN Manually On Linux?

The level of security that you get from a VPN largely depends on its configuration. The good thing is that you can set it up yourself manually or using a ready-made encryption protocol. Either way, with the right configuration you will stay anonymous.


OpenVPN is by far the most popular encryption protocol for Linux. There are many reasons why that’s the case. Top on the list is the fact that it provides an extremely high level of security. That largely boils down to the protocol’s use of OpenSSL for 256-bit encryption.

The best feature of OpenSSL is its versatility. It can perform conventional encryption in Static Key Mode using pre-shared keys (PSK). In addition to that, it uses server and client certificates to support public key security.

For that reason, OpenVPN remains to be the most adaptable protocol via third party software. As a matter of fact some VPN providers usually turn the OpenVPN protocol into a VPN client that users can use. A good example of this is the PrivateTunnel VPN client.

The other benefit of OpenVPN is that it supports all Linux distributions. So even if a provider doesn’t give you an official client for Linux (or for your particular distro) you can configure your own using OpenVPN. Let’s look at how to configure an OpenVPN on Ubuntu; the most popular Linux distro.

Using Network Manager

This is the best way to go about configuring your VPN if you get your IP automatically using DHCP. Start by identifying the VPN you want to use and then download its files. Type the following in the command line to install the VPN:

apt-get install pptp-linux network-manager-pptp

The files are not available on the disk by default, so by entering the command you will automatically install them to your computer. Proceed to the Network Manager and find an item named Connections. If you can’t see it try rebooting the system.

Next, click on Connections then choose Configure VPN. Add your new connection and then type in all the entries. Once you’re done the new connection will appear in the Connections menu. If it doesn’t reboot the system. After appearing you will be able to connect and disconnect from the VPN whenever you need to.

Manual configuration

For manual configuration, first install the pptp-linux package with the following command:

apt-get install pptp-linux

The second step is changing options.pptp file:

nano /etc/ppp/options.pptp

Insert the following lines there:






Once that’s done, it’s time to create the /etc/ppp/peers/vpn file:

nano /etc/ppp/peers/vpn

Insert the following lines:

maxfail 0

lcp-echo-interval 60

lcp-echo-failure 4


pty “pptp –nolaunchpppd”

name yourname

remotename PPTP


file /etc/ppp/options.pptp

ipparam vpn

Enter the address of the VPN server instead of and your username instead of your name. Now, let’s find out what each line means and why we need them.

  • maxfail 0 means that you will always get connected again after a disconnection.
  • lcp-echo-interval means the period of time between the inquiries of the remote side.
  • Lcp-echo-failure means the number of ignored inquiries, when the system considers you’re disconnected.
  • Default route helps to configure the default route (we know that it seems too obvious).
  • +chap is the type of authentication.
  • File lets you see additional configurations from the given file.

The next step is editing the /etc/ppp/chap-secrets file (#nano /etc/ppp/chap-secrets) by adding the following line: your name PPTP password *.

Don’t forget to use your username and your password in the corresponding fields. Now it’s time to reboot the network connections:

/etc/init.d/networking restart

You can turn on the VPN connection by typing #pon vpn and turn it off by typing #poff vpn.

If you want to start VPN each time you boot the system, you should edit the /etc/network/interfaces file: #nano /etc/network/interfaces. Simply insert the following lines into the file:

auto ppp0
iface ppp0 inet ppp
provider vpn
pre-up ip link set eth1 up
up route del default
up route add default dev ppp0

The Bottom Line

In sum, you can always take advantage of the services of VPN providers by installing a VPN client. However, the services may be expensive, especially if you want to connect many devices; 5 or more. Still, a VPN client will undoubtedly keep your data safe, but there will still be a few leaks. The leaking data won’t be significant to pose a major privacy risk but it will be a leak nonetheless.

If that makes you uncomfortable you can consider creating your own VPN using the OpenVPN protocol. This type of configuration will allow you to choose a server from anywhere around the world. While some servers are available for free, you may want to stay away from them because they don’t offer a guarantee that your data won’t leak.

On average, a paid server will cost you anything from $30 to $300 per month. Once you have your server use the steps outlined above to configure your own VPN.


Leave a Reply

2 Comment threads
1 Thread replies
Most reacted comment
Hottest comment thread
3 Comment authors
William AndrewsClareAashirvad Kumar Recent comment authors
newest oldest most voted
Notify of
Aashirvad Kumar

There are many guides on best VPN but this is one of the best guides. Because I found here this-How to configure VPN Manually On Linux?
Thanks for sharing such a useful guide for users like me who are wandering for such things.
Thanks once again


in case you’re wondering, NordVPN (consistently rated as one of the best vpns in the market now) is compatible with Linux as well.