Home | History | Annotate | Line # | Download | only in misc
options revision 1.1
      1 
      2 This is a summary of the named.conf options supported by 
      3 this version of BIND 9.
      4 
      5 acl <string> { <address_match_element>; ... }; // may occur multiple times
      6 
      7 controls {
      8         inet ( <ipv4_address> | <ipv6_address> |
      9             * ) [ port ( <integer> | * ) ] allow
     10             { <address_match_element>; ... } [
     11             keys { <string>; ... } ] [ read-only
     12             <boolean> ]; // may occur multiple times
     13         unix <quoted_string> perm <integer>
     14             owner <integer> group <integer> [
     15             keys { <string>; ... } ] [ read-only
     16             <boolean> ]; // may occur multiple times
     17 }; // may occur multiple times
     18 
     19 dlz <string> {
     20         database <string>;
     21         search <boolean>;
     22 }; // may occur multiple times
     23 
     24 dyndb <string> <quoted_string> {
     25     <unspecified-text> }; // may occur multiple times
     26 
     27 key <string> {
     28         algorithm <string>;
     29         secret <string>;
     30 }; // may occur multiple times
     31 
     32 logging {
     33         category <string> { <string>; ... }; // may occur multiple times
     34         channel <string> {
     35                 buffered <boolean>;
     36                 file <quoted_string> [ versions ( unlimited | <integer> ) ]
     37                     [ size <size> ] [ suffix ( increment | timestamp ) ];
     38                 null;
     39                 print-category <boolean>;
     40                 print-severity <boolean>;
     41                 print-time ( iso8601 | iso8601-utc | local | <boolean> );
     42                 severity <log_severity>;
     43                 stderr;
     44                 syslog [ <syslog_facility> ];
     45         }; // may occur multiple times
     46 };
     47 
     48 lwres { <unspecified-text> }; // obsolete, may occur multiple times
     49 
     50 managed-keys { <string> <string> <integer>
     51     <integer> <integer> <quoted_string>; ... }; // may occur multiple times
     52 
     53 masters <string> [ port <integer> ] [ dscp
     54     <integer> ] { ( <masters> | <ipv4_address> [
     55     port <integer> ] | <ipv6_address> [ port
     56     <integer> ] ) [ key <string> ]; ... }; // may occur multiple times
     57 
     58 options {
     59         acache-cleaning-interval <integer>; // obsolete
     60         acache-enable <boolean>; // obsolete
     61         additional-from-auth <boolean>; // obsolete
     62         additional-from-cache <boolean>; // obsolete
     63         allow-new-zones <boolean>;
     64         allow-notify { <address_match_element>; ... };
     65         allow-query { <address_match_element>; ... };
     66         allow-query-cache { <address_match_element>; ... };
     67         allow-query-cache-on { <address_match_element>; ... };
     68         allow-query-on { <address_match_element>; ... };
     69         allow-recursion { <address_match_element>; ... };
     70         allow-recursion-on { <address_match_element>; ... };
     71         allow-transfer { <address_match_element>; ... };
     72         allow-update { <address_match_element>; ... };
     73         allow-update-forwarding { <address_match_element>; ... };
     74         allow-v6-synthesis { <address_match_element>; ... }; // obsolete
     75         also-notify [ port <integer> ] [ dscp <integer> ] { ( <masters> |
     76             <ipv4_address> [ port <integer> ] | <ipv6_address> [ port
     77             <integer> ] ) [ key <string> ]; ... };
     78         alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * )
     79             ] [ dscp <integer> ];
     80         alt-transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> |
     81             * ) ] [ dscp <integer> ];
     82         answer-cookie <boolean>;
     83         attach-cache <string>;
     84         auth-nxdomain <boolean>; // default changed
     85         auto-dnssec ( allow | maintain | off );
     86         automatic-interface-scan <boolean>;
     87         avoid-v4-udp-ports { <portrange>; ... };
     88         avoid-v6-udp-ports { <portrange>; ... };
     89         bindkeys-file <quoted_string>;
     90         blackhole { <address_match_element>; ... };
     91         cache-file <quoted_string>;
     92         catalog-zones { zone <quoted_string> [ default-masters [ port
     93             <integer> ] [ dscp <integer> ] { ( <masters> | <ipv4_address> [
     94             port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key
     95             <string> ]; ... } ] [ zone-directory <quoted_string> ] [
     96             in-memory <boolean> ] [ min-update-interval <integer> ]; ... };
     97         check-dup-records ( fail | warn | ignore );
     98         check-integrity <boolean>;
     99         check-mx ( fail | warn | ignore );
    100         check-mx-cname ( fail | warn | ignore );
    101         check-names ( master | slave | response
    102             ) ( fail | warn | ignore ); // may occur multiple times
    103         check-sibling <boolean>;
    104         check-spf ( warn | ignore );
    105         check-srv-cname ( fail | warn | ignore );
    106         check-wildcard <boolean>;
    107         cleaning-interval <integer>;
    108         clients-per-query <integer>;
    109         cookie-algorithm ( aes | sha1 | sha256 );
    110         cookie-secret <string>; // may occur multiple times
    111         coresize ( default | unlimited | <sizeval> );
    112         datasize ( default | unlimited | <sizeval> );
    113         deallocate-on-exit <boolean>; // obsolete
    114         deny-answer-addresses { <address_match_element>; ... } [
    115             except-from { <quoted_string>; ... } ];
    116         deny-answer-aliases { <quoted_string>; ... } [ except-from {
    117             <quoted_string>; ... } ];
    118         dialup ( notify | notify-passive | passive | refresh | <boolean> );
    119         directory <quoted_string>;
    120         disable-algorithms <string> { <string>;
    121             ... }; // may occur multiple times
    122         disable-ds-digests <string> { <string>;
    123             ... }; // may occur multiple times
    124         disable-empty-zone <string>; // may occur multiple times
    125         dns64 <netprefix> {
    126                 break-dnssec <boolean>;
    127                 clients { <address_match_element>; ... };
    128                 exclude { <address_match_element>; ... };
    129                 mapped { <address_match_element>; ... };
    130                 recursive-only <boolean>;
    131                 suffix <ipv6_address>;
    132         }; // may occur multiple times
    133         dns64-contact <string>;
    134         dns64-server <string>;
    135         dnsrps-enable <boolean>; // not configured
    136         dnsrps-options { <unspecified-text> }; // not configured
    137         dnssec-accept-expired <boolean>;
    138         dnssec-dnskey-kskonly <boolean>;
    139         dnssec-enable <boolean>;
    140         dnssec-loadkeys-interval <integer>;
    141         dnssec-lookaside ( <string> trust-anchor
    142             <string> | auto | no ); // may occur multiple times
    143         dnssec-must-be-secure <string> <boolean>; // may occur multiple times
    144         dnssec-secure-to-insecure <boolean>;
    145         dnssec-update-mode ( maintain | no-resign );
    146         dnssec-validation ( yes | no | auto );
    147         dnstap { ( all | auth | client | forwarder |
    148             resolver ) [ ( query | response ) ]; ... }; // not configured
    149         dnstap-identity ( <quoted_string> | none |
    150             hostname ); // not configured
    151         dnstap-output ( file | unix ) <quoted_string> [
    152             size ( unlimited | <size> ) ] [ versions (
    153             unlimited | <integer> ) ] [ suffix ( increment
    154             | timestamp ) ]; // not configured
    155         dnstap-version ( <quoted_string> | none ); // not configured
    156         dscp <integer>;
    157         dual-stack-servers [ port <integer> ] { ( <quoted_string> [ port
    158             <integer> ] [ dscp <integer> ] | <ipv4_address> [ port
    159             <integer> ] [ dscp <integer> ] | <ipv6_address> [ port
    160             <integer> ] [ dscp <integer> ] ); ... };
    161         dump-file <quoted_string>;
    162         edns-udp-size <integer>;
    163         empty-contact <string>;
    164         empty-server <string>;
    165         empty-zones-enable <boolean>;
    166         fake-iquery <boolean>; // obsolete
    167         fetch-glue <boolean>; // obsolete
    168         fetch-quota-params <integer> <fixedpoint> <fixedpoint> <fixedpoint>;
    169         fetches-per-server <integer> [ ( drop | fail ) ];
    170         fetches-per-zone <integer> [ ( drop | fail ) ];
    171         files ( default | unlimited | <sizeval> );
    172         filter-aaaa { <address_match_element>; ... };
    173         filter-aaaa-on-v4 ( break-dnssec | <boolean> );
    174         filter-aaaa-on-v6 ( break-dnssec | <boolean> );
    175         flush-zones-on-shutdown <boolean>;
    176         forward ( first | only );
    177         forwarders [ port <integer> ] [ dscp <integer> ] { ( <ipv4_address>
    178             | <ipv6_address> ) [ port <integer> ] [ dscp <integer> ]; ... };
    179         fstrm-set-buffer-hint <integer>; // not configured
    180         fstrm-set-flush-timeout <integer>; // not configured
    181         fstrm-set-input-queue-size <integer>; // not configured
    182         fstrm-set-output-notify-threshold <integer>; // not configured
    183         fstrm-set-output-queue-model ( mpsc | spsc ); // not configured
    184         fstrm-set-output-queue-size <integer>; // not configured
    185         fstrm-set-reopen-interval <integer>; // not configured
    186         geoip-directory ( <quoted_string> | none ); // not configured
    187         geoip-use-ecs <boolean>; // not configured
    188         glue-cache <boolean>;
    189         has-old-clients <boolean>; // obsolete
    190         heartbeat-interval <integer>;
    191         host-statistics <boolean>; // not implemented
    192         host-statistics-max <integer>; // not implemented
    193         hostname ( <quoted_string> | none );
    194         inline-signing <boolean>;
    195         interface-interval <integer>;
    196         ixfr-from-differences ( master | slave | <boolean> );
    197         keep-response-order { <address_match_element>; ... };
    198         key-directory <quoted_string>;
    199         lame-ttl <ttlval>;
    200         listen-on [ port <integer> ] [ dscp
    201             <integer> ] {
    202             <address_match_element>; ... }; // may occur multiple times
    203         listen-on-v6 [ port <integer> ] [ dscp
    204             <integer> ] {
    205             <address_match_element>; ... }; // may occur multiple times
    206         lmdb-mapsize <sizeval>; // non-operational
    207         lock-file ( <quoted_string> | none );
    208         maintain-ixfr-base <boolean>; // obsolete
    209         managed-keys-directory <quoted_string>;
    210         masterfile-format ( map | raw | text );
    211         masterfile-style ( full | relative );
    212         match-mapped-addresses <boolean>;
    213         max-acache-size ( unlimited | <sizeval> ); // obsolete
    214         max-cache-size ( default | unlimited | <sizeval> | <percentage> );
    215         max-cache-ttl <integer>;
    216         max-clients-per-query <integer>;
    217         max-ixfr-log-size ( default | unlimited | <sizeval> ); // obsolete
    218         max-journal-size ( default | unlimited | <sizeval> );
    219         max-ncache-ttl <integer>;
    220         max-records <integer>;
    221         max-recursion-depth <integer>;
    222         max-recursion-queries <integer>;
    223         max-refresh-time <integer>;
    224         max-retry-time <integer>;
    225         max-rsa-exponent-size <integer>;
    226         max-stale-ttl <ttlval>;
    227         max-transfer-idle-in <integer>;
    228         max-transfer-idle-out <integer>;
    229         max-transfer-time-in <integer>;
    230         max-transfer-time-out <integer>;
    231         max-udp-size <integer>;
    232         max-zone-ttl ( unlimited | <ttlval> );
    233         memstatistics <boolean>;
    234         memstatistics-file <quoted_string>;
    235         message-compression <boolean>;
    236         min-refresh-time <integer>;
    237         min-retry-time <integer>;
    238         min-roots <integer>; // not implemented
    239         minimal-any <boolean>;
    240         minimal-responses ( no-auth | no-auth-recursive | <boolean> );
    241         multi-master <boolean>;
    242         multiple-cnames <boolean>; // obsolete
    243         named-xfer <quoted_string>; // obsolete
    244         new-zones-directory <quoted_string>;
    245         no-case-compress { <address_match_element>; ... };
    246         nocookie-udp-size <integer>;
    247         nosit-udp-size <integer>; // obsolete
    248         notify ( explicit | master-only | <boolean> );
    249         notify-delay <integer>;
    250         notify-rate <integer>;
    251         notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [
    252             dscp <integer> ];
    253         notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ]
    254             [ dscp <integer> ];
    255         notify-to-soa <boolean>;
    256         nsec3-test-zone <boolean>; // test only
    257         nta-lifetime <ttlval>;
    258         nta-recheck <ttlval>;
    259         nxdomain-redirect <string>;
    260         pid-file ( <quoted_string> | none );
    261         port <integer>;
    262         preferred-glue <string>;
    263         prefetch <integer> [ <integer> ];
    264         provide-ixfr <boolean>;
    265         query-source ( ( [ address ] ( <ipv4_address> | * ) [ port (
    266             <integer> | * ) ] ) | ( [ [ address ] ( <ipv4_address> | * ) ]
    267             port ( <integer> | * ) ) ) [ dscp <integer> ];
    268         query-source-v6 ( ( [ address ] ( <ipv6_address> | * ) [ port (
    269             <integer> | * ) ] ) | ( [ [ address ] ( <ipv6_address> | * ) ]
    270             port ( <integer> | * ) ) ) [ dscp <integer> ];
    271         querylog <boolean>;
    272         queryport-pool-ports <integer>; // obsolete
    273         queryport-pool-updateinterval <integer>; // obsolete
    274         random-device ( <quoted_string> | none );
    275         rate-limit {
    276                 all-per-second <integer>;
    277                 errors-per-second <integer>;
    278                 exempt-clients { <address_match_element>; ... };
    279                 ipv4-prefix-length <integer>;
    280                 ipv6-prefix-length <integer>;
    281                 log-only <boolean>;
    282                 max-table-size <integer>;
    283                 min-table-size <integer>;
    284                 nodata-per-second <integer>;
    285                 nxdomains-per-second <integer>;
    286                 qps-scale <integer>;
    287                 referrals-per-second <integer>;
    288                 responses-per-second <integer>;
    289                 slip <integer>;
    290                 window <integer>;
    291         };
    292         recursing-file <quoted_string>;
    293         recursion <boolean>;
    294         recursive-clients <integer>;
    295         request-expire <boolean>;
    296         request-ixfr <boolean>;
    297         request-nsid <boolean>;
    298         request-sit <boolean>; // obsolete
    299         require-server-cookie <boolean>;
    300         reserved-sockets <integer>;
    301         resolver-nonbackoff-tries <integer>;
    302         resolver-query-timeout <integer>;
    303         resolver-retry-interval <integer>;
    304         response-padding { <address_match_element>; ... } block-size
    305             <integer>;
    306         response-policy { zone <quoted_string> [ log <boolean> ] [
    307             max-policy-ttl <integer> ] [ min-update-interval <integer> ] [
    308             policy ( cname | disabled | drop | given | no-op | nodata |
    309             nxdomain | passthru | tcp-only <quoted_string> ) ] [
    310             recursive-only <boolean> ] [ nsip-enable <boolean> ] [
    311             nsdname-enable <boolean> ]; ... } [ break-dnssec <boolean> ] [
    312             max-policy-ttl <integer> ] [ min-update-interval <integer> ] [
    313             min-ns-dots <integer> ] [ nsip-wait-recurse <boolean> ] [
    314             qname-wait-recurse <boolean> ] [ recursive-only <boolean> ] [
    315             nsip-enable <boolean> ] [ nsdname-enable <boolean> ] [
    316             dnsrps-enable <boolean> ] [ dnsrps-options { <unspecified-text>
    317             } ];
    318         rfc2308-type1 <boolean>; // not yet implemented
    319         root-delegation-only [ exclude { <quoted_string>; ... } ];
    320         root-key-sentinel <boolean>;
    321         rrset-order { [ class <string> ] [ type <string> ] [ name
    322             <quoted_string> ] <string> <string>; ... };
    323         secroots-file <quoted_string>;
    324         send-cookie <boolean>;
    325         serial-queries <integer>; // obsolete
    326         serial-query-rate <integer>;
    327         serial-update-method ( date | increment | unixtime );
    328         server-id ( <quoted_string> | none | hostname );
    329         servfail-ttl <ttlval>;
    330         session-keyalg <string>;
    331         session-keyfile ( <quoted_string> | none );
    332         session-keyname <string>;
    333         sig-signing-nodes <integer>;
    334         sig-signing-signatures <integer>;
    335         sig-signing-type <integer>;
    336         sig-validity-interval <integer> [ <integer> ];
    337         sit-secret <string>; // obsolete
    338         sortlist { <address_match_element>; ... };
    339         stacksize ( default | unlimited | <sizeval> );
    340         stale-answer-enable <boolean>;
    341         stale-answer-ttl <ttlval>;
    342         startup-notify-rate <integer>;
    343         statistics-file <quoted_string>;
    344         statistics-interval <integer>; // not yet implemented
    345         suppress-initial-notify <boolean>; // not yet implemented
    346         synth-from-dnssec <boolean>;
    347         tcp-advertised-timeout <integer>;
    348         tcp-clients <integer>;
    349         tcp-idle-timeout <integer>;
    350         tcp-initial-timeout <integer>;
    351         tcp-keepalive-timeout <integer>;
    352         tcp-listen-queue <integer>;
    353         tkey-dhkey <quoted_string> <integer>;
    354         tkey-domain <quoted_string>;
    355         tkey-gssapi-credential <quoted_string>;
    356         tkey-gssapi-keytab <quoted_string>;
    357         topology { <address_match_element>; ... }; // not implemented
    358         transfer-format ( many-answers | one-answer );
    359         transfer-message-size <integer>;
    360         transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [
    361             dscp <integer> ];
    362         transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * )
    363             ] [ dscp <integer> ];
    364         transfers-in <integer>;
    365         transfers-out <integer>;
    366         transfers-per-ns <integer>;
    367         treat-cr-as-space <boolean>; // obsolete
    368         trust-anchor-telemetry <boolean>; // experimental
    369         try-tcp-refresh <boolean>;
    370         update-check-ksk <boolean>;
    371         use-alt-transfer-source <boolean>;
    372         use-id-pool <boolean>; // obsolete
    373         use-ixfr <boolean>; // obsolete
    374         use-queryport-pool <boolean>; // obsolete
    375         use-v4-udp-ports { <portrange>; ... };
    376         use-v6-udp-ports { <portrange>; ... };
    377         v6-bias <integer>;
    378         version ( <quoted_string> | none );
    379         zero-no-soa-ttl <boolean>;
    380         zero-no-soa-ttl-cache <boolean>;
    381         zone-statistics ( full | terse | none | <boolean> );
    382 };
    383 
    384 server <netprefix> {
    385         bogus <boolean>;
    386         edns <boolean>;
    387         edns-udp-size <integer>;
    388         edns-version <integer>;
    389         keys <server_key>;
    390         max-udp-size <integer>;
    391         notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [
    392             dscp <integer> ];
    393         notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ]
    394             [ dscp <integer> ];
    395         padding <integer>;
    396         provide-ixfr <boolean>;
    397         query-source ( ( [ address ] ( <ipv4_address> | * ) [ port (
    398             <integer> | * ) ] ) | ( [ [ address ] ( <ipv4_address> | * ) ]
    399             port ( <integer> | * ) ) ) [ dscp <integer> ];
    400         query-source-v6 ( ( [ address ] ( <ipv6_address> | * ) [ port (
    401             <integer> | * ) ] ) | ( [ [ address ] ( <ipv6_address> | * ) ]
    402             port ( <integer> | * ) ) ) [ dscp <integer> ];
    403         request-expire <boolean>;
    404         request-ixfr <boolean>;
    405         request-nsid <boolean>;
    406         request-sit <boolean>; // obsolete
    407         send-cookie <boolean>;
    408         support-ixfr <boolean>; // obsolete
    409         tcp-keepalive <boolean>;
    410         tcp-only <boolean>;
    411         transfer-format ( many-answers | one-answer );
    412         transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [
    413             dscp <integer> ];
    414         transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * )
    415             ] [ dscp <integer> ];
    416         transfers <integer>;
    417 }; // may occur multiple times
    418 
    419 statistics-channels {
    420         inet ( <ipv4_address> | <ipv6_address> |
    421             * ) [ port ( <integer> | * ) ] [
    422             allow { <address_match_element>; ...
    423             } ]; // may occur multiple times
    424 }; // may occur multiple times
    425 
    426 trusted-keys { <string> <integer> <integer>
    427     <integer> <quoted_string>; ... }; // may occur multiple times
    428 
    429 view <string> [ <class> ] {
    430         acache-cleaning-interval <integer>; // obsolete
    431         acache-enable <boolean>; // obsolete
    432         additional-from-auth <boolean>; // obsolete
    433         additional-from-cache <boolean>; // obsolete
    434         allow-new-zones <boolean>;
    435         allow-notify { <address_match_element>; ... };
    436         allow-query { <address_match_element>; ... };
    437         allow-query-cache { <address_match_element>; ... };
    438         allow-query-cache-on { <address_match_element>; ... };
    439         allow-query-on { <address_match_element>; ... };
    440         allow-recursion { <address_match_element>; ... };
    441         allow-recursion-on { <address_match_element>; ... };
    442         allow-transfer { <address_match_element>; ... };
    443         allow-update { <address_match_element>; ... };
    444         allow-update-forwarding { <address_match_element>; ... };
    445         allow-v6-synthesis { <address_match_element>; ... }; // obsolete
    446         also-notify [ port <integer> ] [ dscp <integer> ] { ( <masters> |
    447             <ipv4_address> [ port <integer> ] | <ipv6_address> [ port
    448             <integer> ] ) [ key <string> ]; ... };
    449         alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * )
    450             ] [ dscp <integer> ];
    451         alt-transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> |
    452             * ) ] [ dscp <integer> ];
    453         attach-cache <string>;
    454         auth-nxdomain <boolean>; // default changed
    455         auto-dnssec ( allow | maintain | off );
    456         cache-file <quoted_string>;
    457         catalog-zones { zone <quoted_string> [ default-masters [ port
    458             <integer> ] [ dscp <integer> ] { ( <masters> | <ipv4_address> [
    459             port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key
    460             <string> ]; ... } ] [ zone-directory <quoted_string> ] [
    461             in-memory <boolean> ] [ min-update-interval <integer> ]; ... };
    462         check-dup-records ( fail | warn | ignore );
    463         check-integrity <boolean>;
    464         check-mx ( fail | warn | ignore );
    465         check-mx-cname ( fail | warn | ignore );
    466         check-names ( master | slave | response
    467             ) ( fail | warn | ignore ); // may occur multiple times
    468         check-sibling <boolean>;
    469         check-spf ( warn | ignore );
    470         check-srv-cname ( fail | warn | ignore );
    471         check-wildcard <boolean>;
    472         cleaning-interval <integer>;
    473         clients-per-query <integer>;
    474         deny-answer-addresses { <address_match_element>; ... } [
    475             except-from { <quoted_string>; ... } ];
    476         deny-answer-aliases { <quoted_string>; ... } [ except-from {
    477             <quoted_string>; ... } ];
    478         dialup ( notify | notify-passive | passive | refresh | <boolean> );
    479         disable-algorithms <string> { <string>;
    480             ... }; // may occur multiple times
    481         disable-ds-digests <string> { <string>;
    482             ... }; // may occur multiple times
    483         disable-empty-zone <string>; // may occur multiple times
    484         dlz <string> {
    485                 database <string>;
    486                 search <boolean>;
    487         }; // may occur multiple times
    488         dns64 <netprefix> {
    489                 break-dnssec <boolean>;
    490                 clients { <address_match_element>; ... };
    491                 exclude { <address_match_element>; ... };
    492                 mapped { <address_match_element>; ... };
    493                 recursive-only <boolean>;
    494                 suffix <ipv6_address>;
    495         }; // may occur multiple times
    496         dns64-contact <string>;
    497         dns64-server <string>;
    498         dnsrps-enable <boolean>; // not configured
    499         dnsrps-options { <unspecified-text> }; // not configured
    500         dnssec-accept-expired <boolean>;
    501         dnssec-dnskey-kskonly <boolean>;
    502         dnssec-enable <boolean>;
    503         dnssec-loadkeys-interval <integer>;
    504         dnssec-lookaside ( <string> trust-anchor
    505             <string> | auto | no ); // may occur multiple times
    506         dnssec-must-be-secure <string> <boolean>; // may occur multiple times
    507         dnssec-secure-to-insecure <boolean>;
    508         dnssec-update-mode ( maintain | no-resign );
    509         dnssec-validation ( yes | no | auto );
    510         dnstap { ( all | auth | client | forwarder |
    511             resolver ) [ ( query | response ) ]; ... }; // not configured
    512         dual-stack-servers [ port <integer> ] { ( <quoted_string> [ port
    513             <integer> ] [ dscp <integer> ] | <ipv4_address> [ port
    514             <integer> ] [ dscp <integer> ] | <ipv6_address> [ port
    515             <integer> ] [ dscp <integer> ] ); ... };
    516         dyndb <string> <quoted_string> {
    517             <unspecified-text> }; // may occur multiple times
    518         edns-udp-size <integer>;
    519         empty-contact <string>;
    520         empty-server <string>;
    521         empty-zones-enable <boolean>;
    522         fetch-glue <boolean>; // obsolete
    523         fetch-quota-params <integer> <fixedpoint> <fixedpoint> <fixedpoint>;
    524         fetches-per-server <integer> [ ( drop | fail ) ];
    525         fetches-per-zone <integer> [ ( drop | fail ) ];
    526         filter-aaaa { <address_match_element>; ... };
    527         filter-aaaa-on-v4 ( break-dnssec | <boolean> );
    528         filter-aaaa-on-v6 ( break-dnssec | <boolean> );
    529         forward ( first | only );
    530         forwarders [ port <integer> ] [ dscp <integer> ] { ( <ipv4_address>
    531             | <ipv6_address> ) [ port <integer> ] [ dscp <integer> ]; ... };
    532         glue-cache <boolean>;
    533         inline-signing <boolean>;
    534         ixfr-from-differences ( master | slave | <boolean> );
    535         key <string> {
    536                 algorithm <string>;
    537                 secret <string>;
    538         }; // may occur multiple times
    539         key-directory <quoted_string>;
    540         lame-ttl <ttlval>;
    541         lmdb-mapsize <sizeval>; // non-operational
    542         maintain-ixfr-base <boolean>; // obsolete
    543         managed-keys { <string> <string>
    544             <integer> <integer> <integer>
    545             <quoted_string>; ... }; // may occur multiple times
    546         masterfile-format ( map | raw | text );
    547         masterfile-style ( full | relative );
    548         match-clients { <address_match_element>; ... };
    549         match-destinations { <address_match_element>; ... };
    550         match-recursive-only <boolean>;
    551         max-acache-size ( unlimited | <sizeval> ); // obsolete
    552         max-cache-size ( default | unlimited | <sizeval> | <percentage> );
    553         max-cache-ttl <integer>;
    554         max-clients-per-query <integer>;
    555         max-ixfr-log-size ( default | unlimited | <sizeval> ); // obsolete
    556         max-journal-size ( default | unlimited | <sizeval> );
    557         max-ncache-ttl <integer>;
    558         max-records <integer>;
    559         max-recursion-depth <integer>;
    560         max-recursion-queries <integer>;
    561         max-refresh-time <integer>;
    562         max-retry-time <integer>;
    563         max-stale-ttl <ttlval>;
    564         max-transfer-idle-in <integer>;
    565         max-transfer-idle-out <integer>;
    566         max-transfer-time-in <integer>;
    567         max-transfer-time-out <integer>;
    568         max-udp-size <integer>;
    569         max-zone-ttl ( unlimited | <ttlval> );
    570         message-compression <boolean>;
    571         min-refresh-time <integer>;
    572         min-retry-time <integer>;
    573         min-roots <integer>; // not implemented
    574         minimal-any <boolean>;
    575         minimal-responses ( no-auth | no-auth-recursive | <boolean> );
    576         multi-master <boolean>;
    577         new-zones-directory <quoted_string>;
    578         no-case-compress { <address_match_element>; ... };
    579         nocookie-udp-size <integer>;
    580         nosit-udp-size <integer>; // obsolete
    581         notify ( explicit | master-only | <boolean> );
    582         notify-delay <integer>;
    583         notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [
    584             dscp <integer> ];
    585         notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ]
    586             [ dscp <integer> ];
    587         notify-to-soa <boolean>;
    588         nsec3-test-zone <boolean>; // test only
    589         nta-lifetime <ttlval>;
    590         nta-recheck <ttlval>;
    591         nxdomain-redirect <string>;
    592         preferred-glue <string>;
    593         prefetch <integer> [ <integer> ];
    594         provide-ixfr <boolean>;
    595         query-source ( ( [ address ] ( <ipv4_address> | * ) [ port (
    596             <integer> | * ) ] ) | ( [ [ address ] ( <ipv4_address> | * ) ]
    597             port ( <integer> | * ) ) ) [ dscp <integer> ];
    598         query-source-v6 ( ( [ address ] ( <ipv6_address> | * ) [ port (
    599             <integer> | * ) ] ) | ( [ [ address ] ( <ipv6_address> | * ) ]
    600             port ( <integer> | * ) ) ) [ dscp <integer> ];
    601         queryport-pool-ports <integer>; // obsolete
    602         queryport-pool-updateinterval <integer>; // obsolete
    603         rate-limit {
    604                 all-per-second <integer>;
    605                 errors-per-second <integer>;
    606                 exempt-clients { <address_match_element>; ... };
    607                 ipv4-prefix-length <integer>;
    608                 ipv6-prefix-length <integer>;
    609                 log-only <boolean>;
    610                 max-table-size <integer>;
    611                 min-table-size <integer>;
    612                 nodata-per-second <integer>;
    613                 nxdomains-per-second <integer>;
    614                 qps-scale <integer>;
    615                 referrals-per-second <integer>;
    616                 responses-per-second <integer>;
    617                 slip <integer>;
    618                 window <integer>;
    619         };
    620         recursion <boolean>;
    621         request-expire <boolean>;
    622         request-ixfr <boolean>;
    623         request-nsid <boolean>;
    624         request-sit <boolean>; // obsolete
    625         require-server-cookie <boolean>;
    626         resolver-nonbackoff-tries <integer>;
    627         resolver-query-timeout <integer>;
    628         resolver-retry-interval <integer>;
    629         response-padding { <address_match_element>; ... } block-size
    630             <integer>;
    631         response-policy { zone <quoted_string> [ log <boolean> ] [
    632             max-policy-ttl <integer> ] [ min-update-interval <integer> ] [
    633             policy ( cname | disabled | drop | given | no-op | nodata |
    634             nxdomain | passthru | tcp-only <quoted_string> ) ] [
    635             recursive-only <boolean> ] [ nsip-enable <boolean> ] [
    636             nsdname-enable <boolean> ]; ... } [ break-dnssec <boolean> ] [
    637             max-policy-ttl <integer> ] [ min-update-interval <integer> ] [
    638             min-ns-dots <integer> ] [ nsip-wait-recurse <boolean> ] [
    639             qname-wait-recurse <boolean> ] [ recursive-only <boolean> ] [
    640             nsip-enable <boolean> ] [ nsdname-enable <boolean> ] [
    641             dnsrps-enable <boolean> ] [ dnsrps-options { <unspecified-text>
    642             } ];
    643         rfc2308-type1 <boolean>; // not yet implemented
    644         root-delegation-only [ exclude { <quoted_string>; ... } ];
    645         root-key-sentinel <boolean>;
    646         rrset-order { [ class <string> ] [ type <string> ] [ name
    647             <quoted_string> ] <string> <string>; ... };
    648         send-cookie <boolean>;
    649         serial-update-method ( date | increment | unixtime );
    650         server <netprefix> {
    651                 bogus <boolean>;
    652                 edns <boolean>;
    653                 edns-udp-size <integer>;
    654                 edns-version <integer>;
    655                 keys <server_key>;
    656                 max-udp-size <integer>;
    657                 notify-source ( <ipv4_address> | * ) [ port ( <integer> | *
    658                     ) ] [ dscp <integer> ];
    659                 notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer>
    660                     | * ) ] [ dscp <integer> ];
    661                 padding <integer>;
    662                 provide-ixfr <boolean>;
    663                 query-source ( ( [ address ] ( <ipv4_address> | * ) [ port
    664                     ( <integer> | * ) ] ) | ( [ [ address ] (
    665                     <ipv4_address> | * ) ] port ( <integer> | * ) ) ) [
    666                     dscp <integer> ];
    667                 query-source-v6 ( ( [ address ] ( <ipv6_address> | * ) [
    668                     port ( <integer> | * ) ] ) | ( [ [ address ] (
    669                     <ipv6_address> | * ) ] port ( <integer> | * ) ) ) [
    670                     dscp <integer> ];
    671                 request-expire <boolean>;
    672                 request-ixfr <boolean>;
    673                 request-nsid <boolean>;
    674                 request-sit <boolean>; // obsolete
    675                 send-cookie <boolean>;
    676                 support-ixfr <boolean>; // obsolete
    677                 tcp-keepalive <boolean>;
    678                 tcp-only <boolean>;
    679                 transfer-format ( many-answers | one-answer );
    680                 transfer-source ( <ipv4_address> | * ) [ port ( <integer> |
    681                     * ) ] [ dscp <integer> ];
    682                 transfer-source-v6 ( <ipv6_address> | * ) [ port (
    683                     <integer> | * ) ] [ dscp <integer> ];
    684                 transfers <integer>;
    685         }; // may occur multiple times
    686         servfail-ttl <ttlval>;
    687         sig-signing-nodes <integer>;
    688         sig-signing-signatures <integer>;
    689         sig-signing-type <integer>;
    690         sig-validity-interval <integer> [ <integer> ];
    691         sortlist { <address_match_element>; ... };
    692         stale-answer-enable <boolean>;
    693         stale-answer-ttl <ttlval>;
    694         suppress-initial-notify <boolean>; // not yet implemented
    695         synth-from-dnssec <boolean>;
    696         topology { <address_match_element>; ... }; // not implemented
    697         transfer-format ( many-answers | one-answer );
    698         transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [
    699             dscp <integer> ];
    700         transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * )
    701             ] [ dscp <integer> ];
    702         trust-anchor-telemetry <boolean>; // experimental
    703         trusted-keys { <string> <integer>
    704             <integer> <integer> <quoted_string>;
    705             ... }; // may occur multiple times
    706         try-tcp-refresh <boolean>;
    707         update-check-ksk <boolean>;
    708         use-alt-transfer-source <boolean>;
    709         use-queryport-pool <boolean>; // obsolete
    710         v6-bias <integer>;
    711         zero-no-soa-ttl <boolean>;
    712         zero-no-soa-ttl-cache <boolean>;
    713         zone <string> [ <class> ] {
    714                 allow-notify { <address_match_element>; ... };
    715                 allow-query { <address_match_element>; ... };
    716                 allow-query-on { <address_match_element>; ... };
    717                 allow-transfer { <address_match_element>; ... };
    718                 allow-update { <address_match_element>; ... };
    719                 allow-update-forwarding { <address_match_element>; ... };
    720                 also-notify [ port <integer> ] [ dscp <integer> ] { (
    721                     <masters> | <ipv4_address> [ port <integer> ] |
    722                     <ipv6_address> [ port <integer> ] ) [ key <string> ];
    723                     ... };
    724                 alt-transfer-source ( <ipv4_address> | * ) [ port (
    725                     <integer> | * ) ] [ dscp <integer> ];
    726                 alt-transfer-source-v6 ( <ipv6_address> | * ) [ port (
    727                     <integer> | * ) ] [ dscp <integer> ];
    728                 auto-dnssec ( allow | maintain | off );
    729                 check-dup-records ( fail | warn | ignore );
    730                 check-integrity <boolean>;
    731                 check-mx ( fail | warn | ignore );
    732                 check-mx-cname ( fail | warn | ignore );
    733                 check-names ( fail | warn | ignore );
    734                 check-sibling <boolean>;
    735                 check-spf ( warn | ignore );
    736                 check-srv-cname ( fail | warn | ignore );
    737                 check-wildcard <boolean>;
    738                 database <string>;
    739                 delegation-only <boolean>;
    740                 dialup ( notify | notify-passive | passive | refresh |
    741                     <boolean> );
    742                 dlz <string>;
    743                 dnssec-dnskey-kskonly <boolean>;
    744                 dnssec-loadkeys-interval <integer>;
    745                 dnssec-secure-to-insecure <boolean>;
    746                 dnssec-update-mode ( maintain | no-resign );
    747                 file <quoted_string>;
    748                 forward ( first | only );
    749                 forwarders [ port <integer> ] [ dscp <integer> ] { (
    750                     <ipv4_address> | <ipv6_address> ) [ port <integer> ] [
    751                     dscp <integer> ]; ... };
    752                 in-view <string>;
    753                 inline-signing <boolean>;
    754                 ixfr-base <quoted_string>; // obsolete
    755                 ixfr-from-differences <boolean>;
    756                 ixfr-tmp-file <quoted_string>; // obsolete
    757                 journal <quoted_string>;
    758                 key-directory <quoted_string>;
    759                 maintain-ixfr-base <boolean>; // obsolete
    760                 masterfile-format ( map | raw | text );
    761                 masterfile-style ( full | relative );
    762                 masters [ port <integer> ] [ dscp <integer> ] { ( <masters>
    763                     | <ipv4_address> [ port <integer> ] | <ipv6_address> [
    764                     port <integer> ] ) [ key <string> ]; ... };
    765                 max-ixfr-log-size ( default | unlimited |
    766                     <sizeval> ); // obsolete
    767                 max-journal-size ( default | unlimited | <sizeval> );
    768                 max-records <integer>;
    769                 max-refresh-time <integer>;
    770                 max-retry-time <integer>;
    771                 max-transfer-idle-in <integer>;
    772                 max-transfer-idle-out <integer>;
    773                 max-transfer-time-in <integer>;
    774                 max-transfer-time-out <integer>;
    775                 max-zone-ttl ( unlimited | <ttlval> );
    776                 min-refresh-time <integer>;
    777                 min-retry-time <integer>;
    778                 multi-master <boolean>;
    779                 notify ( explicit | master-only | <boolean> );
    780                 notify-delay <integer>;
    781                 notify-source ( <ipv4_address> | * ) [ port ( <integer> | *
    782                     ) ] [ dscp <integer> ];
    783                 notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer>
    784                     | * ) ] [ dscp <integer> ];
    785                 notify-to-soa <boolean>;
    786                 nsec3-test-zone <boolean>; // test only
    787                 pubkey <integer>
    788                     <integer>
    789                     <integer>
    790                     <quoted_string>; // obsolete, may occur multiple times
    791                 request-expire <boolean>;
    792                 request-ixfr <boolean>;
    793                 serial-update-method ( date | increment | unixtime );
    794                 server-addresses { ( <ipv4_address> | <ipv6_address> ) [
    795                     port <integer> ]; ... };
    796                 server-names { <quoted_string>; ... };
    797                 sig-signing-nodes <integer>;
    798                 sig-signing-signatures <integer>;
    799                 sig-signing-type <integer>;
    800                 sig-validity-interval <integer> [ <integer> ];
    801                 transfer-source ( <ipv4_address> | * ) [ port ( <integer> |
    802                     * ) ] [ dscp <integer> ];
    803                 transfer-source-v6 ( <ipv6_address> | * ) [ port (
    804                     <integer> | * ) ] [ dscp <integer> ];
    805                 try-tcp-refresh <boolean>;
    806                 type ( delegation-only | forward | hint | master | redirect
    807                     | slave | static-stub | stub );
    808                 update-check-ksk <boolean>;
    809                 update-policy ( local | { ( deny | grant ) <string> (
    810                     6to4-self | external | krb5-self | krb5-subdomain |
    811                     ms-self | ms-subdomain | name | self | selfsub |
    812                     selfwild | subdomain | tcp-self | wildcard | zonesub )
    813                     [ <string> ] <rrtypelist>; ... };
    814                 use-alt-transfer-source <boolean>;
    815                 zero-no-soa-ttl <boolean>;
    816                 zone-statistics ( full | terse | none | <boolean> );
    817         }; // may occur multiple times
    818         zone-statistics ( full | terse | none | <boolean> );
    819 }; // may occur multiple times
    820 
    821 zone <string> [ <class> ] {
    822         allow-notify { <address_match_element>; ... };
    823         allow-query { <address_match_element>; ... };
    824         allow-query-on { <address_match_element>; ... };
    825         allow-transfer { <address_match_element>; ... };
    826         allow-update { <address_match_element>; ... };
    827         allow-update-forwarding { <address_match_element>; ... };
    828         also-notify [ port <integer> ] [ dscp <integer> ] { ( <masters> |
    829             <ipv4_address> [ port <integer> ] | <ipv6_address> [ port
    830             <integer> ] ) [ key <string> ]; ... };
    831         alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * )
    832             ] [ dscp <integer> ];
    833         alt-transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> |
    834             * ) ] [ dscp <integer> ];
    835         auto-dnssec ( allow | maintain | off );
    836         check-dup-records ( fail | warn | ignore );
    837         check-integrity <boolean>;
    838         check-mx ( fail | warn | ignore );
    839         check-mx-cname ( fail | warn | ignore );
    840         check-names ( fail | warn | ignore );
    841         check-sibling <boolean>;
    842         check-spf ( warn | ignore );
    843         check-srv-cname ( fail | warn | ignore );
    844         check-wildcard <boolean>;
    845         database <string>;
    846         delegation-only <boolean>;
    847         dialup ( notify | notify-passive | passive | refresh | <boolean> );
    848         dlz <string>;
    849         dnssec-dnskey-kskonly <boolean>;
    850         dnssec-loadkeys-interval <integer>;
    851         dnssec-secure-to-insecure <boolean>;
    852         dnssec-update-mode ( maintain | no-resign );
    853         file <quoted_string>;
    854         forward ( first | only );
    855         forwarders [ port <integer> ] [ dscp <integer> ] { ( <ipv4_address>
    856             | <ipv6_address> ) [ port <integer> ] [ dscp <integer> ]; ... };
    857         in-view <string>;
    858         inline-signing <boolean>;
    859         ixfr-base <quoted_string>; // obsolete
    860         ixfr-from-differences <boolean>;
    861         ixfr-tmp-file <quoted_string>; // obsolete
    862         journal <quoted_string>;
    863         key-directory <quoted_string>;
    864         maintain-ixfr-base <boolean>; // obsolete
    865         masterfile-format ( map | raw | text );
    866         masterfile-style ( full | relative );
    867         masters [ port <integer> ] [ dscp <integer> ] { ( <masters> |
    868             <ipv4_address> [ port <integer> ] | <ipv6_address> [ port
    869             <integer> ] ) [ key <string> ]; ... };
    870         max-ixfr-log-size ( default | unlimited | <sizeval> ); // obsolete
    871         max-journal-size ( default | unlimited | <sizeval> );
    872         max-records <integer>;
    873         max-refresh-time <integer>;
    874         max-retry-time <integer>;
    875         max-transfer-idle-in <integer>;
    876         max-transfer-idle-out <integer>;
    877         max-transfer-time-in <integer>;
    878         max-transfer-time-out <integer>;
    879         max-zone-ttl ( unlimited | <ttlval> );
    880         min-refresh-time <integer>;
    881         min-retry-time <integer>;
    882         multi-master <boolean>;
    883         notify ( explicit | master-only | <boolean> );
    884         notify-delay <integer>;
    885         notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [
    886             dscp <integer> ];
    887         notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ]
    888             [ dscp <integer> ];
    889         notify-to-soa <boolean>;
    890         nsec3-test-zone <boolean>; // test only
    891         pubkey <integer> <integer>
    892             <integer> <quoted_string>; // obsolete, may occur multiple times
    893         request-expire <boolean>;
    894         request-ixfr <boolean>;
    895         serial-update-method ( date | increment | unixtime );
    896         server-addresses { ( <ipv4_address> | <ipv6_address> ) [ port
    897             <integer> ]; ... };
    898         server-names { <quoted_string>; ... };
    899         sig-signing-nodes <integer>;
    900         sig-signing-signatures <integer>;
    901         sig-signing-type <integer>;
    902         sig-validity-interval <integer> [ <integer> ];
    903         transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [
    904             dscp <integer> ];
    905         transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * )
    906             ] [ dscp <integer> ];
    907         try-tcp-refresh <boolean>;
    908         type ( delegation-only | forward | hint | master | redirect | slave
    909             | static-stub | stub );
    910         update-check-ksk <boolean>;
    911         update-policy ( local | { ( deny | grant ) <string> ( 6to4-self |
    912             external | krb5-self | krb5-subdomain | ms-self | ms-subdomain
    913             | name | self | selfsub | selfwild | subdomain | tcp-self |
    914             wildcard | zonesub ) [ <string> ] <rrtypelist>; ... };
    915         use-alt-transfer-source <boolean>;
    916         zero-no-soa-ttl <boolean>;
    917         zone-statistics ( full | terse | none | <boolean> );
    918 }; // may occur multiple times
    919 
    920