dns - Domain Name Service
The Domain Name System (DNS) is an Internet standard name service for
hostname to address translation. Queries are made from a client library
(termed the resolver(4)) to a server daemon named(1M). The daemon
nsd(1M) will make these calls and present the data in a filesystem
namespace when the dns keyword exists in the nsswitch.conf configuration
file for a domain. This man page documents the behavior of the DNS
extension to the nsd daemon.
The nsd daemon reads all of the nsswitch.conf configuration files, first
/etc/nsswitch.conf for the default domain, then files
/var/ns/domains/DOMAIN/nsswitch.conf for each DOMAIN the local host acts
as a server for. As it reads these files if it encounters the keyword
dns for some map then it will open the DNS library
/var/ns/lib/libns_dns.so. On first open the library initialization
routine will parse the resolver configuration file /etc/resolv.conf to
determine the addresses of nameservers and the domain names to use for
Extended attributes in the nsswitch.conf file can be used to control the
behavior of the DNS resolver. Extended attributes are simply lists of
key/value pairs attached to each object in the nsd filesystem. The
attributes supported in this library are:
This is the domainname given as a parameter to the remote name
server. This attribute is typically inherited from the daemon
depending on the nsswitch.conf file that is being read. Given the
configuration file /var/ns/domains/DOMAINNAME/nsswitch.conf the
attribute "domain" is set to DOMAINNAME. For the default domain,
represented by the file /etc/nsswitch.conf, the domain is unset and
the DNS library uses the search path given in the resolver(4)
configuration file. If the resolv.conf file is changed then the
change will be reflected in the next lookup.
The table attribute is typically inherited from the daemon based on
the line from which this entry occurs in the nsswitch.conf file.
This implementation of the DNS resolver recognizes only two tables:
hosts.byname which is translated into a type A request, hosts.byaddr
which is translated into a type PTR request.
key The key attribute is set by the daemon on each request. If the
address is fully qualified (ends in a '.') then it is forwarded on
to the remote name server as is. Else, it will have each element of
the search path appended and looked up. If the key contains a
sufficient number of dots (as defined by in resolv.conf as "option
ndots") then it will first be attempted as is.
The dns_max_ttl attribute specifies that nsd should use the DNS TTL
value for the nsd cache timeout. Because DNS TTL values can be
quite large a maximum value in seconds can be specified. Default is
zero. dns_servers The dns_servers attribute is a space separated
list of IP addresses of DNS servers. If this is not set then the
nameservers listed in the /etc/resolv.conf file are used.
The dns_search attribute is used to override the default domain
search path built from /etc/resolv.conf.
The dns_parallel attribute is a boolean which specifies use of a
performance optimization where queries will be made to all defined
name servers in parallel. This is only beneficial if each of the
name servers is equally able to answer the request. By default this
The dns_retries attribute specifies the number of queries that we
will make to each server. Each server is tried in turn in a roundrobin
basis until the number of retries is exhausted. This should
be set to an integer value, and defaults to 3.
The dns_timeout attribute is the number of milliseconds the library
code will wait for a response from a name server before continuing
to the next name server. The default is 2000.
If there is no resolv.conf file on a system nsd will NOT use a default
nameserver of localhost unless named has been enabled via chkconfig.
chkconfig(1M), named(1M), nsd(1M), nsswitch.conf(4), resolver(4), db(7P),
dns(7P), files(7P), ldap(7P), mdbm(7P), ndbm(7P), nis(7P), nisserv(7P).
IRIX Admin: Networking and Mail
PPPPaaaaggggeeee 2222 [ Back ]