Pushing My VPN Gateway Speed to 20 Mbit/s With A BananaPi

20Mbit-s-speedTo secure my fixed and mobile data transfers I've been using OpenVPN for many years know. With fixed and mobile networks becoming faster I have to continuously improve my setup as well to make maximum use of the available speed at the access. At the moment, my limit at the server side is 30 Mbit/s while at the access side, my Wi-Fi to VPN Gateway's limit is 10 Mbit/s. Time to change that.

A quick recap of what happened so far: Earlier this year I moved from an OpenVPN server on an OpenWRT Wi-Fi Router to an OpenVPN Server running on a Raspberry. At the time my VDSL uplink of 5 Mbit/s was the limit. With that limit removed the next limit was the processing capacity of the RaspberryPi which limited the tunnel to 10 Mbit/s. The logical next step was to move to a BananaPi who's limit with OpenVPN is around 30 Mbit/s.

In many cases I was still limited to 10 Mbit/s, however, as I was using a Raspberry Pi as a Wi-Fi / VPN Client Gateway to tunnel the data traffic of many Wi-Fi devices through a single tunnel. For details see this blog entry and the Wiki and Code for this project on Github. To move beyond the 10 Mbit/s, I had to upgrade the hardware on this side to a BananaPi as well. The process is almost straight forward because I run Lubuntu 14.04 on the BananaPi which, like Raspian running on the BananaPi, is based on Debian Wheezy. With a few adaptations the script I put together for the RasbperryPi also runs on the BananaPi and converts it to an OpenVPN client gateway in a couple of minutes.

While I expected to see a throughput of 30 Mbit/s, the link between the two BananaPi levels out at 'only' around 20 Mbit/s as shown in the screenshot on the left. I haven't yet found out why this is the case as on both devices, processor load is around 65%, so there are ample reserves left to go faster. For the moment I ran out of ideas what it could be. However, doubling the speed with this step is not too bad either.