Kansas City Finance

Dec 22 2017

Balance: The Open Source Load-Balancer and TCP Proxy

#load #balancing,ipv6,ipv6 #proxy,ipv6 #to #ipv4,ipv6 #load #balancing,linux #load #balancing,software #load #balancing,load #balancer,software #load #balancer,ip #load #balancing,ip #load #balancer,balance,balanceng,vrrp,dsr,direct #server #return,vrrp #tracking,bngagent,gslb,global #server #load #balancing


You like Balance ?
Donate even the smallest Bitcoin amount to 15v1cbJ6bVE5aYxtA51iUYF9suku5P1bZn. thanks.

What is Balance ?

Balance is our (still) suprisingly successful load balancing solution being a simple but powerful generic tcp proxy with round robin load balancing and failover mechanisms. Its behaviour can be controlled at runtime using a simple command line syntax.

Balance supports IPv6 on the listening side which makes it a very useful tool for IPv6 migration of IPv4 only services and servers.

Balance successfully runs at least on Linux(386), Linux(Itanium), FreeBSD, BSD/OS, Solaris, Cygwin, Mac-OS X, HP-UX and many more.

Balance is Open Source Software and released under GPL licensing terms.

BalanceNG is our commercial Software Load Balancer for Linux and Solaris which comes with a 30 day trial license. Click here for more information.

Current Release: Balance 3.57, released: Aprli 28, 2015

Current Release: Balance 3.57
balance-3.57.tar.gz MD5: 12ab710435bc4119293837375c6e1f97

Older Releases:
balance-3.56.tar.gz MD5: 7c1ed362bc98c4c5fe388963d9e85770
balance-3.54.tar.gz MD5: 99854615cc58ceb2c5bbf29e35d18018
balance-3.52.tar.gz MD5: dd43b243290471536b7689382b7bb8d4
balance-3.50.tar.gz MD5: 8242804073208e44931d61366e47d4d6
balance-3.48.tar.gz MD5: 80fea078f1558a2a893fd037b8c99894
balance-3.42.tar.gz MD5: 24bc4063e8af298471d7d0a2ac7462a6
balance-3.40.tar.gz MD5: 85321e0d80ff63d1659fe4173c135cc1
balance-3.35.tar.gz MD5: 771f8523f7a4ee119461e7f71f8a275f
balance-3.34.tar.gz MD5: 65287da4757c3cd01dbc85551c144e49
balance-3.32.tar.gz MD5: f9b3ea2d2e0838e7da2f7c4b0f2e5deb

Latest Changes:

  • 3.57: MAXGROUPS has been increased to 32
  • 3.56: Out-of-band data handling has been added.
  • 3.54: A bug with hash_fold() regarding incoming IPv4 and IPv6 source addresses has been fixed. The “hash” group mechanism is now working as expected.
  • 3.52: Buffering has been disabled for interactive shell IO. A new “assign” command has been added to allow changing of the host:port assignment of a channel (only if disabled). A locking bug has been fixed.
  • 3.50: A new option -6 has been added to force IPv6 bind.
  • 3.49: A patch has been applied due to a problem with ftok() on Solaris.
  • 3.48: Problems with setting IPV6_V6ONLY socket option are now handled more nicely with a syslog warning message.
  • 3.42: Balance now compiles also on systems where IPV6_V6ONLY is undefined (like some Solaris systems).
  • 3.40: IPv6 support on the listening side has been added. MAXCHANNELS in balance.h has been increased to 64.
  • 3.35: A bug in the autodisable functionality has been fixed.
  • 3.34: -a option added (enables “autodisable” option: A channel needs to be manually re-enabled after a failure). Syslog logging added for reporting this event.
  • 3.33: -M option added (use MMAP instead of SHM for IPC)
  • 3.32: Bugfix: /var/run/balance may now already exist.
  • 3.31: Bugfix: TCP_NODELAY properly set.
  • 3.30: Code cleanups and fixes.

Example Command Lines

# balance smtp host1.test.net host2.test.net

Connections to the local SMTP port will be forwarded alterating to the SMTP port on host1 and host2. Balance runs automatically in background.

# balance -b 2001:DB8::1 80

Balance binds on port 80 of the local IPv6 IP address 2001:DB8::1 and distributes connections to the IPv4 addresses and

# balance -b. ffff: 80

Balance binds on port 80 of the local IPv4 IP address (provided in IPv6 notation) and distributes connections to the IPv4 addresses and

# balance -fp imap mailserver

Connections to the local IMAP port will always be forwarded to the host “mailserver”. Balance stays in foreground and all data is printed in readable format on stdout.

$ balance -f 8888 host1

Connections to the local port 8888 are forwarded alternating to host1, port 8888 and the host, port 8000. Balance stays in foreground connected to the “controlling tty”.

  • Here’s the Balance Project Page at Sourgeforge (check it out for precompiled packages, forums, mailing lists and more). Many thanks to Thomas Steudten for all the support.
  • Here’s the Balance project page at www.darwinports.com.
  • Here’s the Balance Page at Freshmeat.Net.
  • The SourceForge mailing list web page can be found here.
  • www.opencsw.org (Community Software for Solaris) offers precompiled Packages of the latest Balance release (URL: http://www.opencsw.org/packages/balance ).
  • Sunfreeware.com offers binary Solaris packages for different releases and processors.
  • Barbara Irwin was so kind to include Balance in their famous Load of Linux Links (LoLL) GPL’ed Linux link database.

Articles and resources featuring Balance

Commercial products with similar scope

Written by admin

Leave a Reply

Your email address will not be published. Required fields are marked *