RELAYD(8)               OpenBSD System Manager's Manual              RELAYD(8)

NAME
     relayd - relay daemon

SYNOPSIS
     relayd [-dnv] [-D macro=value] [-f file]

DESCRIPTION
     relayd is a daemon to relay and dynamically redirect incoming connections
     to a target host.  Its main purposes are to run as a load-balancer, ap-
     plication layer gateway, or transparent proxy.  The daemon is able to
     monitor groups of hosts for availability, which is determined by checking
     for a specific service common to a host group.  When availability is con-
     firmed, layer 3 and/or layer 7 forwarding services are set up by relayd.

     Layer 3 redirection happens at the packet level; to configure it, relayd
     communicates with pf(4).  To allow relayd to properly set up pf(4) rules,
     the following line is required in the filter section of pf.conf(5):

           anchor "relayd/*"

     Layer 7 relaying happens at the application level and is handled by
     relayd itself.  Various application level filtering and protocol-specific
     load-balancing options are available for relays.

     relayd works in terms of the following entities: relays, protocols, redi-
     rections, and tables.  A relay represents a layer 7 load-balancing in-
     stance.  Each instance translates to a listening TCP or UDP port.  A
     protocol defines which actions, if any, are taken on the packet payload
     as data crosses a relay.  A redirection represents a layer 3 load-balanc-
     ing instance.  Each instance translates to a pf(4) rdr-to rule being
     added.  A table represents a group of hosts which can be checked for
     availability using the same method.  Each table contains at least one
     host.  If a table is used in a layer 3 load-balancing instance, it will
     be mapped to a pf(4) table containing only those hosts which are up.

     All these entities can be configured in relayd.conf(5), and relayctl(8)
     can be used to alter or report on the status of each entity.

     The options are as follows:

     -D macro=value
             Define macro to be set to value on the command line.  Overrides
             the definition of macro in the configuration file.

     -d      Do not daemonize.  If this option is specified, relayd will run
             in the foreground and log to stderr.

     -f file
             Specify an alternative configuration file.  The default is
             /etc/relayd.conf.

     -n      Configtest mode.  Only check the configuration file for validity.

     -v      Produce more verbose output.

FILES
     /etc/relayd.conf        Default configuration file.
     /var/run/relayd.sock    UNIX-domain socket used for communication with
                             relayctl(8).

SEE ALSO
     relayd.conf(5), relayctl(8)

HISTORY
     The relayd program, formerly known as hoststated, first appeared in
     OpenBSD 4.1.  It was renamed to relayd in OpenBSD 4.3.

AUTHORS
     The relayd program was written by Pierre-Yves Ritschard <pyr@openbsd.org>
     and Reyk Floeter <reyk@openbsd.org>.

OpenBSD 4.7                    February 23, 2010                             2
