NAME
relayd.conf – relay daemon configuration file
DESCRIPTION
relayd.conf is the configuration file for the relay daemon, relayd(8).
relayd.conf is divided into the following main sections:
Macros
User-defined variables may be defined and used later, simplifying
the configuration file.
Global Configuration
Global settings for relayd(8). Do note that the config file allows
global settings to be added after defining tables in the config
file, but those tables will use the built-in defaults instead of
the global settings below them.
Tables
Table definitions describe a list of hosts, in a similar fashion to
pf(4) tables. They are used for relay, redirection, and router
target selection with the described options and health checking on
the host they contain.
dev@dev:~/.trash% man relayd
RELAYD(8) 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,
application 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
confirmed, 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,
redirections, and tables. A relay represents a layer 7 load-balancing
instance. 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-
balancing 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.