Load balancing home router with Raspberry Pi
After the fix for Realtek usb ethernet card for openwrt to run on raspberry pi 2, I started my new project, Load balancing router.
The working is quite simple, install and configure MWAN3 but I can’t install from repo since I got the source and compiled it with the patch for my usb ethernet card, purchased a few more of those from eBay and combined to form 2 WANs and Â 2 LANs.
WANÂ uses 2 usb ethernet adapters and one configured to dial my PPPoE fiber connectionÂ and another to cable modem, so that I could combine both toÂ get load balancing.
One lan port is same as the built in of Raspberry pi and another usb adapter.
One lan port is configured to use for my private network which contains few laptops, a NAS and few cell phones via Dlink DIR850L 1200 dual band AC router .
Another one is to a wireless AP dedicated to guest, which I keep isolated from my private network.
Since you are much experienced i am not mentioning how to install OS to a memory card for Raspberry pi . I have already compiled a version of OpenWrt for raspberry pi with MWAN3 , Firmware for USB adapter QHM8106 USB 2.0 Lan Adapter , drivers .
It works on Ethernet adapters with following firmware
- AX88772B ASIX Elec. Corp
- RTL8152 Realtek Semiconductor Corp
Few other things like Freifunk [for splash screens on wifi connect ] , VnStat , QoS etc are also included in this build.
Download SD card image from Google Drive
Just after you finished your memory card and connected the USB ethernet card , insert it to your Pi 2 and boot connect a rj45 lan cable from Pi to your PC / Mac .
Point your browser to http://192.168.1.1/
Set the basics such as password Â and enable SSH ,
Set up the interfaces
Here we are configuring eth0 as main LAN , eth1 , eth2 as WAN , WAN2 and eth3 as GUEST
To set up the interface to go Network -> Interfaces
Adding new interface
Click on Add new Interface
Enter “Name of the new interface” as WAN for Â interface eth1 , WAN2 for eth2 and Guest for eth3 . [ WAN , WAN2 , GUEST are to entered separately corresponding to interface selection ]
“Protocol of the new interface” should be static for GUEST . For WAN , WAN2 it should correspond to connections you have, in my case it was PPPoE for WAN and DHCP for WAN2 since i have a Fiber GPON device and an ordinary cable modem with WiFi .
Adding WAN / WAN2
After clicking submit button on the next window enter the details of the connection such as username and password if required , if the connection type is dhcp there is nothing to do here , go to next step.
Next step is to assign “Use gateway metric” 10 for WAN and 20 for WAN2 . Go to Advanced settings and add gateway matric
Now we have to go to the firewall settings tab and and it to WAN zone
Save and Apply
Repeat the above steps for the WAN2 also.
Adding GUEST interfaceÂ
The same way add an interface , name it as guest and set the protocol as static , submit
Step 1 : Adding Guest
On the Next window Set IP address [ not the same as LAN uses ] I selected 192.168.100.1 Â and the select subnet mask as 255.255.255.0 .
Scroll bottom to DHCP server section , got Advanced and tick “Dynamic DHCP”
Next is to assign it to a new Firewall zone called Guest . Go to FirewallÂ setting on the top .
Save and Apply
Configuring Interfaces is now complete .
Setting up firewall
InÂ order to allow guest to internet we need to add one rule go to Network – > Firewall scroll down to Zones and Click Add , use the settings from below image.
Save and Apply
Now connect all cables and check internet connectivity through LAN and GUEST ports . If all working move to next step .
We are using MWAN3 which is pre installed to the image file given above .
Go to Network -> Load Balancing
You can seeÂ Live status as of interfaces .
Go to Configuration and Â click on edit against WAN2
Select Enabled to Yes
Save and Apply
Now you will be able to use both connections . Wiki Article on Load Balancing
UseÂ MWAN Member Configuration to fine tune settings .
To test it download a torrent since normal web connection’s speed can’t be increased since it should be done using same IP . Please read below reference material to know how to configure MWAN3 for your best performance .
In order to install packages from OpenWrt Repo
Go to System – > Software – > Configuration
Replace the distribution feeds with
src/gz chaos_calmer_base http://downloads.openwrt.org/chaos_calmer/15.05/brcm2708/bcm2709/packages/base
src/gz chaos_calmer_luci http://downloads.openwrt.org/chaos_calmer/15.05/brcm2708/bcm2709/packages/luci
src/gz chaos_calmer_packages http://downloads.openwrt.org/chaos_calmer/15.05/brcm2708/bcm2709/packages/packages
src/gz chaos_calmer_routing http://downloads.openwrt.org/chaos_calmer/15.05/brcm2708/bcm2709/packages/routing
src/gz chaos_calmer_telephony http://downloads.openwrt.org/chaos_calmer/15.05/brcm2708/bcm2709/packages/telephony
src/gz chaos_calmer_management http://downloads.openwrt.org/chaos_calmer/15.05/brcm2708/bcm2709/packages/management
Then Save and Apply
If there is any mistakes or corrections , please comment below .