GDNSD.ZONEFILE(5) gdnsd GDNSD.ZONEFILE(5) (NAME) gdnsd.zonefile - (zone) gdnsd (SYNOPSIS) example.com: $TTL 86400 @ SOA ns1 dns-admin ( 1 ; serial 7200 ; refresh 30M ; retry 3D ; expire 900 ; ncache ) @ NS ns1.example.com. @ NS ns2 @ NS ns.example.net. ns1 A 192.0.2.1 ; a comment ns2.example.com. A 192.0.2.2 @ 7200 MX 10 mail-a @ 7200 MX 100 mail-b $ttl 86400 ; a comment mail-a A 192.0.2.3 mail-b A 192.0.2.4 subz NS ns1.subz subz NS ns2.subz ns1.subz A 192.0.2.5 ns2.subz A 192.0.2.6 www 600/10 DYNA some_plugin!resource_name alias CNAME www _http._tcp 1800 SRV 5 500 80 www foo TXT "blah blah" "blah" _spf TXT "v=spf1 ..." (DESCRIPTION) (zonefile) gdnsd(8) . RFC 1035 ( <<>> BIND ) . / . (DIRECTIVES) $TTL $ORIGIN $INCLUDE : $TTL TTL . $TTL TTL "zones_default_ttl" 86400 ( ) . $ORIGIN (unqualified hostnames "." ) "@" ( ) . $ORIGIN . $ORIGIN (fully-qualified) . . $INCLUDE $INCLUDE . include $ORIGIN . ( TTL ) . $GENERATE BIND . (SPECIAL NAMES AND ORIGINS) "@" . gdnsd @Z @F . ( $ORIGIN) . "@" . @Z @F <<$INCLUDE>> . : * zones/example.org has the line "$INCLUDE includes/foo foo" * zones/includes/foo has these lines: $ORIGIN bar asdf A 192.0.2.1 $ORIGIN baz.@F asdf A 192.0.2.2 $ORIGIN quux.@Z asdf A 192.0.2.3 * This results in creating all of these: asdf.bar.foo.example.org A 192.0.2.1 asdf.baz.foo.example.org A 192.0.2.2 asdf.quux.example.org A 192.0.2.3 @F @Z . . zones/example.org zones/example.com . (SUPPORTED RESOURCE RECORD TYPES) (RR) "IN" . gdnsd(8) RR RDATA : : SOA A AAAA NS PTR CNAME MX SRV TXT NAPTR : CAA : HINFO RR RFC 3597 : foo TYPE31337 \# 10 0123456789 ABCDEF0123 ... RR 31337 RDATA RR . RFC 3597 . gdnsd RFC3597 RR . RFC3597 HINFO gdnsd "ANY" RFC 8482 HINFO . TTL "SOA" <> ( RFC 2308 < >> ) TTL SOA . TTL TTL SOA ( ) . gdnsd DYNA DYNC : DYNA "DYNA" ( A AAAA) () . RR "DYNA" . IP DNS / edns-client-subnet . "DYNA" "A" / "AAAA" . "DYNA" A AAAA RR . "DYNA" "DYNAAAA" (nameservers) . "NS" "DYNA" "DYNAAAA" ( "A" "AAAA" ). : ; asks plugin 'geoip' to provide address data from ; its resource named 'pubwww' for address queries. foo DYNA geoip!pubwww foo MX 10 mail DYNC "DYNC" "DYNA" . "DYNC" "CNAME" . "DYNC" "CNAME" . "DYNC" "NS" "SOA" . CNAME "DYNC" "DYNC" . : ; asks plugin 'geoip' to provide address data or a CNAME ; (at the plugin's discretion) for its resource named ; 'www'. No other RRs of any type for name 'foo' are ; legal alongside this record. foo DYNC geoip!www DYNA/DYNC (DYNA/DYNC TTLs) TTL "DYNA" "DYNC" TTL RR . TTL DYNA/DYNC "MAX[/MIN]" "MIN" "MAX" . ( <> gdnsd.config(8) ) gdnsd "DYNA" "DYNC" . "DOWN" "UP" ( ) . TTL . / ( multifo) TTL TTL . TTL "MAX" "MIN" . : ; Explicit range of 30 - 300: www 300/30 DYNC weighted!foo ; Implicit range of 150 - 300: www 300 DYNA metafo!myservice ; Avoid all TTL-mangling and use a fixed value of 10 minutes: www 600/600 DYNA geoip!foo-dist TXT (TXT data auto-splitting) "TXT" gdnsd . ( gdnsd.config(5) ). TXT rdata (wire transmission) . (SEE ALSO) gdnsd(8) gdnsd.config(5) gdnsd. (COPYRIGHT AND LICENSE) (c) 2012 Brandon L Black gdnsd . gdnsd : << >> (GNU General Public License) ( ) / . gdnsd << >> << >>. << >> . << >> gdnsd . : gdnsd 3.8.3 2026-04-04 GDNSD.ZONEFILE(5)