]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/blob - contrib/bind9/doc/misc/options
MFC r254651:
[FreeBSD/stable/9.git] / contrib / bind9 / doc / misc / options
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>; ... };
6
7 controls {
8         inet ( <ipv4_address> | <ipv6_address> | * ) [ port ( <integer> | *
9             ) ] allow { <address_match_element>; ... } [ keys { <string>;
10             ... } ];
11         unix <quoted_string> perm <integer> owner <integer> group <integer>
12             [ keys { <string>; ... } ];
13 };
14
15 dlz <string> {
16         database <string>;
17 };
18
19 key <string> {
20         algorithm <string>;
21         secret <string>;
22 };
23
24 logging {
25         category <string> { <string>; ... };
26         channel <string> {
27                 file <quoted_string> [ versions ( "unlimited" | <integer> )
28                     ] [ size <size> ];
29                 null;
30                 print-category <boolean>;
31                 print-severity <boolean>;
32                 print-time <boolean>;
33                 severity <log_severity>;
34                 stderr;
35                 syslog <optional_facility>;
36         };
37 };
38
39 lwres {
40         listen-on [ port <integer> ] { ( <ipv4_address> | <ipv6_address> )
41             [ port <integer> ]; ... };
42         ndots <integer>;
43         search { <string>; ... };
44         view <string> <optional_class>;
45 };
46
47 managed-keys { <string> <string> <integer> <integer> <integer>
48     <quoted_string>; ... };
49
50 masters <string> [ port <integer> ] { ( <masters> | <ipv4_address> [ port
51     <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
52
53 options {
54         acache-cleaning-interval <integer>;
55         acache-enable <boolean>;
56         additional-from-auth <boolean>;
57         additional-from-cache <boolean>;
58         allow-new-zones <boolean>;
59         allow-notify { <address_match_element>; ... };
60         allow-query { <address_match_element>; ... };
61         allow-query-cache { <address_match_element>; ... };
62         allow-query-cache-on { <address_match_element>; ... };
63         allow-query-on { <address_match_element>; ... };
64         allow-recursion { <address_match_element>; ... };
65         allow-recursion-on { <address_match_element>; ... };
66         allow-transfer { <address_match_element>; ... };
67         allow-update { <address_match_element>; ... };
68         allow-update-forwarding { <address_match_element>; ... };
69         allow-v6-synthesis { <address_match_element>; ... }; // obsolete
70         also-notify [ port <integer> ] { ( <masters> | <ipv4_address> [
71             port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key
72             <string> ]; ... };
73         alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
74         alt-transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> |
75             * ) ];
76         attach-cache <string>;
77         auth-nxdomain <boolean>; // default changed
78         auto-dnssec ( allow | maintain | off );
79         avoid-v4-udp-ports { <portrange>; ... };
80         avoid-v6-udp-ports { <portrange>; ... };
81         bindkeys-file <quoted_string>;
82         blackhole { <address_match_element>; ... };
83         cache-file <quoted_string>;
84         check-dup-records ( fail | warn | ignore );
85         check-integrity <boolean>;
86         check-mx ( fail | warn | ignore );
87         check-mx-cname ( fail | warn | ignore );
88         check-names ( master | slave | response ) ( fail | warn | ignore );
89         check-sibling <boolean>;
90         check-spf ( warn | ignore );
91         check-srv-cname ( fail | warn | ignore );
92         check-wildcard <boolean>;
93         cleaning-interval <integer>;
94         clients-per-query <integer>;
95         coresize <size>;
96         datasize <size>;
97         deallocate-on-exit <boolean>; // obsolete
98         deny-answer-addresses { <address_match_element>; ... } [
99             except-from { <quoted_string>; ... } ];
100         deny-answer-aliases { <quoted_string>; ... } [ except-from {
101             <quoted_string>; ... } ];
102         dialup <dialuptype>;
103         directory <quoted_string>;
104         disable-algorithms <string> { <string>; ... };
105         disable-empty-zone <string>;
106         dns64 <netprefix> {
107                 break-dnssec <boolean>;
108                 clients { <address_match_element>; ... };
109                 exclude { <address_match_element>; ... };
110                 mapped { <address_match_element>; ... };
111                 recursive-only <boolean>;
112                 suffix <ipv6_address>;
113         };
114         dns64-contact <string>;
115         dns64-server <string>;
116         dnssec-accept-expired <boolean>;
117         dnssec-dnskey-kskonly <boolean>;
118         dnssec-enable <boolean>;
119         dnssec-loadkeys-interval <integer>;
120         dnssec-lookaside ( <string> trust-anchor <string> | auto | no );
121         dnssec-must-be-secure <string> <boolean>;
122         dnssec-secure-to-insecure <boolean>;
123         dnssec-update-mode ( maintain | no-resign );
124         dnssec-validation ( yes | no | auto );
125         dual-stack-servers [ port <integer> ] { ( <quoted_string> [ port
126             <integer> ] | <ipv4_address> [ port <integer> ] |
127             <ipv6_address> [ port <integer> ] ); ... };
128         dump-file <quoted_string>;
129         edns-udp-size <integer>;
130         empty-contact <string>;
131         empty-server <string>;
132         empty-zones-enable <boolean>;
133         fake-iquery <boolean>; // obsolete
134         fetch-glue <boolean>; // obsolete
135         files <size>;
136         filter-aaaa { <address_match_element>; ... }; // not configured
137         filter-aaaa-on-v4 <v4_aaaa>; // not configured
138         flush-zones-on-shutdown <boolean>;
139         forward ( first | only );
140         forwarders [ port <integer> ] { ( <ipv4_address> | <ipv6_address> )
141             [ port <integer> ]; ... };
142         has-old-clients <boolean>; // obsolete
143         heartbeat-interval <integer>;
144         host-statistics <boolean>; // not implemented
145         host-statistics-max <integer>; // not implemented
146         hostname ( <quoted_string> | none );
147         inline-signing <boolean>;
148         interface-interval <integer>;
149         ixfr-from-differences <ixfrdiff>;
150         key-directory <quoted_string>;
151         lame-ttl <integer>;
152         listen-on [ port <integer> ] { <address_match_element>; ... };
153         listen-on-v6 [ port <integer> ] { <address_match_element>; ... };
154         maintain-ixfr-base <boolean>; // obsolete
155         managed-keys-directory <quoted_string>;
156         masterfile-format ( text | raw );
157         match-mapped-addresses <boolean>;
158         max-acache-size <size_no_default>;
159         max-cache-size <size_no_default>;
160         max-cache-ttl <integer>;
161         max-clients-per-query <integer>;
162         max-ixfr-log-size <size>; // obsolete
163         max-journal-size <size_no_default>;
164         max-ncache-ttl <integer>;
165         max-refresh-time <integer>;
166         max-retry-time <integer>;
167         max-rsa-exponent-size <integer>;
168         max-transfer-idle-in <integer>;
169         max-transfer-idle-out <integer>;
170         max-transfer-time-in <integer>;
171         max-transfer-time-out <integer>;
172         max-udp-size <integer>;
173         memstatistics <boolean>;
174         memstatistics-file <quoted_string>;
175         min-refresh-time <integer>;
176         min-retry-time <integer>;
177         min-roots <integer>; // not implemented
178         minimal-responses <boolean>;
179         multi-master <boolean>;
180         multiple-cnames <boolean>; // obsolete
181         named-xfer <quoted_string>; // obsolete
182         notify <notifytype>;
183         notify-delay <integer>;
184         notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
185         notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
186         notify-to-soa <boolean>;
187         nsec3-test-zone <boolean>; // test only
188         pid-file ( <quoted_string> | none );
189         port <integer>;
190         preferred-glue <string>;
191         provide-ixfr <boolean>;
192         query-source <querysource4>;
193         query-source-v6 <querysource6>;
194         querylog <boolean>;
195         queryport-pool-ports <integer>; // obsolete
196         queryport-pool-updateinterval <integer>; // obsolete
197         random-device <quoted_string>;
198         recursing-file <quoted_string>;
199         recursion <boolean>;
200         recursive-clients <integer>;
201         request-ixfr <boolean>;
202         request-ixfr <boolean>;
203         request-nsid <boolean>;
204         reserved-sockets <integer>;
205         resolver-query-timeout <integer>;
206         response-policy { zone <quoted_string> [ policy ( given | disabled
207             | passthru | no-op | nxdomain | nodata | cname <quoted_string>
208             ) ] [ recursive-only <boolean> ] [ max-policy-ttl <integer> ];
209             ... } [ recursive-only <boolean> ] [ break-dnssec <boolean> ] [
210             max-policy-ttl <integer> ] [ min-ns-dots <integer> ];
211         rfc2308-type1 <boolean>; // not yet implemented
212         root-delegation-only [ exclude { <quoted_string>; ... } ];
213         rrset-order { [ class <string> ] [ type <string> ] [ name
214             <quoted_string> ] <string> <string>; ... };
215         secroots-file <quoted_string>;
216         serial-queries <integer>; // obsolete
217         serial-query-rate <integer>;
218         serial-update-method ( increment | unixtime );
219         server-id ( <quoted_string> | none | hostname );
220         session-keyalg <string>;
221         session-keyfile ( <quoted_string> | none );
222         session-keyname <string>;
223         sig-signing-nodes <integer>;
224         sig-signing-signatures <integer>;
225         sig-signing-type <integer>;
226         sig-validity-interval <integer> [ <integer> ];
227         sortlist { <address_match_element>; ... };
228         stacksize <size>;
229         statistics-file <quoted_string>;
230         statistics-interval <integer>; // not yet implemented
231         suppress-initial-notify <boolean>; // not yet implemented
232         tcp-clients <integer>;
233         tcp-listen-queue <integer>;
234         tkey-dhkey <quoted_string> <integer>;
235         tkey-domain <quoted_string>;
236         tkey-gssapi-credential <quoted_string>;
237         tkey-gssapi-keytab <quoted_string>;
238         topology { <address_match_element>; ... }; // not implemented
239         transfer-format ( many-answers | one-answer );
240         transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
241         transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
242         transfers-in <integer>;
243         transfers-out <integer>;
244         transfers-per-ns <integer>;
245         treat-cr-as-space <boolean>; // obsolete
246         try-tcp-refresh <boolean>;
247         update-check-ksk <boolean>;
248         use-alt-transfer-source <boolean>;
249         use-id-pool <boolean>; // obsolete
250         use-ixfr <boolean>;
251         use-queryport-pool <boolean>; // obsolete
252         use-v4-udp-ports { <portrange>; ... };
253         use-v6-udp-ports { <portrange>; ... };
254         version ( <quoted_string> | none );
255         zero-no-soa-ttl <boolean>;
256         zero-no-soa-ttl-cache <boolean>;
257         zone-statistics <zonestat>;
258 };
259
260 server <netprefix> {
261         bogus <boolean>;
262         edns <boolean>;
263         edns-udp-size <integer>;
264         keys <server_key>;
265         max-udp-size <integer>;
266         notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
267         notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
268         provide-ixfr <boolean>;
269         query-source <querysource4>;
270         query-source-v6 <querysource6>;
271         request-ixfr <boolean>;
272         support-ixfr <boolean>; // obsolete
273         transfer-format ( many-answers | one-answer );
274         transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
275         transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
276         transfers <integer>;
277 };
278
279 statistics-channels {
280         inet ( <ipv4_address> | <ipv6_address> | * ) [ port ( <integer> | *
281             ) ] [ allow { <address_match_element>; ... } ];
282 };
283
284 trusted-keys { <string> <integer> <integer> <integer> <quoted_string>; ... };
285
286 view <string> <optional_class> {
287         acache-cleaning-interval <integer>;
288         acache-enable <boolean>;
289         additional-from-auth <boolean>;
290         additional-from-cache <boolean>;
291         allow-new-zones <boolean>;
292         allow-notify { <address_match_element>; ... };
293         allow-query { <address_match_element>; ... };
294         allow-query-cache { <address_match_element>; ... };
295         allow-query-cache-on { <address_match_element>; ... };
296         allow-query-on { <address_match_element>; ... };
297         allow-recursion { <address_match_element>; ... };
298         allow-recursion-on { <address_match_element>; ... };
299         allow-transfer { <address_match_element>; ... };
300         allow-update { <address_match_element>; ... };
301         allow-update-forwarding { <address_match_element>; ... };
302         allow-v6-synthesis { <address_match_element>; ... }; // obsolete
303         also-notify [ port <integer> ] { ( <masters> | <ipv4_address> [
304             port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key
305             <string> ]; ... };
306         alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
307         alt-transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> |
308             * ) ];
309         attach-cache <string>;
310         auth-nxdomain <boolean>; // default changed
311         auto-dnssec ( allow | maintain | off );
312         cache-file <quoted_string>;
313         check-dup-records ( fail | warn | ignore );
314         check-integrity <boolean>;
315         check-mx ( fail | warn | ignore );
316         check-mx-cname ( fail | warn | ignore );
317         check-names ( master | slave | response ) ( fail | warn | ignore );
318         check-sibling <boolean>;
319         check-spf ( warn | ignore );
320         check-srv-cname ( fail | warn | ignore );
321         check-wildcard <boolean>;
322         cleaning-interval <integer>;
323         clients-per-query <integer>;
324         database <string>;
325         deny-answer-addresses { <address_match_element>; ... } [
326             except-from { <quoted_string>; ... } ];
327         deny-answer-aliases { <quoted_string>; ... } [ except-from {
328             <quoted_string>; ... } ];
329         dialup <dialuptype>;
330         disable-algorithms <string> { <string>; ... };
331         disable-empty-zone <string>;
332         dlz <string> {
333                 database <string>;
334         };
335         dns64 <netprefix> {
336                 break-dnssec <boolean>;
337                 clients { <address_match_element>; ... };
338                 exclude { <address_match_element>; ... };
339                 mapped { <address_match_element>; ... };
340                 recursive-only <boolean>;
341                 suffix <ipv6_address>;
342         };
343         dns64-contact <string>;
344         dns64-server <string>;
345         dnssec-accept-expired <boolean>;
346         dnssec-dnskey-kskonly <boolean>;
347         dnssec-enable <boolean>;
348         dnssec-loadkeys-interval <integer>;
349         dnssec-lookaside ( <string> trust-anchor <string> | auto | no );
350         dnssec-must-be-secure <string> <boolean>;
351         dnssec-secure-to-insecure <boolean>;
352         dnssec-update-mode ( maintain | no-resign );
353         dnssec-validation ( yes | no | auto );
354         dual-stack-servers [ port <integer> ] { ( <quoted_string> [ port
355             <integer> ] | <ipv4_address> [ port <integer> ] |
356             <ipv6_address> [ port <integer> ] ); ... };
357         edns-udp-size <integer>;
358         empty-contact <string>;
359         empty-server <string>;
360         empty-zones-enable <boolean>;
361         fetch-glue <boolean>; // obsolete
362         filter-aaaa { <address_match_element>; ... }; // not configured
363         filter-aaaa-on-v4 <v4_aaaa>; // not configured
364         forward ( first | only );
365         forwarders [ port <integer> ] { ( <ipv4_address> | <ipv6_address> )
366             [ port <integer> ]; ... };
367         inline-signing <boolean>;
368         ixfr-from-differences <ixfrdiff>;
369         key <string> {
370                 algorithm <string>;
371                 secret <string>;
372         };
373         key-directory <quoted_string>;
374         lame-ttl <integer>;
375         maintain-ixfr-base <boolean>; // obsolete
376         managed-keys { <string> <string> <integer> <integer> <integer>
377             <quoted_string>; ... };
378         masterfile-format ( text | raw );
379         match-clients { <address_match_element>; ... };
380         match-destinations { <address_match_element>; ... };
381         match-recursive-only <boolean>;
382         max-acache-size <size_no_default>;
383         max-cache-size <size_no_default>;
384         max-cache-ttl <integer>;
385         max-clients-per-query <integer>;
386         max-ixfr-log-size <size>; // obsolete
387         max-journal-size <size_no_default>;
388         max-ncache-ttl <integer>;
389         max-refresh-time <integer>;
390         max-retry-time <integer>;
391         max-transfer-idle-in <integer>;
392         max-transfer-idle-out <integer>;
393         max-transfer-time-in <integer>;
394         max-transfer-time-out <integer>;
395         max-udp-size <integer>;
396         min-refresh-time <integer>;
397         min-retry-time <integer>;
398         min-roots <integer>; // not implemented
399         minimal-responses <boolean>;
400         multi-master <boolean>;
401         notify <notifytype>;
402         notify-delay <integer>;
403         notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
404         notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
405         notify-to-soa <boolean>;
406         nsec3-test-zone <boolean>; // test only
407         preferred-glue <string>;
408         provide-ixfr <boolean>;
409         query-source <querysource4>;
410         query-source-v6 <querysource6>;
411         queryport-pool-ports <integer>; // obsolete
412         queryport-pool-updateinterval <integer>; // obsolete
413         recursion <boolean>;
414         request-ixfr <boolean>;
415         request-ixfr <boolean>;
416         request-nsid <boolean>;
417         resolver-query-timeout <integer>;
418         response-policy { zone <quoted_string> [ policy ( given | disabled
419             | passthru | no-op | nxdomain | nodata | cname <quoted_string>
420             ) ] [ recursive-only <boolean> ] [ max-policy-ttl <integer> ];
421             ... } [ recursive-only <boolean> ] [ break-dnssec <boolean> ] [
422             max-policy-ttl <integer> ] [ min-ns-dots <integer> ];
423         rfc2308-type1 <boolean>; // not yet implemented
424         root-delegation-only [ exclude { <quoted_string>; ... } ];
425         rrset-order { [ class <string> ] [ type <string> ] [ name
426             <quoted_string> ] <string> <string>; ... };
427         serial-update-method ( increment | unixtime );
428         server <netprefix> {
429                 bogus <boolean>;
430                 edns <boolean>;
431                 edns-udp-size <integer>;
432                 keys <server_key>;
433                 max-udp-size <integer>;
434                 notify-source ( <ipv4_address> | * ) [ port ( <integer> | *
435                     ) ];
436                 notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer>
437                     | * ) ];
438                 provide-ixfr <boolean>;
439                 query-source <querysource4>;
440                 query-source-v6 <querysource6>;
441                 request-ixfr <boolean>;
442                 support-ixfr <boolean>; // obsolete
443                 transfer-format ( many-answers | one-answer );
444                 transfer-source ( <ipv4_address> | * ) [ port ( <integer> |
445                     * ) ];
446                 transfer-source-v6 ( <ipv6_address> | * ) [ port (
447                     <integer> | * ) ];
448                 transfers <integer>;
449         };
450         sig-signing-nodes <integer>;
451         sig-signing-signatures <integer>;
452         sig-signing-type <integer>;
453         sig-validity-interval <integer> [ <integer> ];
454         sortlist { <address_match_element>; ... };
455         suppress-initial-notify <boolean>; // not yet implemented
456         topology { <address_match_element>; ... }; // not implemented
457         transfer-format ( many-answers | one-answer );
458         transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
459         transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
460         trusted-keys { <string> <integer> <integer> <integer>
461             <quoted_string>; ... };
462         try-tcp-refresh <boolean>;
463         update-check-ksk <boolean>;
464         use-alt-transfer-source <boolean>;
465         use-queryport-pool <boolean>; // obsolete
466         zero-no-soa-ttl <boolean>;
467         zero-no-soa-ttl-cache <boolean>;
468         zone <string> <optional_class> {
469                 allow-notify { <address_match_element>; ... };
470                 allow-query { <address_match_element>; ... };
471                 allow-query-on { <address_match_element>; ... };
472                 allow-transfer { <address_match_element>; ... };
473                 allow-update { <address_match_element>; ... };
474                 allow-update-forwarding { <address_match_element>; ... };
475                 also-notify [ port <integer> ] { ( <masters> |
476                     <ipv4_address> [ port <integer> ] | <ipv6_address> [
477                     port <integer> ] ) [ key <string> ]; ... };
478                 alt-transfer-source ( <ipv4_address> | * ) [ port (
479                     <integer> | * ) ];
480                 alt-transfer-source-v6 ( <ipv6_address> | * ) [ port (
481                     <integer> | * ) ];
482                 auto-dnssec ( allow | maintain | off );
483                 check-dup-records ( fail | warn | ignore );
484                 check-integrity <boolean>;
485                 check-mx ( fail | warn | ignore );
486                 check-mx-cname ( fail | warn | ignore );
487                 check-names ( fail | warn | ignore );
488                 check-sibling <boolean>;
489                 check-spf ( warn | ignore );
490                 check-srv-cname ( fail | warn | ignore );
491                 check-wildcard <boolean>;
492                 database <string>;
493                 delegation-only <boolean>;
494                 dialup <dialuptype>;
495                 dnssec-dnskey-kskonly <boolean>;
496                 dnssec-loadkeys-interval <integer>;
497                 dnssec-secure-to-insecure <boolean>;
498                 dnssec-update-mode ( maintain | no-resign );
499                 file <quoted_string>;
500                 forward ( first | only );
501                 forwarders [ port <integer> ] { ( <ipv4_address> |
502                     <ipv6_address> ) [ port <integer> ]; ... };
503                 inline-signing <boolean>;
504                 ixfr-base <quoted_string>; // obsolete
505                 ixfr-from-differences <boolean>;
506                 ixfr-tmp-file <quoted_string>; // obsolete
507                 journal <quoted_string>;
508                 key-directory <quoted_string>;
509                 maintain-ixfr-base <boolean>; // obsolete
510                 masterfile-format ( text | raw );
511                 masters [ port <integer> ] { ( <masters> | <ipv4_address> [
512                     port <integer> ] | <ipv6_address> [ port <integer> ] )
513                     [ key <string> ]; ... };
514                 max-ixfr-log-size <size>; // obsolete
515                 max-journal-size <size_no_default>;
516                 max-refresh-time <integer>;
517                 max-retry-time <integer>;
518                 max-transfer-idle-in <integer>;
519                 max-transfer-idle-out <integer>;
520                 max-transfer-time-in <integer>;
521                 max-transfer-time-out <integer>;
522                 min-refresh-time <integer>;
523                 min-retry-time <integer>;
524                 multi-master <boolean>;
525                 notify <notifytype>;
526                 notify-delay <integer>;
527                 notify-source ( <ipv4_address> | * ) [ port ( <integer> | *
528                     ) ];
529                 notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer>
530                     | * ) ];
531                 notify-to-soa <boolean>;
532                 nsec3-test-zone <boolean>; // test only
533                 pubkey <integer> <integer> <integer>
534                     <quoted_string>; // obsolete
535                 request-ixfr <boolean>;
536                 serial-update-method ( increment | unixtime );
537                 server-addresses { ( <ipv4_address> | <ipv6_address> ) [
538                     port <integer> ]; ... };
539                 server-names { <quoted_string>; ... };
540                 sig-signing-nodes <integer>;
541                 sig-signing-signatures <integer>;
542                 sig-signing-type <integer>;
543                 sig-validity-interval <integer> [ <integer> ];
544                 transfer-source ( <ipv4_address> | * ) [ port ( <integer> |
545                     * ) ];
546                 transfer-source-v6 ( <ipv6_address> | * ) [ port (
547                     <integer> | * ) ];
548                 try-tcp-refresh <boolean>;
549                 type ( master | slave | stub | static-stub | hint | forward
550                     | delegation-only | redirect );
551                 update-check-ksk <boolean>;
552                 update-policy ( local | { ( grant | deny ) <string> ( name
553                     | subdomain | wildcard | self | selfsub | selfwild |
554                     krb5-self | ms-self | krb5-subdomain | ms-subdomain |
555                     tcp-self | 6to4-self | zonesub | external ) [ <string>
556                     ] <rrtypelist>; ... };
557                 use-alt-transfer-source <boolean>;
558                 zero-no-soa-ttl <boolean>;
559                 zone-statistics <zonestat>;
560         };
561         zone-statistics <zonestat>;
562 };
563
564 zone <string> <optional_class> {
565         allow-notify { <address_match_element>; ... };
566         allow-query { <address_match_element>; ... };
567         allow-query-on { <address_match_element>; ... };
568         allow-transfer { <address_match_element>; ... };
569         allow-update { <address_match_element>; ... };
570         allow-update-forwarding { <address_match_element>; ... };
571         also-notify [ port <integer> ] { ( <masters> | <ipv4_address> [
572             port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key
573             <string> ]; ... };
574         alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
575         alt-transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> |
576             * ) ];
577         auto-dnssec ( allow | maintain | off );
578         check-dup-records ( fail | warn | ignore );
579         check-integrity <boolean>;
580         check-mx ( fail | warn | ignore );
581         check-mx-cname ( fail | warn | ignore );
582         check-names ( fail | warn | ignore );
583         check-sibling <boolean>;
584         check-spf ( warn | ignore );
585         check-srv-cname ( fail | warn | ignore );
586         check-wildcard <boolean>;
587         database <string>;
588         delegation-only <boolean>;
589         dialup <dialuptype>;
590         dnssec-dnskey-kskonly <boolean>;
591         dnssec-loadkeys-interval <integer>;
592         dnssec-secure-to-insecure <boolean>;
593         dnssec-update-mode ( maintain | no-resign );
594         file <quoted_string>;
595         forward ( first | only );
596         forwarders [ port <integer> ] { ( <ipv4_address> | <ipv6_address> )
597             [ port <integer> ]; ... };
598         inline-signing <boolean>;
599         ixfr-base <quoted_string>; // obsolete
600         ixfr-from-differences <boolean>;
601         ixfr-tmp-file <quoted_string>; // obsolete
602         journal <quoted_string>;
603         key-directory <quoted_string>;
604         maintain-ixfr-base <boolean>; // obsolete
605         masterfile-format ( text | raw );
606         masters [ port <integer> ] { ( <masters> | <ipv4_address> [ port
607             <integer> ] | <ipv6_address> [ port <integer> ] ) [ key
608             <string> ]; ... };
609         max-ixfr-log-size <size>; // obsolete
610         max-journal-size <size_no_default>;
611         max-refresh-time <integer>;
612         max-retry-time <integer>;
613         max-transfer-idle-in <integer>;
614         max-transfer-idle-out <integer>;
615         max-transfer-time-in <integer>;
616         max-transfer-time-out <integer>;
617         min-refresh-time <integer>;
618         min-retry-time <integer>;
619         multi-master <boolean>;
620         notify <notifytype>;
621         notify-delay <integer>;
622         notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
623         notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
624         notify-to-soa <boolean>;
625         nsec3-test-zone <boolean>; // test only
626         pubkey <integer> <integer> <integer> <quoted_string>; // obsolete
627         request-ixfr <boolean>;
628         serial-update-method ( increment | unixtime );
629         server-addresses { ( <ipv4_address> | <ipv6_address> ) [ port
630             <integer> ]; ... };
631         server-names { <quoted_string>; ... };
632         sig-signing-nodes <integer>;
633         sig-signing-signatures <integer>;
634         sig-signing-type <integer>;
635         sig-validity-interval <integer> [ <integer> ];
636         transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
637         transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
638         try-tcp-refresh <boolean>;
639         type ( master | slave | stub | static-stub | hint | forward |
640             delegation-only | redirect );
641         update-check-ksk <boolean>;
642         update-policy ( local | { ( grant | deny ) <string> ( name |
643             subdomain | wildcard | self | selfsub | selfwild | krb5-self |
644             ms-self | krb5-subdomain | ms-subdomain | tcp-self | 6to4-self
645             | zonesub | external ) [ <string> ] <rrtypelist>; ... };
646         use-alt-transfer-source <boolean>;
647         zero-no-soa-ttl <boolean>;
648         zone-statistics <zonestat>;
649 };
650