WireGuard

WireGuard® is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography. It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache. It intends to be considerably more performant than OpenVPN.

https://www.wireguard.com/

WireGuard is one of modern VPN which is simple to setup and use and at the same time very secure. I have been using WireGaurd for last 2-3 years.

Firefox VPN service is also using WireGuard

https://www.mozilla.org/en-US/products/vpn/

Setup

I have used Algo to setup WireGuard. It has ansible scripts to do the setup which is very easy to follow. You can find details here:

https://github.com/trailofbits/algo

I did the setup from my raspberry pi to my server(which is not in one of the provider mentioned). So had to enable following thing:

In case if there is any issue, it has some of the common troublshooting steps also here:

https://github.com/trailofbits/algo/blob/master/docs/troubleshooting.md

If there are firewall configured in your server then you need to make some changes to access WireGuard VPN. As WireGuard need some changes firewall. More details about which port and config is required in firewall for WireGuard is available here:

https://github.com/trailofbits/algo/blob/master/docs/firewalls.md

for e.g. you can enable WireGuard access in your firewall by following command:

$ sudo ufw allow 51820/udp