named.conf.docbook revision 5c5c6d289db78e41f714007426a387498e15963c
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen [<!ENTITY mdash "—">]>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen - Copyright (C) 2004-2014 Internet Systems Consortium, Inc. ("ISC")
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen - Permission to use, copy, modify, and/or distribute this software for any
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen - purpose with or without fee is hereby granted, provided that the above
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen - copyright notice and this permission notice appear in all copies.
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen - PERFORMANCE OF THIS SOFTWARE.
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <refentryinfo>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen </refentryinfo>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <refentrytitle><filename>named.conf</filename></refentrytitle>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <refname><filename>named.conf</filename></refname>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <refpurpose>configuration file for named</refpurpose>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen </refnamediv>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <refsynopsisdiv>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <cmdsynopsis>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen </cmdsynopsis>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen </refsynopsisdiv>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <para><filename>named.conf</filename> is the configuration file
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <command>named</command>. Statements are enclosed
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen in braces and terminated with a semi-colon. Clauses in
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen the statements are also semi-colon terminated. The usual
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen comment styles are supported:
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen C style: /* */
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen C++ style: // to end of line
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen Unix style: # to end of line
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <literallayout>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyenacl <replaceable>string</replaceable> { <replaceable>address_match_element</replaceable>; ... };
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen</literallayout>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <literallayout>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen</literallayout>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <literallayout>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyenmasters <replaceable>string</replaceable> <optional> port <replaceable>integer</replaceable> </optional> {
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen ( <replaceable>masters</replaceable> | <replaceable>ipv4_address</replaceable> <optional>port <replaceable>integer</replaceable></optional> |
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <replaceable>ipv6_address</replaceable> <optional>port <replaceable>integer</replaceable></optional> ) <optional> key <replaceable>string</replaceable> </optional>; ...
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen</literallayout>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <literallayout>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyenserver ( <replaceable>ipv4_address<optional>/prefixlen</optional></replaceable> | <replaceable>ipv6_address<optional>/prefixlen</optional></replaceable> ) {
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen edns-udp-size <replaceable>integer</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen max-udp-size <replaceable>integer</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen provide-ixfr <replaceable>boolean</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen request-ixfr <replaceable>boolean</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen transfer-format ( many-answers | one-answer );
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen transfer-source ( <replaceable>ipv4_address</replaceable> | * )
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen transfer-source-v6 ( <replaceable>ipv6_address</replaceable> | * )
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen support-ixfr <replaceable>boolean</replaceable>; // obsolete
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen</literallayout>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <literallayout>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyentrusted-keys {
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <replaceable>domain_name</replaceable> <replaceable>flags</replaceable> <replaceable>protocol</replaceable> <replaceable>algorithm</replaceable> <replaceable>key</replaceable>; ...
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen</literallayout>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <literallayout>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyenmanaged-keys {
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <replaceable>domain_name</replaceable> <constant>initial-key</constant> <replaceable>flags</replaceable> <replaceable>protocol</replaceable> <replaceable>algorithm</replaceable> <replaceable>key</replaceable>; ...
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen</literallayout>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <literallayout>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen inet ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> | * )
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <optional> port ( <replaceable>integer</replaceable> | * ) </optional>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen allow { <replaceable>address_match_element</replaceable>; ... }
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <optional> keys { <replaceable>string</replaceable>; ... } </optional>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen unix <replaceable>unsupported</replaceable>; // not implemented
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen</literallayout>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <literallayout>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen syslog <replaceable>optional_facility</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen severity <replaceable>log_severity</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen print-time <replaceable>boolean</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen print-severity <replaceable>boolean</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen print-category <replaceable>boolean</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen category <replaceable>string</replaceable> { <replaceable>string</replaceable>; ... };
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen</literallayout>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <literallayout>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen listen-on <optional> port <replaceable>integer</replaceable> </optional> {
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> ) <optional> port <replaceable>integer</replaceable> </optional>; ...
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen view <replaceable>string</replaceable> <replaceable>optional_class</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen search { <replaceable>string</replaceable>; ... };
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen lwres-tasks <replaceable>integer</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen lwres-clients <replaceable>integer</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen</literallayout>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <literallayout>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen avoid-v4-udp-ports { <replaceable>port</replaceable>; ... };
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen avoid-v6-udp-ports { <replaceable>port</replaceable>; ... };
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen blackhole { <replaceable>address_match_element</replaceable>; ... };
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen directory <replaceable>quoted_string</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen dump-file <replaceable>quoted_string</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen heartbeat-interval <replaceable>integer</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen host-statistics <replaceable>boolean</replaceable>; // not implemented
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen host-statistics-max <replaceable>number</replaceable>; // not implemented
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen hostname ( <replaceable>quoted_string</replaceable> | none );
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen interface-interval <replaceable>integer</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen listen-on <optional> port <replaceable>integer</replaceable> </optional> { <replaceable>address_match_element</replaceable>; ... };
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen listen-on-v6 <optional> port <replaceable>integer</replaceable> </optional> { <replaceable>address_match_element</replaceable>; ... };
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen match-mapped-addresses <replaceable>boolean</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen memstatistics-file <replaceable>quoted_string</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen pid-file ( <replaceable>quoted_string</replaceable> | none );
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen recursing-file <replaceable>quoted_string</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen reserved-sockets <replaceable>integer</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen random-device <replaceable>quoted_string</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen recursive-clients <replaceable>integer</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen serial-query-rate <replaceable>integer</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen server-id ( <replaceable>quoted_string</replaceable> | hostname | none );
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen statistics-file <replaceable>quoted_string</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen statistics-interval <replaceable>integer</replaceable>; // not yet implemented
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen tcp-clients <replaceable>integer</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen tcp-listen-queue <replaceable>integer</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen tkey-dhkey <replaceable>quoted_string</replaceable> <replaceable>integer</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen tkey-gssapi-credential <replaceable>quoted_string</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen tkey-gssapi-keytab <replaceable>quoted_string</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen tkey-domain <replaceable>quoted_string</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen transfers-per-ns <replaceable>integer</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen transfers-in <replaceable>integer</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen transfers-out <replaceable>integer</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen version ( <replaceable>quoted_string</replaceable> | none );
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen allow-recursion { <replaceable>address_match_element</replaceable>; ... };
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen allow-recursion-on { <replaceable>address_match_element</replaceable>; ... };
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen sortlist { <replaceable>address_match_element</replaceable>; ... };
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen topology { <replaceable>address_match_element</replaceable>; ... }; // not implemented
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen auth-nxdomain <replaceable>boolean</replaceable>; // default changed
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen minimal-responses <replaceable>boolean</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen rrset-order {
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <optional> class <replaceable>string</replaceable> </optional> <optional> type <replaceable>string</replaceable> </optional>
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <optional> name <replaceable>quoted_string</replaceable> </optional> <replaceable>string</replaceable> <replaceable>string</replaceable>; ...
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen provide-ixfr <replaceable>boolean</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen request-ixfr <replaceable>boolean</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen rfc2308-type1 <replaceable>boolean</replaceable>; // not yet implemented
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen additional-from-auth <replaceable>boolean</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen additional-from-cache <replaceable>boolean</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen query-source ( ( <replaceable>ipv4_address</replaceable> | * ) | <optional> address ( <replaceable>ipv4_address</replaceable> | * ) </optional> ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen query-source-v6 ( ( <replaceable>ipv6_address</replaceable> | * ) | <optional> address ( <replaceable>ipv6_address</replaceable> | * ) </optional> ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen use-queryport-pool <replaceable>boolean</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen queryport-pool-ports <replaceable>integer</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen queryport-pool-updateinterval <replaceable>integer</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen cleaning-interval <replaceable>integer</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen resolver-query-timeout <replaceable>integer</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen min-roots <replaceable>integer</replaceable>; // not implemented
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen max-ncache-ttl <replaceable>integer</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen max-cache-ttl <replaceable>integer</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen transfer-format ( many-answers | one-answer );
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen max-cache-size <replaceable>size</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen max-acache-size <replaceable>size</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen clients-per-query <replaceable>number</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen max-clients-per-query <replaceable>number</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen check-names ( master | slave | response )
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen ( fail | warn | ignore );
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen check-mx ( fail | warn | ignore );
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen check-integrity <replaceable>boolean</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen check-mx-cname ( fail | warn | ignore );
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen check-srv-cname ( fail | warn | ignore );
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen cache-file <replaceable>quoted_string</replaceable>; // test option
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen suppress-initial-notify <replaceable>boolean</replaceable>; // not yet implemented
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen preferred-glue <replaceable>string</replaceable>;
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen dual-stack-servers <optional> port <replaceable>integer</replaceable> </optional> {
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen ( <replaceable>quoted_string</replaceable> <optional>port <replaceable>integer</replaceable></optional> |
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <replaceable>ipv4_address</replaceable> <optional>port <replaceable>integer</replaceable></optional> |
eb1a34638eba7c5add1421327f3eb225a8ea7518Truong Nguyen <replaceable>ipv6_address</replaceable> <optional>port <replaceable>integer</replaceable></optional> ); ...
root-delegation-only <optional> exclude { <replaceable>quoted_string</replaceable>; ... } </optional>;
dnssec-lookaside ( <replaceable>auto</replaceable> | <replaceable>no</replaceable> | <replaceable>domain</replaceable> trust-anchor <replaceable>domain</replaceable> );
notify-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
also-notify <optional> port <replaceable>integer</replaceable> </optional> { ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> )
( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> ) <optional> port <replaceable>integer</replaceable> </optional>; ...
server ( <replaceable>ipv4_address<optional>/prefixlen</optional></replaceable> | <replaceable>ipv6_address<optional>/prefixlen</optional></replaceable> ) {
<replaceable>string</replaceable> <replaceable>integer</replaceable> <replaceable>integer</replaceable> <replaceable>integer</replaceable> <replaceable>quoted_string</replaceable>;
<optional> class <replaceable>string</replaceable> </optional> <optional> type <replaceable>string</replaceable> </optional>
<optional> name <replaceable>quoted_string</replaceable> </optional> <replaceable>string</replaceable> <replaceable>string</replaceable>; ...
query-source ( ( <replaceable>ipv4_address</replaceable> | * ) | <optional> address ( <replaceable>ipv4_address</replaceable> | * ) </optional> ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
query-source-v6 ( ( <replaceable>ipv6_address</replaceable> | * ) | <optional> address ( <replaceable>ipv6_address</replaceable> | * ) </optional> ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
( <replaceable>quoted_string</replaceable> <optional>port <replaceable>integer</replaceable></optional> |
<replaceable>ipv4_address</replaceable> <optional>port <replaceable>integer</replaceable></optional> |
<replaceable>ipv6_address</replaceable> <optional>port <replaceable>integer</replaceable></optional> ); ...
root-delegation-only <optional> exclude { <replaceable>quoted_string</replaceable>; ... } </optional>;
dnssec-lookaside ( <replaceable>auto</replaceable> | <replaceable>no</replaceable> | <replaceable>domain</replaceable> trust-anchor <replaceable>domain</replaceable> );
notify-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
also-notify <optional> port <replaceable>integer</replaceable> </optional> { ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> )
( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> ) <optional> port <replaceable>integer</replaceable> </optional>; ...
<replaceable>ipv4_address</replaceable> <optional>port <replaceable>integer</replaceable></optional> |
<replaceable>ipv6_address</replaceable> <optional> port <replaceable>integer</replaceable> </optional> ) <optional> key <replaceable>string</replaceable> </optional>; ...
notify-source ( <replaceable>ipv4_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
notify-source-v6 ( <replaceable>ipv6_address</replaceable> | * ) <optional> port ( <replaceable>integer</replaceable> | * ) </optional>;
also-notify <optional> port <replaceable>integer</replaceable> </optional> { ( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> )
( <replaceable>ipv4_address</replaceable> | <replaceable>ipv6_address</replaceable> ) <optional> port <replaceable>integer</replaceable> </optional>; ...