HPlogo BIND 9.3.2 Release Notes: HP-UX 11i v1, HP-UX 11i v2, HP-UX 11i v3 > Chapter 1 BIND 9.3.2 Release Notes

BIND 9.3.2 Features

» 

Technical documentation

Complete book in PDF

 » Table of Contents

BIND 9.3.2 offers the following features:

DNSSEC Implementation Based on RFC 4033, 4034, and 4035

Starting with BIND 9.3.2, the Domain Name System Security Extensions (DNSSEC) feature implements the standards specified in RFC 4033 (DNS Security Introduction and Requirements), 4034 (Resource Records for the DNS Security Extensions), and 4035 (Protocol Modifications for the DNS Security Extension). The DNSSEC implementation provides the following new features:

  • Signed Zone

    A signed zone contains additional security-related resource records (RRs). Table 1-1 describes additional security-related records in BIND 9.3.2.

    Table 1-1 Security-Related RRs in a Signed Zone

    RR TypeDescription

    DNS Public Key (DNSKEY)

    Enables normal DNS resolution and stores public keys. The DNSKEY record replaces the KEY record.

    Resource Record Signature (RRSIG)

    Stores cryptographically generated digital signatures

    Next Secure (NSEC)

    Enables a security-aware resolver to authenticate a negative reply, for non-existence of name or type, using the same mechanism that is used to authenticate other DNS replies. The NSEC record replaces the NXT record.

    Delegation Signer (DS)

    Simplifies administrative tasks involved in signing delegations across organizational boundaries

     

  • New DNSSEC options in the options statement

    BIND 9.3.2 provides new DNSSEC options in the options statement. lists the new options in the options statement located in the /etc/named.conf file.

    Table 1-2 New DNSSEC Options

    OptionDescription
    dnssec-enable yes_or_no;

    Enables or disables DNSSEC support. If this option is set to yes, named supports the DNSSEC feature. By default, the DNSSEC feature is not enabled.

    dnssec-lookaside domain trust-anchor domain;

    Provides the validator an alternate method to validate DNSKEY records at the top of a zone.

    dnssec-must-be-secure domain yes_or_no;

    Specifies hierarchies that are secure (signed and validated). If this option is set to yes, named accepts answers only if they are secure. If this option is set to no, named applies the standard DNSSEC validation.

    disable-algorithms domain { algorithm; [ algorithm; ] };

    Disables the specified DNSSEC algorithms at and below the specified name. Multiple disable-algorithms statements are allowed. However, only the most specific is applied.

    sig-validity-interval number;

    Specifies when the automatically generated DNSSEC signatures expire. The default value is 30 days. The maximum is 3660 days (10 years).

     

    For more information on the new DNSSEC options, see named.conf(1)

  • New DNSSEC statement in the options statement

    BIND 9.3.2 contains trusted-keys, a new DNSSEC statement in the options statement located in /etc/named.conf file. The trusted-keys statement defines DNSSEC security roots. A security root is defined when the public key for a non-authoritative zone cannot be securely obtained through DNS, either because it is the DNS root zone or because its parent zone is unsigned. When a key is configured as a trusted key, it is treated as if it is validated and is secure. The resolver attempts DNSSEC validation on all DNS data in the subdomains of a security root. The trusted-keys statement can contain multiple key entries, each consisting of the key's domain name, flags, protocol, algorithm, and the base-64 representation of the key data. For more information on the trusted-keys statement, see named.conf(1)

Support for the ip6.arpa Domain

BIND 9.3.2 uses the ip6.arpa domain for IPv6 forward lookups, instead of the ip6.int domain. However, BIND 9.3.2 continues to support the ip6.int domain for backward compatibility. BIND 9.3.2 also uses the ip6.arpa domain for storing IPv6 addresses in the DNS. The existing queries that perform additional section processing to locate IPv4 addresses are redefined to perform additional section processing on both IPv4 and IPv6 addresses.

The ip6.arpa domain is a special domain defined to look up a record given an IPv6 address. This domain provides a method to map an IPv6 address to a host name.

An IPv6 address is represented as a name in the ip6.arpa domain by a sequence of nibbles separated by dots with the suffix .ip6.arpa. The sequence of nibbles is encoded in reverse order wherein the low-order nibble is encoded first, followed by the next low-order nibble and so on. Each nibble is represented by a hexadecimal digit.

For example, consider the following IPv6 address:

4321:0:1:2:3:4:567:89ab

Following is the reverse lookup domain name in the ip6.arpa domain:

b.a.9.8.7.6.5.0.4.0.0.0.3.0.0.0.2.0.0.0.1.0.0.0.0.0.0.0.1.2.3.4.ip6.arpa. 

New Method of Listing Master Servers

Starting with BIND 9.3.2, the masters statement provides a list of master name servers that can be included in the masters clause of the zone statement.

Following is the masters statement with the new masters_list option, which specifies the acl name of the list of master name servers:

masters name [port ip_port] {(masters_list | ip_addr [port ip_port] [key key]); [...]};

The masters_list option specifies one or more IP addresses of master servers, which the slave can contact to update its copy of the zone. The masters_list elements can also be names of other master lists. This list can be used in the masters clause in the zone statement.

Following is a sample acl statement that assigns a symbolic name to an address match list:

acl acl1 {
         15.70.190.186; 15.70.190.115;
         };

Following is a sample zone statement with the masters clause:

zone "example.com" { 
type slave; 
masters {acl1;};
file "db.example";
};

Where:

acl1 specifies the name of the list of master name servers.

New Options in the options Statement

Table 1-3 lists the new options added in the options statement.

Table 1-3 New Options in the Options Statement

OptionDescription
hostname

Identifies the host name of the anycast named server that answers the query

server-id

Identifies the server ID of the anycast named server that answers the query

key-directory

Specifies the location of the public and private key files if the current directory is not the working directory

memstatistics-file

Specifies the pathname of the file where the server writes memory usage statistics upon exit. The default file is named.memstats.

flush-zones-on-shutdown

Specifies whether any pending zone writes must be flushed when the name server exits because of a SIGTERM signal. The default value is no.

check-names

Specifies the list of IPv4 and IPv6 UDP ports that are not used as system assigned source ports for UDP sockets.

The default value depends on the usage area. For master zones, the default value is fail. For slave zones, the default value is warn. For an answer (response) received from the network, the default value is ignore.

avoid-v4-udp-ports and avoid-v6-udp-ports

Avoids named from selecting certain ports

query-source-v6

Specifies the address and port used for queries

tcp-listen-queue

This option specifies the length of the listen queue. The default and minimum values are 3. If the kernel supports the dataready accept filter, this option also controls the number of TCP connections that are queued in the kernel space waiting for data, before data is passed to the accept filter.

alt-transfer-source

Specifies an alternate transfer source, if the transfer source listed in the transfer-source option fails and the use-alt-transfer-source option is set.

alt-transfer-source-v6

Specifies an alternate transfer source, if the transfer source listed in the transfer-source-v6 option fails and the use-alt-transfer-source option is set.

use-alt-transfer-source

Specifies whether named must use the alternate transfer sources. Alternate transfer sources are used if views are specified; otherwise, the alternate transfer sources are not used for BIND 8 compatibility.

max-journal-size

Sets a maximum size for each journal file. When the journal file approaches the specified size, older transactions in the journal are removed. The default value is unlimited.

rrset-order

Configures the ordering of records in a multiple record response

preferred-glue

Specifies the glue that is emitted first in the additional section of a query response. If specified, the listed type (A or AAAA) is emitted before any other glue. The default value is NONE if a preference is not set for any type of glue.

root-delegation-only

Switches on the enforcement of delegation-only in top level domains (TLDs) and root zones with an optional exclude list.

querylog

Specifies whether query logging must be started when named starts. If querylog is not specified, query logging is determined by the presence of the logging category queries.

disable-algorithms

Disables the DNSSEC algorithms at and below the specified name. Multiple disable-algorithms statements are allowed. However, only the most specific disable-algorithms option is applied.

 

New Option to Configure the Ordering of Records

The new rrset-order option in the options statement enables you to configure the ordering of the records in a multiple-record response. When the name server returns multiple records in a response, it is useful to configure the order of the records placed into the response.

Following is the syntax of the rrset-order option:

rrset-order {order_spec};

Where, an order_spec can be defined as follows:

[class class_name]
[ type type_name ]
[ name domain_name]
order ordering

The default value for class and type is ANY, and for name is *.

The valid values for ordering are:

fixed

Records are returned in the order they are defined in the zone file

random

Records are returned in a random order

cyclic

Records are returned in a round-robin order

Following is an example of the rrset-order option:

rrset-order {
        class IN type A name "host.example.com" order random;
         order cyclic;
};

This rrset-order option causes responses for type A records in class IN that have host.example.com as a suffix, to be returned in random order. Other types of records are returned in cyclic order.

If the options statement contains multiple rrset-order options, they are not combined but only the last rrset-order option is used.

New Option to Set the Advertized EDNS UDP Buffer Size

The edns-udp-size option in the options statement sets the advertised Extended DNS (EDNS) User Datagram Protocol (UDP) buffer size to enable UDP answers to pass through broken firewalls that block fragmented packets greater than 512 bytes. The valid range of values is 512 to 4096 bytes (values not in this range are adjusted appropriately). The default value of this option is 4096 bytes.

New Option to Restrict the Character Set of Domain Names

This check-names option in the options statement restricts the character set and syntax of certain domain names in the master files and DNS responses. The rules for valid host names or mail domains are derived from RFC 952 (DoD Internet Host Table Specification) and RFC 821 (Simple Mail Transfer Protocol) as modified by RFC 1123 (Requirements for Internet Hosts - Application and Support). The check-names option checks the names of the owner names of A, AAAA, and MX records and also checks domain names in the RDATA of NS, SOA, and MX records. It also applies to the RDATA of PTR records where the owner name indicates that it is a reverse lookup of a hostname (the owner name ends with in-addr.arpa, ip6.arpa, or ip6.int).

The default value of the check-names option depends on the usage area. For master zones, the default value is fail. For slave zones, the default value is warn. For an answer (response) received from the network, the default value is ignore.

New Options to Enable and Disable IXFR

In BIND 9.3.2, the incremental zone transfer (IXFR) feature is enabled by default. describes the new options available in the options statement that can be used to enable and disable IXFR.

Table 1-4 Options to Enable and Disable IXFR

OptionDescription

provide-ixfr yes_or_no;

Determines whether the local server, which acts as a master, responds with an incremental zone transfer when the remove slave server requests an IXFR. If the provide-ixfr option is set to yes, incremental transfer is provided whenever possible. If this option is set to no, all transfers to the remote server is non-incremental.

If the provide-ixfr option is not set, the value of provide-ixfr in the view or global options statement is used as default.

request-ixfr yes_or_no;

Determines whether the local server, acting as a slave, requests incremental zone transfers from a remote master server. If this option is not set, the value of request-ixfr in the view or global options statement is used as default. If this option is set to yes, the server, by default, collects statistical data of all zones in the server. If this option is set to no, the server requests a full zone transfer (AXFR).

ixfr-from-differences yes_or_no;

Loads a new version of the master zone from the zone file of the server, or receives a new version of the slave file by a non-incremental zone transfer. If this option is set to yes, when the server receives a new version of a slave file by a non-incremental zone transfer, the server compares the new version of the master zone with the previous version of master zone and calculates the set of differences. The differences are logged in the journal file of the zone such that the changes can be transmitted to downstream slaves as an incremental zone transfer. If this option is set to no, the name server must perform a complete zone transfer to the slave server.

 

Transition Support for IPv4 and IPv6

BIND 9.3.2 provides transition support for IPv4 and IPv6 to solve the problem caused by lack of support for either IPv4 or IPv6 address on a host system. It also provides the dual-stack-servers option to enable the transition support for IPv4 and IPv6 addresses. This option specifies host names or addresses of systems that access both IPv4 and IPv6 transports. If the host name is specified, a name server must be able to resolve a host name by using only the transport supported by the name server. If the dual-stack-servers option is used in dual-stacked system, this option does not have any influence if access to the IPv4 or IPv6 transport is disabled on the command line using the named -4 command or named -6 command, respectively.

The syntax for the dual-stack-servers option in the options statement in the /etc/named.conf file is as follows:

[ dual-stack-servers [port ip_port] { ( domain_name [port ip_port] | ip_addr [port ip_port] ) ; ... }; ]

New Commands in the rndc Utility

The following are new commands in the remote name daemon control (rndc) utility:

  • retransfer zone [class [view]]

    This command enables you to retransfer the given zone from the master name server.

  • freeze zone [class [view]]

    This command enables you to suspend updates to a dynamic zone and enables you to edit a zone that is usually updated dynamically. This command results in changes to the journal file to be synchronized into the master, and the journal file to be removed. All dynamic update attempts are refused if the zone is frozen.

  • thaw zone [class [view]]

    This command enables you to update a frozen dynamic zone. This command causes the server to reload the zone from the disk and re-enables dynamic updates after the load is complete.

For more information on these commands, see rndc(1). A sample rndc.conf file is distributed with this release of BIND in the /usr/examples/bind directory. This file can be generated automatically using the rndc-confgen utility, which is also distributed with BIND 9.3.2.

New Option in the zone Statement

The delegation-only option is added to the zone statement. You can use this option to enforce the delegation-only status of infrastructure zones (for example, COM, NET, and ORG). Any answer that a name server receives without an explicit or implicit delegation in the authority section is treated as NXDOMAIN, which indicates that a host name is not found. The NXDOMAIN response is the type of response sent by the name server.

New Command-Line Options

Table 1-5 lists the new command-line options for the various binaries and tools in BIND 9.3.2.

Table 1-5 New Command-Line Options

Binaries/ToolsOptionsDescription
dnssec-keygen-f flagSets the specified flag in the flag field of the KEY or DNSKEY record. The only recognized flag is Signed Key (KSK) DNSKEY.
dnssec-keygen-kGenerates KEY records, instead of the DNSKEY records
dnssec-signzone-gGenerates DS records for child zones from the keyset files. Existing DS records are removed from the signed db files.
dnssec-signzone-k keyTreats the specified key as a key signing key and ignores any key flags. This option can be specified multiple times.
dnssec-signzone-l domainGenerates a DNSSEC lookaside validation (DLV) set in addition to the key (DNSKEY) and DS sets. The domain is appended to the name of the records.
named-checkconf-zPerforms a check load on the master zone files in the /etc/named.conf file
named-checkconf-jReads the journal while loading a zone file
named-checkzone-jReads the journal while loading a zone file
named-checkzone-k modePerforms check-name checks with the specified failure mode. The values for the failure modes are fail, warn, and ignore. The default value is warn.
named-checkzone-n modeSpecifies if name server (NS) records must be checked to verify whether they are addresses. The values for this option are fail, warn, and ignore. The default value is warn.
named-checkzone-o filenameWrites the zone output to the directory
named-checkzone-t directorySpecifies the directory under which the named-checkzone command is chrooted. The $INCLUDE directives in the configuration file are also processed as if they are run by a similarly chrooted named.
named-checkzone-w directorySpecifies named to change to directory so that relative filenames in the master file $INCLUDE directives are functional. This option is similar to the directory clause in the /etc/named.conf file.
named-checkzone-DSpecifies the dump zone file in canonical format
named-4Specifies named to use only the IPv4 transport even if the host system is capable of handling IPv6 addresses
named-6Specifies named to use only the IPv6 transport even if the host system is capable of handling IPv4 addresses
nsupdate-tSets the maximum timeout value for an update request before it can abort. The default value is 300 seconds. To disable the timeout, set this option to 0.
nsupdate-uSets the UDP retry interval. The default value is 3 seconds. If this option is set to 0, the interval is computed from the timeout interval and the number of UDP retries.
nsupdate-rSets the number of UDP retries. The default value is 3. If this option is set to 0, only one update request is made.

 

Supports RFC 4193 (Unique Local IPv6 Unicast Addresses)

BIND 9.3.2 (C.9.3.2.5.0) for the HP-UX 11i v3 operating system conforms to RFC 4193 (Unique Local IPv6 Unicast Addresses). RFC 4193 defines a format for the unique local IPv6 unicast address that is globally unique and not intended for external networks. When named receives an unique local IPv6 unicast address for resolution, it does not send this address to the global DNS server for resolution. Instead, it returns the NXDOMAIN response message by default. As a result, the unique local IPv6 unicast addresses are never exposed to the outside network and are not accessible by external systems.