GDNSD(8) gdnsd GDNSD(8) (NAME) gdnsd - (authoritative) (DNS) (SYNOPSIS) : gdnsd [-c /etc/gdnsd] [-D] [-l] [-S] [-R | -i] -c - ( /etc/gdnsd) -D - (debug) -l - syslog stderr -S - 'zones_strict_data = true' -R - (downtimeless) -i - (idempotent) start/daemonize: ( -R -i ) (Actions): checkconf - start - (foreground) daemonize - ( -l) (DESCRIPTION) gdnsd (pluggable) (authoritative) (DNS) . (BASIC CONFIGURATION) config . . gdnsd (zones) ( "/etc/gdnsd/zones/") 0.0.0.0 "::" . (COMMANDLINE OPTION FLAGS) -c /etc/gdnsd . zones/ . -D (debug) . -l stderr syslog . "daemonize" systemd . -S "zones_strict_data" true . "checkconf" . -R (Replace) "start" "daemonize": "start" "daemonize" . (downtime-less) . . "replace" gdnsdctl(8) . -i (Idempotent) "start" "daemonize": "start" "daemonize" . . (ACTIONS) checkconf ( ). "checkconf" ( ) . start gdnsd DNS stderr . daemonize gdnsd (session) (init) syslog . ( stderr syslog ). STDERR . --help --version . (PRIVILEGES) "root" "root" ( memlock rlimits ) . DNS (privileged) (Just Work). : init systemd init init / (security-jailing) / (ACL) . SYSTEMD (SYSTEMD COMPATIBILITY) systemd "start" "daemonize" "-l" "Type=notify" "NotifyAccess=all" . systemd $NOTIFY_SOCKET . "ExecStop=" "gdnsdctl -l stop" . (unit file) systemd . - RFC1035 (ZONE FILES - RFC1035) RFC1035 ( ) zones/ /etc/gdnsd/zones/ . RFC1035 BIND . gdnsd.zonefile(5) . . . . "." . (regular files) ( ). in-addr.arpa RFC 2137 ( ) "@" ("/") . (root) DNS ROOT_ZONE .. <-> . (escape sequences) DNS ( "\." "\NNN" NNN 0 - 255 ) . example.com example.com. . ( "example.com" / EXample.Com) . (subzones) ( "example.com" "subz.example.com") . - (ZONE FILES - RELOADING) "gdnsdctl reload-zones" . (thread) DNS . "gdnsdctl" (stdout) . (discard) . (DIRECTORIES) : /etc/gdnsd "-c" . config . //run/gdnsd run_dir. . "run_dir" gdnsd.config(5) . //lib/gdnsd state_dir. admin_state (FILES) . "state_dir" gdnsd.config(5) . /usr/lib/gdnsd . gdnsd_extmon_helper extmon gdnsd-plugin-extmon(8) . - //lib/gdnsd/admin_state (ADMIN STATE FILE - //lib/gdnsd/admin_state) (resolution) . (failover) / . . . . (monitoring) (resolution) gdnsd ( gdnsd.config(5) ). (hash) vscf ( gdnsd.config(5) ). ( TTL ) . (glob) (wildcard) . "THING/service_type" "THING" CNAME "service_type" CNAME . "STATE[/TTL]" "STATE" "UP" "DOWN" TTL TTL . . (glob-matches) . : //lib/gdnsd/admin_state: 2001:db8::2:123/my_http_check => DOWN # res+stype foo.example.com./extmon_ping => UP # res+stype 192.0.2.1/* => DOWN # service_type */xmpp => UP/30 # xmpp TTL 30 ... 192.0.2.2/xmpp => DOWN # ... ( "service_type" ) . geoip metafo "datacenters" "plugin_name/resname/dcname" . geoip "plugin_name/mapname/dcname" (map) . geoip/metafo ( multifo weighted ) geoip . : //lib/gdnsd/admin_state: geoip/map3/dc-us => DOWN # dc-us geoip map3 */dc-jp => DOWN # dc-jp geoip metafo metafo/res_www/dc-jp => UP # / "gdnsdctl states" JSON . (SIGNALS) . SIGTERM, SIGINT . . SIGPIPE . SIGHUP "daemonize" "SIGHUP" . "start" "SIGHUP" . SIGUSR1 . "gdnsdctl" . . SIGUSR2 (inter-thread) . . (EXIT STATUS) . "daemonize" . "start" . (SEE ALSO) gdnsd.config(5), gdnsd.zonefile(5) gdnsd. (COPYRIGHT AND LICENSE) Copyright (c) 2012 Brandon L Black gdnsd . gdnsd : (GNU General Public License) ( ) / . gdnsd . . gdnsd . . gdnsd 3.8.3 2026-04-04 GDNSD(8)