Zen Load Balancer is supporting the uplinks or providers load balancing since the version V2RC2 released on February 2012.
This implementation is part of the 3 Level load balancing method using route load balancing and based on the application of Zen Load Balancer as the default gateway for a local area network to have access to a wide area network with several service providers.
This document pretends to give a brief understanding about uplinks load balancing with Zen Load Balancer and the necessary steps to implement this solution within the enterprise or general local networks.
The drawing below is an example architecture for uplinks load balancing, where we’ve used a Zen Load Balancer appliance like default gateway for the clients.
In this case, we’ve two different ISPs to access to Internet: a fast cabled RDSI router and a slower 3G router.
The network connection between the ZenLB and the routers has to be isolated networks, for this reason we’ve provided two independent interfaces with the networks:
o 192.168.0.0/24 through the eth1, accessing to the fast cabled RDSI.
o 192.168.1.0/24 through the wlan0, a wireless access to the slower 3G router.
Note that the clients have to be under another isolated network, so we’ve chosed a 192.168.2.0/24 configuration with the Zen LB as default gateway (192.168.2.254).
With this implementation we’ve established a weight algorithm, the RDSI router has a weight of 5 meanwhile the 3G router has a weight of 2.
The link load balancing isn’t perfect as the routes are cached. Actually ZenLB doesn’t support a non cached behaviour.
How could we implement this architecture with Zen Load Balancer? In this section will be shown the easy way to perform this architecture with Zen LB.
In the following illustration is shown the network interfaces configuration through the section Settings::Interfaces. Note that we don’t need any configured gateway, as the communication is done directly to the routers.
With this configuration, we’ve established the Zen Load Balancer IP addresses and the correspondent network interfaces.
Now it’s time to create a new datalink farm using the interface which the clients will request the outgoing connections to the internet (for this example, eth1), through the Manage::Farms section.
After clicking Save button, the farm will be created.
Editing the global parameters of our brand new datalink farm we’ve to select the right algorithm to be used. In our case, we’ve to select the Weight Algorithm to be balanced the both uplinks according to the weight value of each uplink.
Also, a Priority Algorithm could be used to build an active-passive fault tolerance uplink balancer with different providers.
Finally, we’ve to configure our backends. For uplinks load balancing the real servers will be the routers that supply the real access to the internet with the correspondent interface and weight or priority value.
Datalink farms creation will become Zen Load Balancer as a gateway between different network subnets and provides to a local LAN accessing to a high availability WAN.
For this reason, the network panel will show a lock gateway configuration for the “listening” network interface.
Now, we’ve internet link balanced! Accessing to a streaming video service to watch our favorite Coldplay video, we’ll be able to view the line consumption for every uplink interface through the View Backends Status section.
In this case, we’re using the most weighted line, as expected.
To detect an offline or online of any uplink, a direct ping to the router is requested every minute.
This documentation has been created by the Zen Load Balancer Developers Team for the Zen Load Balancer GNU/LGPL Project.
(C) 2014 by Sofintel IT Engineering SL. All rights reserved. No part of this document may be reproduced or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without prior written permission of Sofintel IT Engineering SL.