freevrrpd
—
Virtual Redundancy Router Protocol Daemon
freevrrpd |
[-F ]
[-f config_file]
[-c chroot_directory] |
freevrrpd
is a RFC2338/5798 compliant daemon. VRRP can
be used with multiple interfaces as well as multiple VRIDs. For each VRID
defined in the configuration file, freevrrpd
creates a
thread for managing a poll of one or multiple virtual IP addresses. The daemon
currently only supports IPv4 but IPv6 is being developed.
When freevrrpd
start, it reads
/usr/local/etc/freevrrpd.conf file and then daemonizes itself. All of the
options are defined in the config file.
freevrrpd is compatible with FreeBSD.
Functionality includes :
- Support of multiple VRIDs
- State announcements are multicast using the
bpf(4)
device.
- Changing routes and IP in 3 seconds
- Sending gratuitous ARP requests to clean the ARP cache of all hosts
listening hosts.
- Election between different backup and master servers with differing
priorities
- THe same host can be both a SLAVE and MASTER at the same time for
different VRIDs.
- Automatic downgrade to BACKUP state if the MASTER returns to service.
- Support of netmasks for virtual IP addresses.
freevrrpd
reads its configuration data from
/usr/local/etc/freevrrpd.conf, or the file specified with -f on the command
line. The config file contains keyword-argument pairs, one per line. Each VRID
definition is define by the [VRID] keyword. Lines statring with '#' and empty
lines are interpreted as comments.
The possible keywords and their meanings are as follows (note that
keywords and arguments are cas-sensitive):
serverid
- This keyword is followed by a decimal number between 1 and 255 and
represent the group identifier (Virtual Router Identifier).
interface
- This keyword is followed by an interface name where multicast VRRP annonce
on the specified serverid group will be sent.
useVMAC
- Specifies wheter Virtual MAC adress (like 00:5E:00:...) is permitted. The
default is “yes”. Note that disabling useVMAC is a RFC
infragment but must be necessary for some specific cases. If disabled,
“sendgratuitousarp” must be enabled.
priority
- This keyword can be followed by a decimal number between 0 to 255. a
priority of 255 mean a MASTER server. a priority between 0 to 254 is a
BACKUP priority. Note that 0 is the minimal BACKUP priority and 254 is the
higher. If the VRID MASTER fail, tha higher BACKUP priority will become
MASTER.
addr
- Specifies all Virtual IP adresses separated by commas of the corresponded
VRID. a VIP syntax will be: “xxx.xxx.xxx.xxx/yy” or
“device:xxx.xxx.xxx.xxx/yy.” “xxx.xxx.xxx.xxx”
represent the IP adress and “yy” is a netmask in CIDR
format. device is an optional device where VIP will be setted.
monitoredcirctuis
- Specifies whether NIC monitoring is enabled. This option use a special
ioctl for getting carrier, duplex and health of the network card. The
default is “yes”. Note that your NIC driver must support mii
bus functionnality. Some old drivers cannot use this option and must be
disabled.
MCClearErrorsCount
- This keyword can be followed by a decimal number that represent the number
of concurrent valid checks (monitored circuits) before nberrors flag will
be resetted at 0. The default is “3600”. Note that the
default value mean that 30 concurrent checks ok on a NIC by monitored
circuits will reset the error counter for this NIC. If a value of
masterscript
- This keyword can be followed by a script name with an absolute path and
will be executed during MASTER transition state.
backupscript
- This keyword take same argument as “masterscript” except
that this script is executed during BACKUP transition state.
vridsdep
- This keyword can be followed by a list of VRID in decimal format separated
by commas and depends from this one. If this VRID become BACKUP, all VRIDs
specified will become BACKUP too.
password
- This keyword can be followed by a password for authenticate VRRP packets
on a specific VRID. Note that the password will be transmitted in clear
with this method.
AHencryption
- Not implemented yet
useIKE
- Not implemented yet
presharedkey
- Not implemented yet
This utility doesn't quit properly if you use the -KILL signal. If you want to
stop freevrrpd, you can use kill [PID] and not kill -9 [PID], then it can
delete virtual IP addresses and routes properly on shutdown.
freevrrpd
is in active developpement, please send me
bugs report and suggestions.
Sebastien Petit ⟨spe@bsdfr.org⟩
first appeared in FreeBSD-4.3