Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GDNSD-PLUGIN-SIMPLEFO(8)	      gdnsd		GDNSD-PLUGIN-SIMPLEFO(8)

NAME
     gdnsd-plugin-simplefo - gdnsd plugin for simple primary->secondary address
     failover

SYNOPSIS
     Example gdnsd config fragment using this plugin:

       plugins => {
	 simplefo => {
	   service_types => [ www ],
	   pubwww => {
	     primary => 192.0.2.1
	     secondary => 192.0.2.100
	   }
	   www6 => {
	     primary => 2001:DB8::1
	     secondary => 2001:DB8::100
	   }
	   mixed => {
	     service_types => [ www, xmpp ]
	     addrs_v4 => {
	       primary => 192.0.2.1
	       secondary => 192.0.2.100
	     }
	     addrs_v6 => {
	       service_types => up
	       primary => 2001:DB8::1
	       secondary => 2001:DB8::100
	     }
	   }
	 }
       }

     Example zonefile RRs:

       www 180 DYNA simplefo!pubwww
       www6 180 DYNA simplefo!www6
       mix 180 DYNA simplefo!mixed

DESCRIPTION
     gdnsd-plugin-simplefo is designed to do simple active/passive failover be-
     tween one primary address and one secondary address.  The status of the ad-
     dresses are checked with standard gdnsd "service_types" monitoring.  If you
     need more than a simple two-address failover list, the "metafo" plugin is
     more appropriate.

TOP-LEVEL PLUGIN CONFIG
     At the top level of the plugin's configuration stanza, the special parame-
     ter "service_types" is supported. These sets the default per-resource "ser-
     vice_types" for all resources.  The default default "service_types" is "[
     up ]", which simply sets them all "UP" statically.

     The rest of the hash entries at the top level are the names of the re-
     sources you define.  Each resource gets a configuration hash of its own for
     containing resource-specific address info.

RESOURCE CONFIG
     Within a resource, "service_types" is again supported, to set the monitored
     service type(s) for this specific resource.

     If "addrs_v4" is defined, it must be a hash containing two keys: "primary"
     and "secondary", each of which has an IPv4 string address value.

     Similarly, if "addrs_v6" is defined, it must be a hash containing two keys:
     "primary" and "secondary", each of which has an IPv6 string address value.

     If neither of those two sub-stanzas is defined, you must define a single
     pair of "primary" and "secondary" addresses for the whole resource.  These
     can be of either address family, so long as they are both the same family.

     When "addrs_v4" and/or "addrs_v6" are used, "service_types" can also be
     overridden within each, for different behavior per-address-family (e.g.
     force one protocol always up/down).

OPERATIONAL MECHANICS
     For each address family for which you have supplied data, the following
     logic is applied independently:

     *	 First, the worst monitored state of all "service_types" checks for the
	 primary address is obtained.  If this state is "UP", the primary ad-
	 dress is used.

     *	 If the primary address was "DOWN", the secondary address is checked: If
	 the secondary is "UP", it will be used.  If the secondary is also
	 "DOWN", then the primary is used.

     *	 In any case other than the primary being exactly "UP", the response
	 RR-set TTL from the zonefile will be cut in half for both address fami-
	 lies.

     If both "primary" and "secondary" were "DOWN" for either address family,
     this plugin will signal total resource failure to any upstream module
     (geoip or metafo).  The cutting of the TTL only happens once for all ad-
     dress RRs, even if both families had a non-"UP" primary.

SEE ALSO
     gdnsd.config(5), gdnsd.zonefile(5), gdnsd(8), gdnsd-plugin-multifo(8)

     The gdnsd manual.

COPYRIGHT AND LICENSE
     Copyright (c) 2012 Brandon L Black <blblack@gmail.com>

     This file is part of gdnsd.

     gdnsd is free software: you can redistribute it and/or modify it under the
     terms of the GNU General Public License as published by the Free Software
     Foundation, either version 3 of the License, or (at your option) any later
     version.

     gdnsd is distributed in the hope that it will be useful, but WITHOUT ANY
     WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
     FOR A PARTICULAR PURPOSE.	See the GNU General Public License for more de-
     tails.

     You should have received a copy of the GNU General Public License along
     with gdnsd.  If not, see <http://www.gnu.org/licenses/>.

gdnsd 3.8.0			   2026-08-01		GDNSD-PLUGIN-SIMPLEFO(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gdnsd-plugin-simplefo&sektion=8&manpath=FreeBSD+Ports+15.1.quarterly>

home | help