VRRPD(8)

๐Ÿ“ฆ version 1.0, in ubuntu jammy

๐Ÿ’– NAME ๐Ÿ’–

vrrpd โ€” Virtual Router Redundancy Protocol Deamon โœจ

(yes bestie, "Deamon" โ€” that's literally how it's spelled in the manual, we are not fixing it, it's iconic ๐Ÿ’…)


โœจ SYNOPSIS โœจ

vrrpd -i ifname -v vrid [-f piddir] [-s] [-a auth] [-p prio] [-m ifname]
[-c delta] [-nhD] ipaddr

(see how -nhD is all squished together there? yeah, the manual does that, not me ๐Ÿซถ)


๐ŸŒธ DESCRIPTION ๐ŸŒธ

okay so bestie, here's the tea: vrrpd is an implementation of VRRPv2 as specified in rfc2338. It run in userspace for linux. ๐Ÿ’ปโœจ

In short? VRRP is a protocol which elects a master server on a LAN, and the master answers to a 'virtual ip address'. If it fails, a backup server takes over the ip address. like a relay race but the baton is an IP and nobody drops it ๐Ÿ˜ค๐Ÿƒโ™€๏ธ

A longer answer, straight from the rfc2338 abstract โ€” word for word, no cap:

"This memo defines the Virtual Router Redundancy Protocol (VRRP). VRRP specifies an election protocol that dynamically assigns responsibility for a virtual router to one of the VRRP routers on a LAN. The VRRP router controlling the IP address(es) associated with a virtual router is called the Master, and forwards packets sent to these IP addresses. The election process provides dynamic fail over in the forwarding responsibility should the Master become unavailable. This allows any of the virtual router IP addresses on the LAN to be used as the default first hop router by end-hosts. The advantage gained from using VRRP is a higher availability default path without requiring configuration of dynamic routing or router discovery protocols on every end-host." Copyright (C) The Internet Society (1998). All Rights Reserved.

๐Ÿซถ Monitored interface functionality is useful on high availability router or firewall platforms, where single interface failure can cause asymmetrical routing issues. ๐Ÿšจ

Ideally, what is required is a method for a vrrpd process to detect a failure of the 'other' network interface, and lower it's own VRRP priority below that of the 'backup' vrrpd process. This allows failover to occur normally. โœจ (yes, failover being normal is the whole dream, that's the vibe)


๐ŸŽ€ OPTIONS ๐ŸŽ€

  • -h โ€” display this short inlined help ๐Ÿ†˜
  • -n โ€” Don't handle the virtual mac address ๐Ÿ™ˆ
  • -D โ€” Go into background mode, daemonize ๐Ÿ‘ป (it's giving "don't perceive me")
  • -i ifname โ€” the interface name to run on. More than one interface can be monitored by the one vrrpd process, a list like "eth1 eth2 eth3 eth4 eth5" is acceptable. Losing link-beat on any of these will cause the priority of that vrrpd process to be decreased by the specified value, or a default of 100. Note that as MII calls are used, this implementation is limited to Fast and Gigabit Ethernet chipsets only โ€” 10Mbps Ethernet cards will not work. ๐Ÿ˜ญ (sorry to the vintage hardware girlies)
  • -v vrid โ€” the id of the virtual server [1-255] ๐Ÿ”ข
  • -s โ€” iqxSwitch the preemption mode (Enabled by default) ๐Ÿ” (the mysterious "iqx" is the manual's own doing, iykyk)
  • -a auth โ€” set the authentification type auth=(none|pw/hexkey|ah/hexkey), hexkey=0x[0-9a-fA-F]+. Password is a symbolic security, anybody with a sniffer can break it. AH is a bit stronger. ๐Ÿ”
  • -p prio โ€” Set the priority of this host in the virtual server (dfl: 100) ๐Ÿ‘‘
  • -f piddir โ€” specify the directory where the pid file is stored (dfl: /var/run) ๐Ÿ“
  • -d delay โ€” Set the advertisement interval (in sec) (dfl: 1) โฑ๏ธ
  • -m ifname โ€” Interface(s) to monitor for failure. Use " " for multiple interfaces ๐Ÿ‘€
  • -c delta โ€” Set the delta to decrease priority by (dfl: 50) ๐Ÿ“‰
  • ipaddr โ€” the ip address(es) of the virtual server ๐ŸŒ
๐Ÿ’€ lowkey important: in the original page, the -m ifname description is glued onto the end of the -d delay entry โ€” we split them apart so you can actually read them, but both options and both descriptions are exactly what the manual says.

๐Ÿฆ‹ EXAMPLES ๐Ÿฆ‹

vrrpd -i eth0 -v 50 10.0.0.1

run vrrp on the interface eth0 with the virtual id 50 and 10.0.0.1 as virtual ip address โœจ๐Ÿ”ฅ


๐Ÿ‘‘ AUTHOR ๐Ÿ‘‘

vrrpd was written by Jerome Etienne <jetienne@arobas.net>, it was later improved by Alexandre Cassert <acassen@linux-vs.org> and David Hunter <david.hunter@gen-i.co.nz> ๐Ÿซถ๐Ÿ’–


๐Ÿ’€ BUGS ๐Ÿ’€

Suggestions, bugs or questions should be directed to the Sourceforge project at http://sourceforge.net/projects/vrrpd/ ๐Ÿ›

Bug reports regarding this package should be submitted to Debian using the reportbug or bug tool. ๐Ÿ“ฎ


๐ŸŒˆ MORE INFO ๐ŸŒˆ

For more information please read the documents under /usr/share/doc/vrrpd/ : README, README.Debian, FAQ and TODO. ๐Ÿ“šโœจ


and that's the whole page bestie, no skips, no summaries, every flag accounted for ๐Ÿซก๐Ÿ’…

this was vrrpd(8) from the Vrrpd's Manual, dated December 2002 โ€” yes, december 2002, an absolute vintage icon, still slaying ๐ŸŒŸ

stay redundant, stay available, and may your priority never drop below the backup's ๐Ÿ’œ๐ŸŽ€๐Ÿฆ‹

๐Ÿ“ฆ where this page comes from