1<!--
2 - Copyright (C) 2004-2011, 2013-2015  Internet Systems Consortium, Inc. ("ISC")
3 -
4 - Permission to use, copy, modify, and/or distribute this software for any
5 - purpose with or without fee is hereby granted, provided that the above
6 - copyright notice and this permission notice appear in all copies.
7 -
8 - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
9 - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10 - AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
11 - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12 - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
13 - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14 - PERFORMANCE OF THIS SOFTWARE.
15-->
16
17<!-- Converted by db4-upgrade version 1.0 -->
18<refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="man.named.conf">
19  <info>
20    <date>2014-01-08</date>
21  </info>
22  <refentryinfo>
23    <corpname>ISC</corpname>
24    <corpauthor>Internet Systems Consortium, Inc.</corpauthor>
25  </refentryinfo>
26
27  <refmeta>
28    <refentrytitle><filename>named.conf</filename></refentrytitle>
29    <manvolnum>5</manvolnum>
30    <refmiscinfo>BIND9</refmiscinfo>
31  </refmeta>
32
33  <refnamediv>
34    <refname><filename>named.conf</filename></refname>
35    <refpurpose>configuration file for named</refpurpose>
36  </refnamediv>
37
38  <docinfo>
39    <copyright>
40      <year>2004</year>
41      <year>2005</year>
42      <year>2006</year>
43      <year>2007</year>
44      <year>2008</year>
45      <year>2009</year>
46      <year>2010</year>
47      <year>2011</year>
48      <year>2013</year>
49      <year>2014</year>
50      <year>2015</year>
51      <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
52    </copyright>
53  </docinfo>
54
55  <refsynopsisdiv>
56    <cmdsynopsis sepchar=" ">
57      <command>named.conf</command>
58    </cmdsynopsis>
59  </refsynopsisdiv>
60
61  <refsection><info><title>DESCRIPTION</title></info>
62
63    <para><filename>named.conf</filename> is the configuration file
64      for
65      <command>named</command>.  Statements are enclosed
66      in braces and terminated with a semi-colon.  Clauses in
67      the statements are also semi-colon terminated.  The usual
68      comment styles are supported:
69    </para>
70    <para>
71      C style: /* */
72    </para>
73    <para>
74      C++ style: // to end of line
75    </para>
76    <para>
77      Unix style: # to end of line
78    </para>
79  </refsection>
80
81  <refsection><info><title>ACL</title></info>
82
83    <literallayout class="normal">
84acl <replaceable>string</replaceable> { <replaceable>address_match_element</replaceable>; ... };
85
86</literallayout>
87  </refsection>
88
89  <refsection><info><title>KEY</title></info>
90
91    <literallayout class="normal">
92key <replaceable>domain_name</replaceable> {
93	algorithm <replaceable>string</replaceable>;
94	secret <replaceable>string</replaceable>;
95};
96</literallayout>
97  </refsection>
98
99  <refsection><info><title>MASTERS</title></info>
100
101    <literallayout class="normal">
102masters <replaceable>string</replaceable> <optional> port <replaceable>integer</replaceable> </optional> {
103	( <replaceable>masters</replaceable> | <replaceable>ipv4_address</replaceable> <optional>port <replaceable>integer</replaceable></optional> |
104	<replaceable>ipv6_address</replaceable> <optional>port <replaceable>integer</replaceable></optional> ) <optional> key <replaceable>string</replaceable> </optional>; ...
105};
106</literallayout>
107  </refsection>
108
109  <refsection><info><title>SERVER</title></info>
110
111    <literallayout class="normal">
112server ( <replaceable>ipv4_address<optional>/prefixlen</optional></replaceable> | <replaceable>ipv6_address<optional>/prefixlen</optional></replaceable> ) {
113	bogus <replaceable>boolean</replaceable>;
114	edns <replaceable>boolean</replaceable>;
115	edns-udp-size <replaceable>integer</replaceable>;
116	max-udp-size <replaceable>integer</replaceable>;
117	provide-ixfr <replaceable>boolean</replaceable>;
118	request-ixfr <replaceable>boolean</replaceable>;
119	keys <replaceable>server_key</replaceable>;
120	transfers <replaceable>integer</replaceable>;
121	transfer-format ( many-answers | one-answer );
122	transfer-source ( <replaceable>ipv4_address</replaceable> | * )
123		<optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
124	transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * )
125		<optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
126
127	support-ixfr <replaceable>boolean</replaceable>; // obsolete
128};
129</literallayout>
130  </refsection>
131
132  <refsection><info><title>TRUSTED-KEYS</title></info>
133
134    <literallayout class="normal">
135trusted-keys {
136	<replaceable>domain_name</replaceable> <replaceable>flags</replaceable> <replaceable>protocol</replaceable> <replaceable>algorithm</replaceable> <replaceable>key</replaceable>; ...
137};
138</literallayout>
139  </refsection>
140
141  <refsection><info><title>MANAGED-KEYS</title></info>
142
143    <literallayout class="normal">
144managed-keys {
145	<replaceable>domain_name</replaceable> <constant>initial-key</constant> <replaceable>flags</replaceable> <replaceable>protocol</replaceable> <replaceable>algorithm</replaceable> <replaceable>key</replaceable>; ...
146};
147</literallayout>
148  </refsection>
149
150  <refsection><info><title>CONTROLS</title></info>
151
152    <literallayout class="normal">
153controls {
154	inet ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> | * )
155		<optional> port ( <replaceable>integer</replaceable> | * ) </optional>
156		allow { <replaceable>address_match_element</replaceable>; ... }
157		<optional> keys { <replaceable>string</replaceable>; ... } </optional>;
158	unix <replaceable>unsupported</replaceable>; // not implemented
159};
160</literallayout>
161  </refsection>
162
163  <refsection><info><title>LOGGING</title></info>
164
165    <literallayout class="normal">
166logging {
167	channel <replaceable>string</replaceable> {
168		file <replaceable>log_file</replaceable>;
169		syslog <replaceable>optional_facility</replaceable>;
170		null;
171		stderr;
172		severity <replaceable>log_severity</replaceable>;
173		print-time <replaceable>boolean</replaceable>;
174		print-severity <replaceable>boolean</replaceable>;
175		print-category <replaceable>boolean</replaceable>;
176	};
177	category <replaceable>string</replaceable> { <replaceable>string</replaceable>; ... };
178};
179</literallayout>
180  </refsection>
181
182  <refsection><info><title>LWRES</title></info>
183
184    <literallayout class="normal">
185lwres {
186	listen-on <optional> port <replaceable>integer</replaceable> </optional> {
187		( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> ) <optional> port <replaceable>integer</replaceable> </optional>; ...
188	};
189	view <replaceable>string</replaceable> <replaceable>optional_class</replaceable>;
190	search { <replaceable>string</replaceable>; ... };
191	ndots <replaceable>integer</replaceable>;
192};
193</literallayout>
194  </refsection>
195
196  <refsection><info><title>OPTIONS</title></info>
197
198    <literallayout class="normal">
199options {
200	avoid-v4-udp-ports { <replaceable>port</replaceable>; ... };
201	avoid-v6-udp-ports { <replaceable>port</replaceable>; ... };
202	blackhole { <replaceable>address_match_element</replaceable>; ... };
203	coresize <replaceable>size</replaceable>;
204	datasize <replaceable>size</replaceable>;
205	directory <replaceable>quoted_string</replaceable>;
206	dump-file <replaceable>quoted_string</replaceable>;
207	files <replaceable>size</replaceable>;
208	heartbeat-interval <replaceable>integer</replaceable>;
209	host-statistics <replaceable>boolean</replaceable>; // not implemented
210	host-statistics-max <replaceable>number</replaceable>; // not implemented
211	hostname ( <replaceable>quoted_string</replaceable> | none );
212	interface-interval <replaceable>integer</replaceable>;
213	listen-on <optional> port <replaceable>integer</replaceable> </optional> { <replaceable>address_match_element</replaceable>; ... };
214	listen-on-v6 <optional> port <replaceable>integer</replaceable> </optional> { <replaceable>address_match_element</replaceable>; ... };
215	match-mapped-addresses <replaceable>boolean</replaceable>;
216	memstatistics-file <replaceable>quoted_string</replaceable>;
217	pid-file ( <replaceable>quoted_string</replaceable> | none );
218	port <replaceable>integer</replaceable>;
219	querylog <replaceable>boolean</replaceable>;
220	recursing-file <replaceable>quoted_string</replaceable>;
221	reserved-sockets <replaceable>integer</replaceable>;
222	random-device <replaceable>quoted_string</replaceable>;
223	recursive-clients <replaceable>integer</replaceable>;
224	serial-query-rate <replaceable>integer</replaceable>;
225	server-id ( <replaceable>quoted_string</replaceable> | hostname | none );
226	stacksize <replaceable>size</replaceable>;
227	statistics-file <replaceable>quoted_string</replaceable>;
228	statistics-interval <replaceable>integer</replaceable>; // not yet implemented
229	tcp-clients <replaceable>integer</replaceable>;
230	tcp-listen-queue <replaceable>integer</replaceable>;
231	tkey-dhkey <replaceable>quoted_string</replaceable> <replaceable>integer</replaceable>;
232	tkey-gssapi-credential <replaceable>quoted_string</replaceable>;
233	tkey-gssapi-keytab <replaceable>quoted_string</replaceable>;
234	tkey-domain <replaceable>quoted_string</replaceable>;
235	transfers-per-ns <replaceable>integer</replaceable>;
236	transfers-in <replaceable>integer</replaceable>;
237	transfers-out <replaceable>integer</replaceable>;
238	version ( <replaceable>quoted_string</replaceable> | none );
239	allow-recursion { <replaceable>address_match_element</replaceable>; ... };
240	allow-recursion-on { <replaceable>address_match_element</replaceable>; ... };
241	sortlist { <replaceable>address_match_element</replaceable>; ... };
242	topology { <replaceable>address_match_element</replaceable>; ... }; // not implemented
243	auth-nxdomain <replaceable>boolean</replaceable>; // default changed
244	minimal-responses <replaceable>boolean</replaceable>;
245	recursion <replaceable>boolean</replaceable>;
246	rrset-order {
247		<optional> class <replaceable>string</replaceable> </optional> <optional> type <replaceable>string</replaceable> </optional>
248		<optional> name <replaceable>quoted_string</replaceable> </optional> <replaceable>string</replaceable> <replaceable>string</replaceable>; ...
249	};
250	provide-ixfr <replaceable>boolean</replaceable>;
251	request-ixfr <replaceable>boolean</replaceable>;
252	rfc2308-type1 <replaceable>boolean</replaceable>; // not yet implemented
253	additional-from-auth <replaceable>boolean</replaceable>;
254	additional-from-cache <replaceable>boolean</replaceable>;
255	query-source ( ( <replaceable>ipv4_address</replaceable> | * ) | <optional> address ( <replaceable>ipv4_address</replaceable> | * ) </optional> ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
256	query-source-v6 ( ( <replaceable>ipv6_address</replaceable> | * ) | <optional> address ( <replaceable>ipv6_address</replaceable> | * ) </optional> ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
257	use-queryport-pool <replaceable>boolean</replaceable>;
258	queryport-pool-ports <replaceable>integer</replaceable>;
259	queryport-pool-updateinterval <replaceable>integer</replaceable>;
260	cleaning-interval <replaceable>integer</replaceable>;
261	resolver-query-timeout <replaceable>integer</replaceable>;
262	min-roots <replaceable>integer</replaceable>; // not implemented
263	lame-ttl <replaceable>integer</replaceable>;
264	max-ncache-ttl <replaceable>integer</replaceable>;
265	max-cache-ttl <replaceable>integer</replaceable>;
266	transfer-format ( many-answers | one-answer );
267	max-cache-size <replaceable>size</replaceable>;
268	max-acache-size <replaceable>size</replaceable>;
269	clients-per-query <replaceable>number</replaceable>;
270	max-clients-per-query <replaceable>number</replaceable>;
271	check-names ( master | slave | response )
272		( fail | warn | ignore );
273	check-mx ( fail | warn | ignore );
274	check-integrity <replaceable>boolean</replaceable>;
275	check-mx-cname ( fail | warn | ignore );
276	check-srv-cname ( fail | warn | ignore );
277	cache-file <replaceable>quoted_string</replaceable>; // test option
278	suppress-initial-notify <replaceable>boolean</replaceable>; // not yet implemented
279	preferred-glue <replaceable>string</replaceable>;
280	dual-stack-servers <optional> port <replaceable>integer</replaceable> </optional> {
281		( <replaceable>quoted_string</replaceable> <optional>port <replaceable>integer</replaceable></optional> |
282		<replaceable>ipv4_address</replaceable> <optional>port <replaceable>integer</replaceable></optional> |
283		<replaceable>ipv6_address</replaceable> <optional>port <replaceable>integer</replaceable></optional> ); ...
284	};
285	edns-udp-size <replaceable>integer</replaceable>;
286	max-udp-size <replaceable>integer</replaceable>;
287	root-delegation-only <optional> exclude { <replaceable>quoted_string</replaceable>; ... } </optional>;
288	disable-algorithms <replaceable>string</replaceable> { <replaceable>string</replaceable>; ... };
289	dnssec-enable <replaceable>boolean</replaceable>;
290	dnssec-validation <replaceable>boolean</replaceable>;
291	dnssec-lookaside ( <replaceable>auto</replaceable> | <replaceable>no</replaceable> | <replaceable>domain</replaceable> trust-anchor <replaceable>domain</replaceable> );
292	dnssec-must-be-secure <replaceable>string</replaceable> <replaceable>boolean</replaceable>;
293	dnssec-accept-expired <replaceable>boolean</replaceable>;
294
295	dns64-server <replaceable>string</replaceable>;
296	dns64-contact <replaceable>string</replaceable>;
297	dns64 <replaceable>prefix</replaceable> {
298		clients { <replacable>acl</replacable>; };
299		exclude { <replacable>acl</replacable>; };
300		mapped { <replacable>acl</replacable>; };
301		break-dnssec <replaceable>boolean</replaceable>;
302		recursive-only <replaceable>boolean</replaceable>;
303		suffix <replaceable>ipv6_address</replaceable>;
304	};
305
306	empty-server <replaceable>string</replaceable>;
307	empty-contact <replaceable>string</replaceable>;
308	empty-zones-enable <replaceable>boolean</replaceable>;
309	disable-empty-zone <replaceable>string</replaceable>;
310
311	dialup <replaceable>dialuptype</replaceable>;
312	ixfr-from-differences <replaceable>ixfrdiff</replaceable>;
313
314	allow-query { <replaceable>address_match_element</replaceable>; ... };
315	allow-query-on { <replaceable>address_match_element</replaceable>; ... };
316	allow-query-cache { <replaceable>address_match_element</replaceable>; ... };
317	allow-query-cache-on { <replaceable>address_match_element</replaceable>; ... };
318	allow-transfer { <replaceable>address_match_element</replaceable>; ... };
319	allow-update { <replaceable>address_match_element</replaceable>; ... };
320	allow-update-forwarding { <replaceable>address_match_element</replaceable>; ... };
321	update-check-ksk <replaceable>boolean</replaceable>;
322	dnssec-dnskey-kskonly <replaceable>boolean</replaceable>;
323
324	masterfile-format ( text | raw );
325	notify <replaceable>notifytype</replaceable>;
326	notify-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
327	notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
328	notify-delay <replaceable>seconds</replaceable>;
329	notify-to-soa <replaceable>boolean</replaceable>;
330	also-notify <optional> port <replaceable>integer</replaceable> </optional> { ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> )
331		<optional> port <replaceable>integer</replaceable> </optional>; ...
332		<optional> key <replaceable>keyname</replaceable> </optional> ... };
333	allow-notify { <replaceable>address_match_element</replaceable>; ... };
334
335	forward ( first | only );
336	forwarders <optional> port <replaceable>integer</replaceable> </optional> {
337		( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> ) <optional> port <replaceable>integer</replaceable> </optional>; ...
338	};
339
340	max-journal-size <replaceable>size_no_default</replaceable>;
341	max-transfer-time-in <replaceable>integer</replaceable>;
342	max-transfer-time-out <replaceable>integer</replaceable>;
343	max-transfer-idle-in <replaceable>integer</replaceable>;
344	max-transfer-idle-out <replaceable>integer</replaceable>;
345	max-retry-time <replaceable>integer</replaceable>;
346	min-retry-time <replaceable>integer</replaceable>;
347	max-refresh-time <replaceable>integer</replaceable>;
348	min-refresh-time <replaceable>integer</replaceable>;
349	multi-master <replaceable>boolean</replaceable>;
350
351	sig-validity-interval <replaceable>integer</replaceable>;
352	sig-re-signing-interval <replaceable>integer</replaceable>;
353	sig-signing-nodes <replaceable>integer</replaceable>;
354	sig-signing-signatures <replaceable>integer</replaceable>;
355	sig-signing-type <replaceable>integer</replaceable>;
356
357	transfer-source ( <replaceable>ipv4_address</replaceable> | * )
358		<optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
359	transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * )
360		<optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
361
362	alt-transfer-source ( <replaceable>ipv4_address</replaceable> | * )
363		<optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
364	alt-transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * )
365		<optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
366	use-alt-transfer-source <replaceable>boolean</replaceable>;
367
368	zone-statistics <replaceable>boolean</replaceable>;
369	key-directory <replaceable>quoted_string</replaceable>;
370	managed-keys-directory <replaceable>quoted_string</replaceable>;
371	auto-dnssec <constant>allow</constant>|<constant>maintain</constant>|<constant>off</constant>;
372	try-tcp-refresh <replaceable>boolean</replaceable>;
373	zero-no-soa-ttl <replaceable>boolean</replaceable>;
374	zero-no-soa-ttl-cache <replaceable>boolean</replaceable>;
375	dnssec-secure-to-insecure <replaceable>boolean</replaceable>;
376	deny-answer-addresses {
377		<replaceable>address_match_list</replaceable>
378	} <optional> except-from { <replaceable>namelist</replaceable> } </optional>;
379	deny-answer-aliases {
380		<replaceable>namelist</replaceable>
381	} <optional> except-from { <replaceable>namelist</replaceable> } </optional>;
382
383	nsec3-test-zone <replaceable>boolean</replaceable>;  // testing only
384
385	allow-v6-synthesis { <replaceable>address_match_element</replaceable>; ... }; // obsolete
386	deallocate-on-exit <replaceable>boolean</replaceable>; // obsolete
387	fake-iquery <replaceable>boolean</replaceable>; // obsolete
388	fetch-glue <replaceable>boolean</replaceable>; // obsolete
389	has-old-clients <replaceable>boolean</replaceable>; // obsolete
390	maintain-ixfr-base <replaceable>boolean</replaceable>; // obsolete
391	max-ixfr-log-size <replaceable>size</replaceable>; // obsolete
392	multiple-cnames <replaceable>boolean</replaceable>; // obsolete
393	named-xfer <replaceable>quoted_string</replaceable>; // obsolete
394	serial-queries <replaceable>integer</replaceable>; // obsolete
395	treat-cr-as-space <replaceable>boolean</replaceable>; // obsolete
396	use-id-pool <replaceable>boolean</replaceable>; // obsolete
397	use-ixfr <replaceable>boolean</replaceable>; // obsolete
398};
399</literallayout>
400  </refsection>
401
402  <refsection><info><title>VIEW</title></info>
403
404    <literallayout class="normal">
405view <replaceable>string</replaceable> <replaceable>optional_class</replaceable> {
406	match-clients { <replaceable>address_match_element</replaceable>; ... };
407	match-destinations { <replaceable>address_match_element</replaceable>; ... };
408	match-recursive-only <replaceable>boolean</replaceable>;
409
410	key <replaceable>string</replaceable> {
411		algorithm <replaceable>string</replaceable>;
412		secret <replaceable>string</replaceable>;
413	};
414
415	zone <replaceable>string</replaceable> <replaceable>optional_class</replaceable> {
416		...
417	};
418
419	server ( <replaceable>ipv4_address<optional>/prefixlen</optional></replaceable> | <replaceable>ipv6_address<optional>/prefixlen</optional></replaceable> ) {
420		...
421	};
422
423	trusted-keys {
424		<replaceable>string</replaceable> <replaceable>integer</replaceable> <replaceable>integer</replaceable> <replaceable>integer</replaceable> <replaceable>quoted_string</replaceable>;
425		<optional>...</optional>
426	};
427
428	allow-recursion { <replaceable>address_match_element</replaceable>; ... };
429	allow-recursion-on { <replaceable>address_match_element</replaceable>; ... };
430	sortlist { <replaceable>address_match_element</replaceable>; ... };
431	topology { <replaceable>address_match_element</replaceable>; ... }; // not implemented
432	auth-nxdomain <replaceable>boolean</replaceable>; // default changed
433	minimal-responses <replaceable>boolean</replaceable>;
434	recursion <replaceable>boolean</replaceable>;
435	rrset-order {
436		<optional> class <replaceable>string</replaceable> </optional> <optional> type <replaceable>string</replaceable> </optional>
437		<optional> name <replaceable>quoted_string</replaceable> </optional> <replaceable>string</replaceable> <replaceable>string</replaceable>; ...
438	};
439	provide-ixfr <replaceable>boolean</replaceable>;
440	request-ixfr <replaceable>boolean</replaceable>;
441	rfc2308-type1 <replaceable>boolean</replaceable>; // not yet implemented
442	additional-from-auth <replaceable>boolean</replaceable>;
443	additional-from-cache <replaceable>boolean</replaceable>;
444	query-source ( ( <replaceable>ipv4_address</replaceable> | * ) | <optional> address ( <replaceable>ipv4_address</replaceable> | * ) </optional> ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
445	query-source-v6 ( ( <replaceable>ipv6_address</replaceable> | * ) | <optional> address ( <replaceable>ipv6_address</replaceable> | * ) </optional> ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
446	use-queryport-pool <replaceable>boolean</replaceable>;
447	queryport-pool-ports <replaceable>integer</replaceable>;
448	queryport-pool-updateinterval <replaceable>integer</replaceable>;
449	cleaning-interval <replaceable>integer</replaceable>;
450	resolver-query-timeout <replaceable>integer</replaceable>;
451	min-roots <replaceable>integer</replaceable>; // not implemented
452	lame-ttl <replaceable>integer</replaceable>;
453	max-ncache-ttl <replaceable>integer</replaceable>;
454	max-cache-ttl <replaceable>integer</replaceable>;
455	transfer-format ( many-answers | one-answer );
456	max-cache-size <replaceable>size</replaceable>;
457	max-acache-size <replaceable>size</replaceable>;
458	clients-per-query <replaceable>number</replaceable>;
459	max-clients-per-query <replaceable>number</replaceable>;
460	check-names ( master | slave | response )
461		( fail | warn | ignore );
462	check-mx ( fail | warn | ignore );
463	check-integrity <replaceable>boolean</replaceable>;
464	check-mx-cname ( fail | warn | ignore );
465	check-srv-cname ( fail | warn | ignore );
466	cache-file <replaceable>quoted_string</replaceable>; // test option
467	suppress-initial-notify <replaceable>boolean</replaceable>; // not yet implemented
468	preferred-glue <replaceable>string</replaceable>;
469	dual-stack-servers <optional> port <replaceable>integer</replaceable> </optional> {
470		( <replaceable>quoted_string</replaceable> <optional>port <replaceable>integer</replaceable></optional> |
471		<replaceable>ipv4_address</replaceable> <optional>port <replaceable>integer</replaceable></optional> |
472		<replaceable>ipv6_address</replaceable> <optional>port <replaceable>integer</replaceable></optional> ); ...
473	};
474	edns-udp-size <replaceable>integer</replaceable>;
475	max-udp-size <replaceable>integer</replaceable>;
476	root-delegation-only <optional> exclude { <replaceable>quoted_string</replaceable>; ... } </optional>;
477	disable-algorithms <replaceable>string</replaceable> { <replaceable>string</replaceable>; ... };
478	dnssec-enable <replaceable>boolean</replaceable>;
479	dnssec-validation <replaceable>boolean</replaceable>;
480	dnssec-lookaside ( <replaceable>auto</replaceable> | <replaceable>no</replaceable> | <replaceable>domain</replaceable> trust-anchor <replaceable>domain</replaceable> );
481	dnssec-must-be-secure <replaceable>string</replaceable> <replaceable>boolean</replaceable>;
482	dnssec-accept-expired <replaceable>boolean</replaceable>;
483
484	dns64-server <replaceable>string</replaceable>;
485	dns64-contact <replaceable>string</replaceable>;
486	dns64 <replaceable>prefix</replaceable> {
487		clients { <replacable>acl</replacable>; };
488		exclude { <replacable>acl</replacable>; };
489		mapped { <replacable>acl</replacable>; };
490		break-dnssec <replaceable>boolean</replaceable>;
491		recursive-only <replaceable>boolean</replaceable>;
492		suffix <replaceable>ipv6_address</replaceable>;
493	};
494
495	empty-server <replaceable>string</replaceable>;
496	empty-contact <replaceable>string</replaceable>;
497	empty-zones-enable <replaceable>boolean</replaceable>;
498	disable-empty-zone <replaceable>string</replaceable>;
499
500	dialup <replaceable>dialuptype</replaceable>;
501	ixfr-from-differences <replaceable>ixfrdiff</replaceable>;
502
503	allow-query { <replaceable>address_match_element</replaceable>; ... };
504	allow-query-on { <replaceable>address_match_element</replaceable>; ... };
505	allow-query-cache { <replaceable>address_match_element</replaceable>; ... };
506	allow-query-cache-on { <replaceable>address_match_element</replaceable>; ... };
507	allow-transfer { <replaceable>address_match_element</replaceable>; ... };
508	allow-update { <replaceable>address_match_element</replaceable>; ... };
509	allow-update-forwarding { <replaceable>address_match_element</replaceable>; ... };
510	update-check-ksk <replaceable>boolean</replaceable>;
511	dnssec-dnskey-kskonly <replaceable>boolean</replaceable>;
512
513	masterfile-format ( text | raw );
514	notify <replaceable>notifytype</replaceable>;
515	notify-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
516	notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
517	notify-delay <replaceable>seconds</replaceable>;
518	notify-to-soa <replaceable>boolean</replaceable>;
519	also-notify <optional> port <replaceable>integer</replaceable> </optional> { ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> )
520		<optional> port <replaceable>integer</replaceable> </optional>; ...
521		<optional> key <replaceable>keyname</replaceable> </optional> ... };
522	allow-notify { <replaceable>address_match_element</replaceable>; ... };
523
524	forward ( first | only );
525	forwarders <optional> port <replaceable>integer</replaceable> </optional> {
526		( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> ) <optional> port <replaceable>integer</replaceable> </optional>; ...
527	};
528
529	max-journal-size <replaceable>size_no_default</replaceable>;
530	max-transfer-time-in <replaceable>integer</replaceable>;
531	max-transfer-time-out <replaceable>integer</replaceable>;
532	max-transfer-idle-in <replaceable>integer</replaceable>;
533	max-transfer-idle-out <replaceable>integer</replaceable>;
534	max-retry-time <replaceable>integer</replaceable>;
535	min-retry-time <replaceable>integer</replaceable>;
536	max-refresh-time <replaceable>integer</replaceable>;
537	min-refresh-time <replaceable>integer</replaceable>;
538	multi-master <replaceable>boolean</replaceable>;
539	sig-validity-interval <replaceable>integer</replaceable>;
540
541	transfer-source ( <replaceable>ipv4_address</replaceable> | * )
542		<optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
543	transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * )
544		<optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
545
546	alt-transfer-source ( <replaceable>ipv4_address</replaceable> | * )
547		<optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
548	alt-transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * )
549		<optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
550	use-alt-transfer-source <replaceable>boolean</replaceable>;
551
552	zone-statistics <replaceable>boolean</replaceable>;
553	try-tcp-refresh <replaceable>boolean</replaceable>;
554	key-directory <replaceable>quoted_string</replaceable>;
555	zero-no-soa-ttl <replaceable>boolean</replaceable>;
556	zero-no-soa-ttl-cache <replaceable>boolean</replaceable>;
557	dnssec-secure-to-insecure <replaceable>boolean</replaceable>;
558
559	allow-v6-synthesis { <replaceable>address_match_element</replaceable>; ... }; // obsolete
560	fetch-glue <replaceable>boolean</replaceable>; // obsolete
561	maintain-ixfr-base <replaceable>boolean</replaceable>; // obsolete
562	max-ixfr-log-size <replaceable>size</replaceable>; // obsolete
563};
564</literallayout>
565  </refsection>
566
567  <refsection><info><title>ZONE</title></info>
568
569    <literallayout class="normal">
570zone <replaceable>string</replaceable> <replaceable>optional_class</replaceable> {
571	type ( master | slave | stub | hint | redirect |
572		forward | delegation-only );
573	file <replaceable>quoted_string</replaceable>;
574
575	masters <optional> port <replaceable>integer</replaceable> </optional> {
576		( <replaceable>masters</replaceable> |
577		<replaceable>ipv4_address</replaceable> <optional>port <replaceable>integer</replaceable></optional> |
578		<replaceable>ipv6_address</replaceable> <optional> port <replaceable>integer</replaceable> </optional> ) <optional> key <replaceable>string</replaceable> </optional>; ...
579	};
580
581	database <replaceable>string</replaceable>;
582	delegation-only <replaceable>boolean</replaceable>;
583	check-names ( fail | warn | ignore );
584	check-mx ( fail | warn | ignore );
585	check-integrity <replaceable>boolean</replaceable>;
586	check-mx-cname ( fail | warn | ignore );
587	check-srv-cname ( fail | warn | ignore );
588	dialup <replaceable>dialuptype</replaceable>;
589	ixfr-from-differences <replaceable>boolean</replaceable>;
590	journal <replaceable>quoted_string</replaceable>;
591	zero-no-soa-ttl <replaceable>boolean</replaceable>;
592	dnssec-secure-to-insecure <replaceable>boolean</replaceable>;
593
594	allow-query { <replaceable>address_match_element</replaceable>; ... };
595	allow-query-on { <replaceable>address_match_element</replaceable>; ... };
596	allow-transfer { <replaceable>address_match_element</replaceable>; ... };
597	allow-update { <replaceable>address_match_element</replaceable>; ... };
598	allow-update-forwarding { <replaceable>address_match_element</replaceable>; ... };
599	update-policy <replaceable>local</replaceable> | <replaceable> {
600		( grant | deny ) <replaceable>string</replaceable>
601		( name | subdomain | wildcard | self | selfsub | selfwild |
602                  krb5-self | ms-self | krb5-subdomain | ms-subdomain |
603		  tcp-self | zonesub | 6to4-self ) <replaceable>string</replaceable>
604		<replaceable>rrtypelist</replaceable>;
605		<optional>...</optional>
606	}</replaceable>;
607	update-check-ksk <replaceable>boolean</replaceable>;
608	dnssec-dnskey-kskonly <replaceable>boolean</replaceable>;
609
610	masterfile-format ( text | raw );
611	notify <replaceable>notifytype</replaceable>;
612	notify-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
613	notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
614	notify-delay <replaceable>seconds</replaceable>;
615	notify-to-soa <replaceable>boolean</replaceable>;
616	also-notify <optional> port <replaceable>integer</replaceable> </optional> { ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> )
617		<optional> port <replaceable>integer</replaceable> </optional>; ...
618		<optional> key <replaceable>keyname</replaceable> </optional> ... };
619	allow-notify { <replaceable>address_match_element</replaceable>; ... };
620
621	forward ( first | only );
622	forwarders <optional> port <replaceable>integer</replaceable> </optional> {
623		( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> ) <optional> port <replaceable>integer</replaceable> </optional>; ...
624	};
625
626	max-journal-size <replaceable>size_no_default</replaceable>;
627	max-transfer-time-in <replaceable>integer</replaceable>;
628	max-transfer-time-out <replaceable>integer</replaceable>;
629	max-transfer-idle-in <replaceable>integer</replaceable>;
630	max-transfer-idle-out <replaceable>integer</replaceable>;
631	max-retry-time <replaceable>integer</replaceable>;
632	min-retry-time <replaceable>integer</replaceable>;
633	max-refresh-time <replaceable>integer</replaceable>;
634	min-refresh-time <replaceable>integer</replaceable>;
635	multi-master <replaceable>boolean</replaceable>;
636	request-ixfr <replaceable>boolean</replaceable>;
637	sig-validity-interval <replaceable>integer</replaceable>;
638
639	transfer-source ( <replaceable>ipv4_address</replaceable> | * )
640		<optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
641	transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * )
642		<optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
643
644	alt-transfer-source ( <replaceable>ipv4_address</replaceable> | * )
645		<optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
646	alt-transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * )
647		<optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
648	use-alt-transfer-source <replaceable>boolean</replaceable>;
649
650	zone-statistics <replaceable>boolean</replaceable>;
651	try-tcp-refresh <replaceable>boolean</replaceable>;
652	key-directory <replaceable>quoted_string</replaceable>;
653
654	nsec3-test-zone <replaceable>boolean</replaceable>;  // testing only
655
656	ixfr-base <replaceable>quoted_string</replaceable>; // obsolete
657	ixfr-tmp-file <replaceable>quoted_string</replaceable>; // obsolete
658	maintain-ixfr-base <replaceable>boolean</replaceable>; // obsolete
659	max-ixfr-log-size <replaceable>size</replaceable>; // obsolete
660	pubkey <replaceable>integer</replaceable> <replaceable>integer</replaceable> <replaceable>integer</replaceable> <replaceable>quoted_string</replaceable>; // obsolete
661};
662</literallayout>
663  </refsection>
664
665  <refsection><info><title>FILES</title></info>
666
667    <para><filename>/etc/named.conf</filename>
668    </para>
669  </refsection>
670
671  <refsection><info><title>SEE ALSO</title></info>
672
673    <para><citerefentry>
674        <refentrytitle>named</refentrytitle><manvolnum>8</manvolnum>
675      </citerefentry>,
676      <citerefentry>
677        <refentrytitle>named-checkconf</refentrytitle><manvolnum>8</manvolnum>
678      </citerefentry>,
679      <citerefentry>
680        <refentrytitle>rndc</refentrytitle><manvolnum>8</manvolnum>
681      </citerefentry>,
682      <citetitle>BIND 9 Administrator Reference Manual</citetitle>.
683    </para>
684  </refsection>
685
686</refentry>
687