Faster than expected: Raspberry PI Home VPN Server

My humble Raspberry Pi VPN server
My humble Raspberry Pi VPN server

I’ve been testing a VPN server I have running on a Raspberry Pi Model B (a few years old already) and I must say I’m pleasantly surprised with the speed I’m getting. To be fair, my expectation were pretty low, because:

  • It’s an old model of Raspberry Pi.
  • Its Ethernet is rated at 100Mbits/s, so there is a theoretical maximum of 12.5MB/s
  • My current home internet plan has only 10MB/s upstream (upstream is important when tunneling traffic trough the VPN)
  • I’m using a 2048-bit encryption key (the tutorial I followed recommended 1024 for performance reasons)

After playing with it, both on the road and using wifi at work, I was surprised I was able to watch youtube or Netflix without issues (but I have not watched a full movie yet). It’s more than enough for my intended applications (check into my home network + use password sensitive apps)

Without further ado: here are the results:

Mobile network without VPN server
LTE (this is, using my mobile plan)
Mobile network with VPN server running
LTE + VPN Client running
Home Internet (wired through Gbit router & switch)
Wired Home Speed

Edit: it’s much better from the office wifi

There is no doubt there is a performance hit by using a VPN connection, yet I’m still able to browse websites and use my phone without having flashbacks… Considering the peace of mind that you get with a VPN when using public Hotspots, I think it’s a fair compromise.

Some tech stuff:

Equipment:

  • Raspberry Pi Model B (case is optional)
  • 16 Gb Sd Card
  • USB  to micro USB charging cable
  • Old tablet charger (2 Amps)
  • Ethernet cable

Software:

  • Raspbian
  • OpenVPN server + Android client
  • Custom DNS updater (which I wrote to deal with Dreamhost)
  • Webmin (not really needed, but I used it to set a Cron job)

If you liked this post, please subscribe: