Mon. Nov 11th, 2019

Zevenet Community Edition v5.10 releases: a complete solution for load balancing

4 min read

Zen Load Balancer is a complete solution for load balancing to provide high availability for TCP, UDP, advanced HTTP and HTTPS services, data line communications (uplink). A complete solution for L7 content switching and L4 Load Balancing targeted to become a professional open-source product in networking for distributed systems.

It’s not only a nice HTTPS GUI to control the load balancing system, Zen LB provides an advanced administration for network interfaces and routes, unlimited farms configuration, advanced checking for TCP farms, advanced check and monitoring for backend servers, clustering for active-passive load balancing services, monitoring graphs, configuration backups, vlan support, real-time config sync replication for cluster nodes, HTTP specific load balancing, client persistence, SSL wrapper, L7 content switching, L4 load balancing and much more.


  • Load Balancing
  • Network Load Balancer
  • High availability
  • Open Source Load Balancer
  • TCP load balancer
  • Web load balancer
  • UDP load balancer
  • SSL load balancer
  • SIP load balancer
  • FTP load balancer
  • TFTP load balancer
  • ADC

Changelog v5.10

This release includes the following changes:

New features
[farms] Add persistence between clients and backends using hashes depending on “ip”, “port”, “mac”, “source ip and source port” or “source ip and destination port”
[farms] Add option to l4xnat to set the port
[farms] Add nat type based on stateless dnat
[gui] Add module to translate the webgui to a different language
[api] Retrieve the parameter list accepted by the API for a call when it is called without parameters (POST and PUT methods)

[farms] Remove and modify backends using the nft mark
[farms] Apply deterministic order to farm listings (sorting alphabetically). Pull request from the github user brudo (William Bruce Dodson)
[farms] Do not control Access-Control-Allow_Origin header when the request is using the zapi key
[farms] Disable the HTTP parameter “ECDHCurve” by default
[farms] Add check to avoid port collision with l4xnat farms
[farms] Lock HTTP farm config file while a service it is being modified
[farms] Create a dummyTable to start the nf_conntrack module
[farmguardian] Add checks for “sip” and “redis”
[system] Restart web server when Zevenet is restarted
[system] Set the binaries path in the global.conf file
[system] Update system dependencies
[system] Expand error message
[system] Remove the zlb-stop and zlb-start files from the package and set them as templates
[system] Postinst refactoring
[system] Apply perltidy to code files
[system] Move logic from API to the library
[system] Remove completely iptables code and dependencies
[system] Export global.conf to bash scripts
[system] Set all log tags in lower case
[system] Check the uploaded backups before that stores it
[system] Change restart services for reloading them in cron tasks
[system] Move profiling logs to debug level 5
[system] Add more system information to supportsave
[api] Log the JSON input parameters
[api] Standardizer API calls for copying actions
[api] Improve the validation of the parameters
[api] Refactoring for farm module
[api] Returns an error if a sent parameter was not expected for the call
[api] Created a new call for getting system information
[cluster] Move the local configuration to a local directory
[networking] Add arp announce feature after any IP configuration
[networking] Masquerade traffic towards the backend with the parent interface of the vip

[system] Fix an error of looping when a backup is applied
[system] Omitting commented routing tables in supportsave
[system] Fix typo in output message and logs
[system] nftables is not printed in supportsave
[system] Fix the regex for SNMP community and SNMP name parameters
[system] global.conf did not parse the variables with “update” tag
[farms] Error returning the ciphers parameter in HTTP farms
[farms] Error modifying the custom security ciphers parameter in HTTP farms
[farms] Missing farmguardian parameter in the HTTP farm
[farms] Solved a bug when parsing the file to add the backend in HTTP farm if the service has the same name as the farm
[farms] Fix helpers protocols for l4xnat farms
[farms] Force all protocol when setting all ports in l4xnat farms
[farms] Fix loading helpers for natting
[farms] Fix duplicated rules when the protocol is “all” in l4xnat.
[farms] Solved corruption of pound file when enabling TLS/SSL in HTTPS and it was already enabled
[farms] Fix the tag and mark generation per backend
[farms] Do not allow the ‘prio’ algorithm parameter for l4xnat
[farms] Avoid flushing the entire ruleset
[farms] l4xnat farm stats does not return any backend if the farm is down
[farms] returns the backend down if the status is config_error
[farms] Fix an error in l4xnat stats with “snat”
[farms] Assuring that nftlb is stopped when performing a stop
[farms] Avoid the use of Expect in the curl request that can produce recv blocking
[farms] Remove regexp for HTTP redirect in HTTP farms
[farmguardian] Zevenet service script was not calling to farmguardian start
[certificates] Error in the certificate parameter ‘issuer’
[networking] Group the routing rules by type
[networking] Reload routing rules when a farm or interface is modified
[networking] Fix an error setting an interface that was in the down interface
[networking] Allow creating VLAN without gateway
[networking] Solved bug when deleting a VIP
[networking] Solved error unsetting a nic that was not applied in the system
[networking] Create the nic config file if it does not exist
[networking] Improved ipv4 regexp
[networking] Do not allow to modify the interface used for management services (HTTP and SSH)
[system] Applying backup returns success on failure
[api] Change error code 400 for 404 when the certificate is not found
[api] API returns an error when it receives an array or a hash in the JSON parameter and it is not expected