NAME

named.conf - configuration file for named

SYNOPSIS

   named.conf

DESCRIPTION

named.conf is the configuration file for named. Statements are enclosed in braces and terminated with a semi-colon. Clauses in the statements are also semi-colon terminated. The usual comment styles are supported:

C style: /* */

C++ style: // to end of line

Unix style: # to end of line

ACL

       acl string { address_match_element; ... };

CONTROLS

       controls {
            inet ( ipv4_address | ipv6_address |
                * ) [ port ( integer | * ) ] allow
                { address_match_element; ... } [
                keys { string; ... } ] [ read-only
                boolean ];
            unix quoted_string perm integer
                owner integer group integer [
                keys { string; ... } ] [ read-only
                boolean ];
       };

DLZ

       dlz string {
            database string;
            search boolean;
       };

DYNDB

       dyndb string quoted_string {
           unspecified-text };

KEY

       key string {
            algorithm string;
            secret string;
       };

LOGGING

       logging {
            category string { string; ... };
            channel string {
                 buffered boolean;
                 file quoted_string [ versions ( "unlimited" | integer )
                     ] [ size size ];
                 null;
                 print-category boolean;
                 print-severity boolean;
                 print-time boolean;
                 severity log_severity;
                 stderr;
                 syslog [ syslog_facility ];
            };
       };

LWRES

       lwres {
            listen-on [ port integer ] [ dscp integer ] { ( ipv4_address
                | ipv6_address ) [ port integer ] [ dscp integer ]; ... };
            lwres-clients integer;
            lwres-tasks integer;
            ndots integer;
            search { string; ... };
            view string [ class ];
       };

MANAGED-KEYS

       managed-keys { string string integer
           integer integer quoted_string; ... };

MASTERS

       masters string [ port integer ] [ dscp
           integer ] { ( masters | ipv4_address [
           port integer ] | ipv6_address [ port
           integer ] ) [ key string ]; ... };

OPTIONS

       options {
            acache-cleaning-interval integer;
            acache-enable boolean;
            additional-from-auth boolean;
            additional-from-cache boolean;
            allow-new-zones boolean;
            allow-notify { address_match_element; ... };
            allow-query { address_match_element; ... };
            allow-query-cache { address_match_element; ... };
            allow-query-cache-on { address_match_element; ... };
            allow-query-on { address_match_element; ... };
            allow-recursion { address_match_element; ... };
            allow-recursion-on { address_match_element; ... };
            allow-transfer { address_match_element; ... };
            allow-update { address_match_element; ... };
            allow-update-forwarding { address_match_element; ... };
            also-notify [ port integer ] [ dscp integer ] { ( masters |
                ipv4_address [ port integer ] | ipv6_address [ port
                integer ] ) [ key string ]; ... };
            alt-transfer-source ( ipv4_address | * ) [ port ( integer | * )
                ] [ dscp integer ];
            alt-transfer-source-v6 ( ipv6_address | * ) [ port ( integer |
                * ) ] [ dscp integer ];
            attach-cache string;
            auth-nxdomain boolean; // default changed
            auto-dnssec ( allow | maintain | off );
            automatic-interface-scan boolean;
            avoid-v4-udp-ports { portrange; ... };
            avoid-v6-udp-ports { portrange; ... };
            bindkeys-file quoted_string;
            blackhole { address_match_element; ... };
            cache-file quoted_string;
            catalog-zones { zone quoted_string [ default-masters [ port
                integer ] [ dscp integer ] { ( masters | ipv4_address [
                port integer ] | ipv6_address [ port integer ] ) [ key
                string ]; ... } ] [ zone-directory quoted_string ] [
                in-memory boolean ] [ min-update-interval integer ]; ... };
            check-dup-records ( fail | warn | ignore );
            check-integrity boolean;
            check-mx ( fail | warn | ignore );
            check-mx-cname ( fail | warn | ignore );
            check-names ( master | slave | response
                ) ( fail | warn | ignore );
            check-sibling boolean;
            check-spf ( warn | ignore );
            check-srv-cname ( fail | warn | ignore );
            check-wildcard boolean;
            cleaning-interval integer;
            clients-per-query integer;
            cookie-algorithm ( aes | sha1 | sha256 );
            cookie-secret string;
            coresize ( default | unlimited | sizeval );
            datasize ( default | unlimited | sizeval );
            deny-answer-addresses { address_match_element; ... } [
                except-from { quoted_string; ... } ];
            deny-answer-aliases { quoted_string; ... } [ except-from {
                quoted_string; ... } ];
            dialup ( notify | notify-passive | passive | refresh | boolean );
            directory quoted_string;
            disable-algorithms string { string;
                ... };
            disable-ds-digests string { string;
                ... };
            disable-empty-zone string;
            dns64 netprefix {
                 break-dnssec boolean;
                 clients { address_match_element; ... };
                 exclude { address_match_element; ... };
                 mapped { address_match_element; ... };
                 recursive-only boolean;
                 suffix ipv6_address;
            };
            dns64-contact string;
            dns64-server string;
            dnssec-accept-expired boolean;
            dnssec-dnskey-kskonly boolean;
            dnssec-enable boolean;
            dnssec-loadkeys-interval integer;
            dnssec-lookaside ( string trust-anchor
                string | auto | no );
            dnssec-must-be-secure string boolean;
            dnssec-secure-to-insecure boolean;
            dnssec-update-mode ( maintain | no-resign );
            dnssec-validation ( yes | no | auto );
            dnstap { ( all | auth | client | forwarder |
                resolver ) [ ( query | response ) ]; ... };
            dnstap-identity ( quoted_string | none |
                hostname );
            dnstap-output ( file | unix ) quoted_string;
            dnstap-version ( quoted_string | none );
            dscp integer;
            dual-stack-servers [ port integer ] { ( quoted_string [ port
                integer ] [ dscp integer ] | ipv4_address [ port
                integer ] [ dscp integer ] | ipv6_address [ port
                integer ] [ dscp integer ] ); ... };
            dump-file quoted_string;
            edns-udp-size integer;
            empty-contact string;
            empty-server string;
            empty-zones-enable boolean;
            fetch-quota-params integer fixedpoint fixedpoint fixedpoint;
            fetches-per-server integer [ ( drop | fail ) ];
            fetches-per-zone integer [ ( drop | fail ) ];
            files ( default | unlimited | sizeval );
            filter-aaaa { address_match_element; ... };
            filter-aaaa-on-v4 ( break-dnssec | boolean );
            filter-aaaa-on-v6 ( break-dnssec | boolean );
            flush-zones-on-shutdown boolean;
            forward ( first | only );
            forwarders [ port integer ] [ dscp integer ] { ( ipv4_address
                | ipv6_address ) [ port integer ] [ dscp integer ]; ... };
            fstrm-set-buffer-hint integer;
            fstrm-set-flush-timeout integer;
            fstrm-set-input-queue-size integer;
            fstrm-set-output-notify-threshold integer;
            fstrm-set-output-queue-model ( mpsc | spsc );
            fstrm-set-output-queue-size integer;
            fstrm-set-reopen-interval integer;
            geoip-directory ( quoted_string | none );
            geoip-use-ecs boolean;
            heartbeat-interval integer;
            hostname ( quoted_string | none );
            inline-signing boolean;
            interface-interval integer;
            ixfr-from-differences ( master | slave | boolean );
            keep-response-order { address_match_element; ... };
            key-directory quoted_string;
            lame-ttl ttlval;
            listen-on [ port integer ] [ dscp
                integer ] {
                address_match_element; ... };
            listen-on-v6 [ port integer ] [ dscp
                integer ] {
                address_match_element; ... };
            lmdb-mapsize sizeval;
            lock-file ( quoted_string | none );
            managed-keys-directory quoted_string;
            masterfile-format ( map | raw | text );
            masterfile-style ( full | relative );
            match-mapped-addresses boolean;
            max-acache-size ( unlimited | sizeval );
            max-cache-size ( default | unlimited | sizeval | percentage );
            max-cache-ttl integer;
            max-clients-per-query integer;
            max-journal-size ( unlimited | sizeval );
            max-ncache-ttl integer;
            max-records integer;
            max-recursion-depth integer;
            max-recursion-queries integer;
            max-refresh-time integer;
            max-retry-time integer;
            max-rsa-exponent-size integer;
            max-transfer-idle-in integer;
            max-transfer-idle-out integer;
            max-transfer-time-in integer;
            max-transfer-time-out integer;
            max-udp-size integer;
            max-zone-ttl ( unlimited | ttlval );
            memstatistics boolean;
            memstatistics-file quoted_string;
            message-compression boolean;
            min-refresh-time integer;
            min-retry-time integer;
            minimal-any boolean;
            minimal-responses ( no-auth | no-auth-recursive | boolean );
            multi-master boolean;
            no-case-compress { address_match_element; ... };
            nocookie-udp-size integer;
            notify ( explicit | master-only | boolean );
            notify-delay integer;
            notify-rate integer;
            notify-source ( ipv4_address | * ) [ port ( integer | * ) ] [
                dscp integer ];
            notify-source-v6 ( ipv6_address | * ) [ port ( integer | * ) ]
                [ dscp integer ];
            notify-to-soa boolean;
            nta-lifetime ttlval;
            nta-recheck ttlval;
            nxdomain-redirect string;
            pid-file ( quoted_string | none );
            port integer;
            preferred-glue string;
            prefetch integer [ integer ];
            provide-ixfr boolean;
            query-source ( ( [ address ] ( ipv4_address | * ) [ port (
                integer | * ) ] ) | ( [ [ address ] ( ipv4_address | * ) ]
                port ( integer | * ) ) ) [ dscp integer ];
            query-source-v6 ( ( [ address ] ( ipv6_address | * ) [ port (
                integer | * ) ] ) | ( [ [ address ] ( ipv6_address | * ) ]
                port ( integer | * ) ) ) [ dscp integer ];
            querylog boolean;
            random-device quoted_string;
            rate-limit {
                 all-per-second integer;
                 errors-per-second integer;
                 exempt-clients { address_match_element; ... };
                 ipv4-prefix-length integer;
                 ipv6-prefix-length integer;
                 log-only boolean;
                 max-table-size integer;
                 min-table-size integer;
                 nodata-per-second integer;
                 nxdomains-per-second integer;
                 qps-scale integer;
                 referrals-per-second integer;
                 responses-per-second integer;
                 slip integer;
                 window integer;
            };
            recursing-file quoted_string;
            recursion boolean;
            recursive-clients integer;
            request-expire boolean;
            request-ixfr boolean;
            request-nsid boolean;
            require-server-cookie boolean;
            reserved-sockets integer;
            resolver-query-timeout integer;
            response-policy { zone quoted_string [ log boolean ] [
                max-policy-ttl integer ] [ policy ( cname | disabled | drop |
                given | no-op | nodata | nxdomain | passthru | tcp-only
                quoted_string ) ] [ recursive-only boolean ]; ... } [
                break-dnssec boolean ] [ max-policy-ttl integer ] [
                min-ns-dots integer ] [ nsip-wait-recurse boolean ] [
                qname-wait-recurse boolean ] [ recursive-only boolean ];
            root-delegation-only [ exclude { quoted_string; ... } ];
            rrset-order { [ class string ] [ type string ] [ name
                quoted_string ] string string; ... };
            secroots-file quoted_string;
            send-cookie boolean;
            serial-query-rate integer;
            serial-update-method ( date | increment | unixtime );
            server-id ( quoted_string | none | hostname );
            servfail-ttl ttlval;
            session-keyalg string;
            session-keyfile ( quoted_string | none );
            session-keyname string;
            sig-signing-nodes integer;
            sig-signing-signatures integer;
            sig-signing-type integer;
            sig-validity-interval integer [ integer ];
            sortlist { address_match_element; ... };
            stacksize ( default | unlimited | sizeval );
            startup-notify-rate integer;
            statistics-file quoted_string;
            tcp-clients integer;
            tcp-listen-queue integer;
            tkey-dhkey quoted_string integer;
            tkey-domain quoted_string;
            tkey-gssapi-credential quoted_string;
            tkey-gssapi-keytab quoted_string;
            transfer-format ( many-answers | one-answer );
            transfer-message-size integer;
            transfer-source ( ipv4_address | * ) [ port ( integer | * ) ] [
                dscp integer ];
            transfer-source-v6 ( ipv6_address | * ) [ port ( integer | * )
                ] [ dscp integer ];
            transfers-in integer;
            transfers-out integer;
            transfers-per-ns integer;
            trust-anchor-telemetry boolean; // experimental
            try-tcp-refresh boolean;
            update-check-ksk boolean;
            use-alt-transfer-source boolean;
            use-v4-udp-ports { portrange; ... };
            use-v6-udp-ports { portrange; ... };
            v6-bias integer;
            version ( quoted_string | none );
            zero-no-soa-ttl boolean;
            zero-no-soa-ttl-cache boolean;
            zone-statistics ( full | terse | none | boolean );
       };

SERVER

       server netprefix {
            bogus boolean;
            edns boolean;
            edns-udp-size integer;
            edns-version integer;
            keys server_key;
            max-udp-size integer;
            notify-source ( ipv4_address | * ) [ port ( integer | * ) ] [
                dscp integer ];
            notify-source-v6 ( ipv6_address | * ) [ port ( integer | * ) ]
                [ dscp integer ];
            provide-ixfr boolean;
            query-source ( ( [ address ] ( ipv4_address | * ) [ port (
                integer | * ) ] ) | ( [ [ address ] ( ipv4_address | * ) ]
                port ( integer | * ) ) ) [ dscp integer ];
            query-source-v6 ( ( [ address ] ( ipv6_address | * ) [ port (
                integer | * ) ] ) | ( [ [ address ] ( ipv6_address | * ) ]
                port ( integer | * ) ) ) [ dscp integer ];
            request-expire boolean;
            request-ixfr boolean;
            request-nsid boolean;
            send-cookie boolean;
            tcp-only boolean;
            transfer-format ( many-answers | one-answer );
            transfer-source ( ipv4_address | * ) [ port ( integer | * ) ] [
                dscp integer ];
            transfer-source-v6 ( ipv6_address | * ) [ port ( integer | * )
                ] [ dscp integer ];
            transfers integer;
       };

STATISTICS-CHANNELS

       statistics-channels {
            inet ( ipv4_address | ipv6_address |
                * ) [ port ( integer | * ) ] [
                allow { address_match_element; ...
                } ];
       };

TRUSTED-KEYS

       trusted-keys { string integer integer
           integer quoted_string; ... };

VIEW

       view string [ class ] {
            acache-cleaning-interval integer;
            acache-enable boolean;
            additional-from-auth boolean;
            additional-from-cache boolean;
            allow-new-zones boolean;
            allow-notify { address_match_element; ... };
            allow-query { address_match_element; ... };
            allow-query-cache { address_match_element; ... };
            allow-query-cache-on { address_match_element; ... };
            allow-query-on { address_match_element; ... };
            allow-recursion { address_match_element; ... };
            allow-recursion-on { address_match_element; ... };
            allow-transfer { address_match_element; ... };
            allow-update { address_match_element; ... };
            allow-update-forwarding { address_match_element; ... };
            also-notify [ port integer ] [ dscp integer ] { ( masters |
                ipv4_address [ port integer ] | ipv6_address [ port
                integer ] ) [ key string ]; ... };
            alt-transfer-source ( ipv4_address | * ) [ port ( integer | * )
                ] [ dscp integer ];
            alt-transfer-source-v6 ( ipv6_address | * ) [ port ( integer |
                * ) ] [ dscp integer ];
            attach-cache string;
            auth-nxdomain boolean; // default changed
            auto-dnssec ( allow | maintain | off );
            cache-file quoted_string;
            catalog-zones { zone quoted_string [ default-masters [ port
                integer ] [ dscp integer ] { ( masters | ipv4_address [
                port integer ] | ipv6_address [ port integer ] ) [ key
                string ]; ... } ] [ zone-directory quoted_string ] [
                in-memory boolean ] [ min-update-interval integer ]; ... };
            check-dup-records ( fail | warn | ignore );
            check-integrity boolean;
            check-mx ( fail | warn | ignore );
            check-mx-cname ( fail | warn | ignore );
            check-names ( master | slave | response
                ) ( fail | warn | ignore );
            check-sibling boolean;
            check-spf ( warn | ignore );
            check-srv-cname ( fail | warn | ignore );
            check-wildcard boolean;
            cleaning-interval integer;
            clients-per-query integer;
            deny-answer-addresses { address_match_element; ... } [
                except-from { quoted_string; ... } ];
            deny-answer-aliases { quoted_string; ... } [ except-from {
                quoted_string; ... } ];
            dialup ( notify | notify-passive | passive | refresh | boolean );
            disable-algorithms string { string;
                ... };
            disable-ds-digests string { string;
                ... };
            disable-empty-zone string;
            dlz string {
                 database string;
                 search boolean;
            };
            dns64 netprefix {
                 break-dnssec boolean;
                 clients { address_match_element; ... };
                 exclude { address_match_element; ... };
                 mapped { address_match_element; ... };
                 recursive-only boolean;
                 suffix ipv6_address;
            };
            dns64-contact string;
            dns64-server string;
            dnssec-accept-expired boolean;
            dnssec-dnskey-kskonly boolean;
            dnssec-enable boolean;
            dnssec-loadkeys-interval integer;
            dnssec-lookaside ( string trust-anchor
                string | auto | no );
            dnssec-must-be-secure string boolean;
            dnssec-secure-to-insecure boolean;
            dnssec-update-mode ( maintain | no-resign );
            dnssec-validation ( yes | no | auto );
            dnstap { ( all | auth | client | forwarder |
                resolver ) [ ( query | response ) ]; ... };
            dual-stack-servers [ port integer ] { ( quoted_string [ port
                integer ] [ dscp integer ] | ipv4_address [ port
                integer ] [ dscp integer ] | ipv6_address [ port
                integer ] [ dscp integer ] ); ... };
            dyndb string quoted_string {
                unspecified-text };
            edns-udp-size integer;
            empty-contact string;
            empty-server string;
            empty-zones-enable boolean;
            fetch-quota-params integer fixedpoint fixedpoint fixedpoint;
            fetches-per-server integer [ ( drop | fail ) ];
            fetches-per-zone integer [ ( drop | fail ) ];
            filter-aaaa { address_match_element; ... };
            filter-aaaa-on-v4 ( break-dnssec | boolean );
            filter-aaaa-on-v6 ( break-dnssec | boolean );
            forward ( first | only );
            forwarders [ port integer ] [ dscp integer ] { ( ipv4_address
                | ipv6_address ) [ port integer ] [ dscp integer ]; ... };
            inline-signing boolean;
            ixfr-from-differences ( master | slave | boolean );
            key string {
                 algorithm string;
                 secret string;
            };
            key-directory quoted_string;
            lame-ttl ttlval;
            lmdb-mapsize sizeval;
            managed-keys { string string
                integer integer integer
                quoted_string; ... };
            masterfile-format ( map | raw | text );
            masterfile-style ( full | relative );
            match-clients { address_match_element; ... };
            match-destinations { address_match_element; ... };
            match-recursive-only boolean;
            max-acache-size ( unlimited | sizeval );
            max-cache-size ( default | unlimited | sizeval | percentage );
            max-cache-ttl integer;
            max-clients-per-query integer;
            max-journal-size ( unlimited | sizeval );
            max-ncache-ttl integer;
            max-records integer;
            max-recursion-depth integer;
            max-recursion-queries integer;
            max-refresh-time integer;
            max-retry-time integer;
            max-transfer-idle-in integer;
            max-transfer-idle-out integer;
            max-transfer-time-in integer;
            max-transfer-time-out integer;
            max-udp-size integer;
            max-zone-ttl ( unlimited | ttlval );
            message-compression boolean;
            min-refresh-time integer;
            min-retry-time integer;
            minimal-any boolean;
            minimal-responses ( no-auth | no-auth-recursive | boolean );
            multi-master boolean;
            no-case-compress { address_match_element; ... };
            nocookie-udp-size integer;
            notify ( explicit | master-only | boolean );
            notify-delay integer;
            notify-source ( ipv4_address | * ) [ port ( integer | * ) ] [
                dscp integer ];
            notify-source-v6 ( ipv6_address | * ) [ port ( integer | * ) ]
                [ dscp integer ];
            notify-to-soa boolean;
            nta-lifetime ttlval;
            nta-recheck ttlval;
            nxdomain-redirect string;
            preferred-glue string;
            prefetch integer [ integer ];
            provide-ixfr boolean;
            query-source ( ( [ address ] ( ipv4_address | * ) [ port (
                integer | * ) ] ) | ( [ [ address ] ( ipv4_address | * ) ]
                port ( integer | * ) ) ) [ dscp integer ];
            query-source-v6 ( ( [ address ] ( ipv6_address | * ) [ port (
                integer | * ) ] ) | ( [ [ address ] ( ipv6_address | * ) ]
                port ( integer | * ) ) ) [ dscp integer ];
            rate-limit {
                 all-per-second integer;
                 errors-per-second integer;
                 exempt-clients { address_match_element; ... };
                 ipv4-prefix-length integer;
                 ipv6-prefix-length integer;
                 log-only boolean;
                 max-table-size integer;
                 min-table-size integer;
                 nodata-per-second integer;
                 nxdomains-per-second integer;
                 qps-scale integer;
                 referrals-per-second integer;
                 responses-per-second integer;
                 slip integer;
                 window integer;
            };
            recursion boolean;
            request-expire boolean;
            request-ixfr boolean;
            request-nsid boolean;
            require-server-cookie boolean;
            resolver-query-timeout integer;
            response-policy { zone quoted_string [ log boolean ] [
                max-policy-ttl integer ] [ policy ( cname | disabled | drop |
                given | no-op | nodata | nxdomain | passthru | tcp-only
                quoted_string ) ] [ recursive-only boolean ]; ... } [
                break-dnssec boolean ] [ max-policy-ttl integer ] [
                min-ns-dots integer ] [ nsip-wait-recurse boolean ] [
                qname-wait-recurse boolean ] [ recursive-only boolean ];
            root-delegation-only [ exclude { quoted_string; ... } ];
            rrset-order { [ class string ] [ type string ] [ name
                quoted_string ] string string; ... };
            send-cookie boolean;
            serial-update-method ( date | increment | unixtime );
            server netprefix {
                 bogus boolean;
                 edns boolean;
                 edns-udp-size integer;
                 edns-version integer;
                 keys server_key;
                 max-udp-size integer;
                 notify-source ( ipv4_address | * ) [ port ( integer | *
                     ) ] [ dscp integer ];
                 notify-source-v6 ( ipv6_address | * ) [ port ( integer
                     | * ) ] [ dscp integer ];
                 provide-ixfr boolean;
                 query-source ( ( [ address ] ( ipv4_address | * ) [ port
                     ( integer | * ) ] ) | ( [ [ address ] (
                     ipv4_address | * ) ] port ( integer | * ) ) ) [
                     dscp integer ];
                 query-source-v6 ( ( [ address ] ( ipv6_address | * ) [
                     port ( integer | * ) ] ) | ( [ [ address ] (
                     ipv6_address | * ) ] port ( integer | * ) ) ) [
                     dscp integer ];
                 request-expire boolean;
                 request-ixfr boolean;
                 request-nsid boolean;
                 send-cookie boolean;
                 tcp-only boolean;
                 transfer-format ( many-answers | one-answer );
                 transfer-source ( ipv4_address | * ) [ port ( integer |
                     * ) ] [ dscp integer ];
                 transfer-source-v6 ( ipv6_address | * ) [ port (
                     integer | * ) ] [ dscp integer ];
                 transfers integer;
            };
            servfail-ttl ttlval;
            sig-signing-nodes integer;
            sig-signing-signatures integer;
            sig-signing-type integer;
            sig-validity-interval integer [ integer ];
            sortlist { address_match_element; ... };
            transfer-format ( many-answers | one-answer );
            transfer-source ( ipv4_address | * ) [ port ( integer | * ) ] [
                dscp integer ];
            transfer-source-v6 ( ipv6_address | * ) [ port ( integer | * )
                ] [ dscp integer ];
            trust-anchor-telemetry boolean; // experimental
            trusted-keys { string integer
                integer integer quoted_string;
                ... };
            try-tcp-refresh boolean;
            update-check-ksk boolean;
            use-alt-transfer-source boolean;
            v6-bias integer;
            zero-no-soa-ttl boolean;
            zero-no-soa-ttl-cache boolean;
            zone string [ class ] {
                 allow-notify { address_match_element; ... };
                 allow-query { address_match_element; ... };
                 allow-query-on { address_match_element; ... };
                 allow-transfer { address_match_element; ... };
                 allow-update { address_match_element; ... };
                 allow-update-forwarding { address_match_element; ... };
                 also-notify [ port integer ] [ dscp integer ] { (
                     masters | ipv4_address [ port integer ] |
                     ipv6_address [ port integer ] ) [ key string ];
                     ... };
                 alt-transfer-source ( ipv4_address | * ) [ port (
                     integer | * ) ] [ dscp integer ];
                 alt-transfer-source-v6 ( ipv6_address | * ) [ port (
                     integer | * ) ] [ dscp integer ];
                 auto-dnssec ( allow | maintain | off );
                 check-dup-records ( fail | warn | ignore );
                 check-integrity boolean;
                 check-mx ( fail | warn | ignore );
                 check-mx-cname ( fail | warn | ignore );
                 check-names ( fail | warn | ignore );
                 check-sibling boolean;
                 check-spf ( warn | ignore );
                 check-srv-cname ( fail | warn | ignore );
                 check-wildcard boolean;
                 database string;
                 delegation-only boolean;
                 dialup ( notify | notify-passive | passive | refresh |
                     boolean );
                 dlz string;
                 dnssec-dnskey-kskonly boolean;
                 dnssec-loadkeys-interval integer;
                 dnssec-secure-to-insecure boolean;
                 dnssec-update-mode ( maintain | no-resign );
                 file quoted_string;
                 forward ( first | only );
                 forwarders [ port integer ] [ dscp integer ] { (
                     ipv4_address | ipv6_address ) [ port integer ] [
                     dscp integer ]; ... };
                 in-view string;
                 inline-signing boolean;
                 ixfr-from-differences boolean;
                 journal quoted_string;
                 key-directory quoted_string;
                 masterfile-format ( map | raw | text );
                 masterfile-style ( full | relative );
                 masters [ port integer ] [ dscp integer ] { ( masters
                     | ipv4_address [ port integer ] | ipv6_address [
                     port integer ] ) [ key string ]; ... };
                 max-ixfr-log-size ( default | unlimited |
                 max-journal-size ( unlimited | sizeval );
                 max-records integer;
                 max-refresh-time integer;
                 max-retry-time integer;
                 max-transfer-idle-in integer;
                 max-transfer-idle-out integer;
                 max-transfer-time-in integer;
                 max-transfer-time-out integer;
                 max-zone-ttl ( unlimited | ttlval );
                 min-refresh-time integer;
                 min-retry-time integer;
                 multi-master boolean;
                 notify ( explicit | master-only | boolean );
                 notify-delay integer;
                 notify-source ( ipv4_address | * ) [ port ( integer | *
                     ) ] [ dscp integer ];
                 notify-source-v6 ( ipv6_address | * ) [ port ( integer
                     | * ) ] [ dscp integer ];
                 notify-to-soa boolean;
                 pubkey integer
                     integer
                     integer
                 request-expire boolean;
                 request-ixfr boolean;
                 serial-update-method ( date | increment | unixtime );
                 server-addresses { ( ipv4_address | ipv6_address ) [
                     port integer ]; ... };
                 server-names { quoted_string; ... };
                 sig-signing-nodes integer;
                 sig-signing-signatures integer;
                 sig-signing-type integer;
                 sig-validity-interval integer [ integer ];
                 transfer-source ( ipv4_address | * ) [ port ( integer |
                     * ) ] [ dscp integer ];
                 transfer-source-v6 ( ipv6_address | * ) [ port (
                     integer | * ) ] [ dscp integer ];
                 try-tcp-refresh boolean;
                 type ( delegation-only | forward | hint | master | redirect
                     | slave | static-stub | stub );
                 update-check-ksk boolean;
                 update-policy ( local | { ( deny | grant ) string (
                     6to4-self | external | krb5-self | krb5-subdomain |
                     ms-self | ms-subdomain | name | self | selfsub |
                     selfwild | subdomain | tcp-self | wildcard | zonesub )
                     [ string ] rrtypelist; ... };
                 use-alt-transfer-source boolean;
                 zero-no-soa-ttl boolean;
                 zone-statistics ( full | terse | none | boolean );
            };
            zone-statistics ( full | terse | none | boolean );
       };

ZONE

       zone string [ class ] {
            allow-notify { address_match_element; ... };
            allow-query { address_match_element; ... };
            allow-query-on { address_match_element; ... };
            allow-transfer { address_match_element; ... };
            allow-update { address_match_element; ... };
            allow-update-forwarding { address_match_element; ... };
            also-notify [ port integer ] [ dscp integer ] { ( masters |
                ipv4_address [ port integer ] | ipv6_address [ port
                integer ] ) [ key string ]; ... };
            alt-transfer-source ( ipv4_address | * ) [ port ( integer | * )
                ] [ dscp integer ];
            alt-transfer-source-v6 ( ipv6_address | * ) [ port ( integer |
                * ) ] [ dscp integer ];
            auto-dnssec ( allow | maintain | off );
            check-dup-records ( fail | warn | ignore );
            check-integrity boolean;
            check-mx ( fail | warn | ignore );
            check-mx-cname ( fail | warn | ignore );
            check-names ( fail | warn | ignore );
            check-sibling boolean;
            check-spf ( warn | ignore );
            check-srv-cname ( fail | warn | ignore );
            check-wildcard boolean;
            database string;
            delegation-only boolean;
            dialup ( notify | notify-passive | passive | refresh | boolean );
            dlz string;
            dnssec-dnskey-kskonly boolean;
            dnssec-loadkeys-interval integer;
            dnssec-secure-to-insecure boolean;
            dnssec-update-mode ( maintain | no-resign );
            file quoted_string;
            forward ( first | only );
            forwarders [ port integer ] [ dscp integer ] { ( ipv4_address
                | ipv6_address ) [ port integer ] [ dscp integer ]; ... };
            in-view string;
            inline-signing boolean;
            ixfr-from-differences boolean;
            journal quoted_string;
            key-directory quoted_string;
            masterfile-format ( map | raw | text );
            masterfile-style ( full | relative );
            masters [ port integer ] [ dscp integer ] { ( masters |
                ipv4_address [ port integer ] | ipv6_address [ port
                integer ] ) [ key string ]; ... };
            max-journal-size ( unlimited | sizeval );
            max-records integer;
            max-refresh-time integer;
            max-retry-time integer;
            max-transfer-idle-in integer;
            max-transfer-idle-out integer;
            max-transfer-time-in integer;
            max-transfer-time-out integer;
            max-zone-ttl ( unlimited | ttlval );
            min-refresh-time integer;
            min-retry-time integer;
            multi-master boolean;
            notify ( explicit | master-only | boolean );
            notify-delay integer;
            notify-source ( ipv4_address | * ) [ port ( integer | * ) ] [
                dscp integer ];
            notify-source-v6 ( ipv6_address | * ) [ port ( integer | * ) ]
                [ dscp integer ];
            notify-to-soa boolean;
            pubkey integer integer
            request-expire boolean;
            request-ixfr boolean;
            serial-update-method ( date | increment | unixtime );
            server-addresses { ( ipv4_address | ipv6_address ) [ port
                integer ]; ... };
            server-names { quoted_string; ... };
            sig-signing-nodes integer;
            sig-signing-signatures integer;
            sig-signing-type integer;
            sig-validity-interval integer [ integer ];
            transfer-source ( ipv4_address | * ) [ port ( integer | * ) ] [
                dscp integer ];
            transfer-source-v6 ( ipv6_address | * ) [ port ( integer | * )
                ] [ dscp integer ];
            try-tcp-refresh boolean;
            type ( delegation-only | forward | hint | master | redirect | slave
                | static-stub | stub );
            update-check-ksk boolean;
            update-policy ( local | { ( deny | grant ) string ( 6to4-self |
                external | krb5-self | krb5-subdomain | ms-self | ms-subdomain
                | name | self | selfsub | selfwild | subdomain | tcp-self |
                wildcard | zonesub ) [ string ] rrtypelist; ... };
            use-alt-transfer-source boolean;
            zero-no-soa-ttl boolean;
            zone-statistics ( full | terse | none | boolean );
       };

FILES

/etc/named.conf

SEE ALSO

ddns-confgen(8), named(8), named-checkconf(8), rndc(8), rndc-confgen(8), BIND 9 Administrator Reference Manual.

AUTHOR

Internet Systems Consortium, Inc.

Copyright � 2004-2018 Internet Systems Consortium, Inc. (“ISC”)