Today I'll be talking a little bit about VPNs. I've been interestin | |
in getting myself setup with a ubiquitous vpn for a while. I have a | |
VPN server running on my router (an x86 desktop running PFSense) wh | |
was fine for when I was on public wifi and needed a little protecti | |
But that meant my ISP could still see, and modify, my traffic. With | |
the looming death of net neutrality, I thought it was high time I f | |
this situation. | |
After doing a bit of shopping around I found a company called Priva | |
Internet Access (PIA)[1] which claims geographically separated, log | |
and secure VPN service for just $3.33/month (at the time of this | |
writing). The deal sounded too good to pass up and the reviews were | |
outstanding so I decided to give it a try. There are few times in l | |
when you make really good decisions, I think this was one of those | |
times. | |
My initial impressions with PIA are very positive. They provide a | |
graphical client for Windows, MacOS, Ubuntu Linux, Android and iOS. | |
They also support OpenVPN and L2TP so you can use any generic OpenV | |
or L2TP client as well. If that wasn't enough, they have some reall | |
good documentation and well written scripts to help configure thing | |
on the non-standard platforms. This includes a script for setting u | |
NetworkManager entry for each VPN endpoint they have, compatible wi | |
Debian, Ubuntu, Fedora, CentOS and Arch Linux. A great tutorial on | |
configuring PFSense to be an OpenVPN client to their service and mu | |
much more. | |
As it stands, I have my laptop (Fedora) configured using their | |
automatic config script for NetworkManager. This created an entry i | |
/etc/NetworkManager/system-connections for each of their geographic | |
endpoints. And my desktop and phone configured with the official | |
client. So far, everything works really really well on that front. | |
The only snag I've hit so far is not really anything to do with PIA | |
had originally configured PFSense to act as a OpenVPN client to one | |
their endpoints. This worked well and the instructinos were clear a | |
accurate but I quickly found out that it was somewhat impractical t | |
forward all of my traffic through the VPN without consquence. For | |
example, Netflix blocks all well known VPN IP addresses. Since PIA | |
a well known VPN provider, they're blocked. Without doing additiona | |
advanced configuration to split the network traffic for certain | |
devices (IE. my television) this was not going to work. For now, I' | |
sticking with client side configurations only. | |
My one complaint about the service itself so far is latency related | |
get that using a VPN adds an amount of overhead to the network | |
connection reducing it's speed and latency to some degree. This is | |
unavoidable. I've noticed a few times where latency was very high, | |
however, and sometimes the connectin would drop all togheter. Since | |
they offer a service with a large number of endpoints, switching to | |
another of these endpoints was easy and usually solves the problem. | |
do wish they would find a way to make the service a little more | |
stable, though. | |
The official PIA client has a setting to automatically connect to a | |
specified endpoint at startup. If you're using a generic OpenVPN | |
client, such as NetworkManager, this is slightly more complicated. | |
What I ended up doing was creating a script in | |
/etc/NetworkManager/dispatcher.d which watches for my wireless netw | |
adapter to come up and activates the VPN connection. It's a fairly | |
trivial script and the dispatcher.d scripts are well documented on | |
gnome.org [2] website. | |
h[1] Private Internet Access URL:https://www.privateinternetaccess. | |
[2] Gnome NetworkManager Page |