Load Balancing WAN Connections

I’ve previously posted about how slow my ADSL connection is (5Mbps max!) and that I bought a 4G router just over a year ago (http://blog.v-s-f.co.uk/2014/10/fed-up-of-waiting-for-superfast-broadband/). Before I bought the 4G router, I decided to look at how to load balance the connections. There were two reasons for doing so. One was that I planned to buy another ADSL connection to get a stunning combined* max of 10Mbps!!! And the other reason is that the 4G connection has a few quirks that mean I prefer to send and receive certain traffic down the ADSL connection.

I did a lot of research and bought a Netgear FVS336G v2 off Ebay. At the time I bought it, I only had the ADSL connection, but the device only lasted a month. The device wouldn’t work on the newest firmware, would work for a few days and then grind to a halt and also my tablet couldn’t access the internet! Needless to say, it went back on Ebay…

After more research I then found pfSense. At the time I had a spare media centre pc lying around which had become redundant, but ran at 80 watts idle. I repurposed it for the task of determining if pfSense would be suitable.

pfSense is brilliant and free! As a router it does everything I could possibly want (Port forwarding, OpenVPN, Firewall and Load Balancing to name but a few). The administration portal never crashes or decides not to load a page – it simply works.

I started off again with just the ADSL connection and then bought the 4G router. Setting up the load balancing took a bit of time along with determining what firewalls to put in place.

I’ve recently upgraded the hardware to use a low power cpu on board motherboard and the entire system now runs at a max of 20 watts.

Even when the 4G conection was running at 50Mbps for over 10 minutes, the cpu never went above 5%.

pfsense-windows10-download

(Example of the firewall rules for sending traffic down ADSL for banking and email)

firewall-rules

* Load balancing WAN connections does not mean you will achieve A+B – you would need to bond the connections to get close to achieving A+B speeds. For example in the screen shot above where 50Mbps is being transfered, it’s all across the 4G connection as the connections are not bonded. Load balancing however in my situation is great as a family member can watch iPlayer and I can still browse the internet without affecting the video stream as the data will normally be distributed across the connections available according to load.