Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  MOREBALANCE.CONF (5)


morebalance.conf - configuration file for the morebalance load balancing tool



Several tasks can be accomplished with morebalance. It is important to understand these and to use only methods which are required, which makes the tool both faster and more secure.

Port forwarding

The general syntax for a simple port forwarding is:

<service> use <host>

The service, which can either be a port number or the appropriate alias from /etc/services or an absolute path to a unix socket, is then made available from the given host.

It is very convenient to let the original port differ from the provided one, for example to allow access as user to ports which require root privileges. A different original port can thus be specified with:

<service> use <host> as <service>

Port options are recognized when the service is specified as <port:modifier>. Several modifiers can be chained together. Valid modifiers are:

<port>:local (Listen to local interface only)

<port>:tcp (Forward only TCP connections (default))

<port>:udp (Forward UDP data)

<port>:tls (Encrypt data before forwarding)

<port>:compress (Compress data during the transmission)

The :local modifier is supported for incoming connections only. Unix domain sockets do obviously not work on remote hosts. MoreBalance will give warnings if it finds incorrect combinations.

Load balancing

A load balancer distributes network traffic to several backend hosts. This is configured by passing a list of hosts instead of only one of them:

<service> use <host1> and <host2> and <host3>

Pattern matching

Running multiple services on one port is supported by requiring connection patterns, which can be used for protocols with client-to-server initiations. The pattern must be a POSIX regular expression, unless PCRE is enabled, so that perl-compatible regular expressions can be used.

<service> use <host> as <service> when matching < pattern >


If a port forwarding requires a local daemon to be run, this can be requested on demand, which is handy if launching the daemon beforehand is not possible due to missing network connectivity or other problems.

<service> use <host> launching <program>

Quality of service

Sometimes it is necessary to guarantee for certain connections to get special priorities or the like.

guarantee <service1> after | before <service2>

guarantee <service1> after <service2> for <seconds> seconds

An example usage would be a pop-before-smtp implementation for mail servers.

Various options

In order to let morebalance report all connections, the verbosity level can be toggled:

be verbose

be very verbose


# This is a sample morebalance configuration.

# Distribute all incoming HTTP requests to our web server farm

http use web01 and web02 and web03 and web04 and web05

# Mail goes to our mail cluster

smtp and imap use mail-one and mail-two

# Some people do pop-before-smtp

guarantee smtp after pop for 600 seconds

# Forward PostgreSQL connections on port 10001

10001 use sqlserv as postgres when matching "\[0x00\]\[0x00\]\[0x01\]\[0x28\]\[0x04\]\[0xd2\]\[0x16\]\[0x2f\]"




Josef Spillner <>

Search for    or go to Top of page |  Section 5 |  Main Index

MoreBalance MOREBALANCE (5) 08.04.2006

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.