NAME
resolv.conf —
resolver configuration
file
DESCRIPTION
The
resolv.conf file specifies how the
resolver(3) routines in the C
library (which provide access to the Internet Domain Name System) should
operate. The resolver configuration file contains information that is read by
the resolver routines the first time they are invoked by a process. The file
is designed to be human readable and contains a list of keywords with values
that provide various types of resolver information.
On a normally configured system this file should not be necessary. The only name
server to be queried will be on the local machine, the domain name is
determined from the host name, and the domain search path is constructed from
the domain name.
The different configuration options are:
-
-
- nameserver
- IPv4 address (in dot notation) or IPv6 address (in
hex-and-colon notation) of a name server that the resolver should query.
Scoped IPv6 address notation is accepted as well (see
inet6(4) for details). Up to
MAXNS
(currently 3) name servers may be listed,
one per keyword. If there are multiple servers, the resolver library
queries them in the order listed. If no nameserver
entries are present, the default is to use the name server on the local
machine. (The algorithm used is to try a name server, and if the query
times out, try the next, until out of name servers, then repeat trying all
the name servers until a maximum number of retries are made).
-
-
- domain
- Local domain name. Most queries for names within this
domain can use short names relative to the local domain. If no
domain entry is present, the domain is determined from
the local host name returned by
gethostname(3); the
domain part is taken to be everything after the first ‘.’.
Finally, if the host name does not contain a domain part, the root domain
is assumed.
-
-
- lookup
- This keyword is now ignored: its function has been
superseded by features of
nsswitch.conf(5).
-
-
- search
- Search list for host-name lookup. The search list is
normally determined from the local domain name; by default, it begins with
the local domain name, then successive parent domains that have at least
two components in their names. This may be changed by listing the desired
domain search path following the search keyword with
spaces or tabs separating the names. Most resolver queries will be
attempted using each component of the search path in turn until a match is
found. Note that this process may be slow and will generate a lot of
network traffic if the servers for the listed domains are not local, and
that queries will time out if no server is available for one of the
domains.
The search list is currently limited to six domains with a total of 1024
characters.
-
-
- sortlist
- Sortlist allows addresses returned by gethostbyname to be
sorted. A sortlist is specified by IP address netmask pairs. The netmask
is optional and defaults to the natural netmask of the net. The IP address
and optional network pairs are separated by slashes. Up to 10 pairs may be
specified, ie.
sortlist 130.155.160.0/255.255.240.0 130.155.0.0
-
-
- options
- Options allows certain internal resolver variables to be
modified. The syntax is:
options option ...
where option is one of the following:
-
-
- debug
- enable debugging information, by setting RES_DEBUG in
_res.options (see
resolver(3)).
-
-
- ndots:n
- sets a threshold for the number of dots which must
appear in a name given to res_query (see
resolver(3)) before an
initial absolute query will be made. The default for n is 1, meaning
that if there are any dots in a name, the name will be tried first as
an absolute name before any search list elements are appended to
it.
-
-
- timeout:n
- sets the amount of time the resolver will wait for a
response from a remote name server before retrying the query via a
different name server. Measured in seconds, the default is
RES_TIMEOUT
(see
⟨resolv.h⟩).
-
-
- attempts:n
- sets the number of times the resolver will send a query
to its name servers before giving up and returning an error to the
calling application. The default is
RES_DFLRETRY
(see
⟨resolv.h⟩).
-
-
- rotate
- sets
RES_ROTATE
in
_res.options, which causes round robin selection
of nameservers from among those listed. This has the effect of
spreading the query load among all listed servers, rather than having
all clients try the first listed server first every time.
-
-
- no-check-names
- sets
RES_NOCHECKNAME
in
_res.options, which disables the modern BIND
checking of incoming host names and mail names for invalid characters
such as underscore (‘_’), non-ASCII, or control
characters. This is the default.
-
-
- check-names
- clears
RES_NOCHECKNAME
in
_res.options, which enables the modern BIND
checking of incoming host names and mail names as described
above.
-
-
- edns0
- attach OPT pseudo-RR for ENDS0 extension specified in
RFC 2671, to inform DNS server of our receive buffer size. The option
will allow DNS servers to take advantage of non-default receive buffer
size, and to send larger replies. DNS query packets with EDNS0
extension is not compatible with non-EDNS0 DNS servers. The option
must be used only when all the DNS servers listed in
nameserver lines are able to handle EDNS0
extension.
-
-
- inet6
- enable support for IPv6-only applications, by setting
RES_USE_INET6 in _res.options (see
resolver(3)). The
option is meaningful with certain kernel configuration only and use of
this option is discouraged.
-
-
- insecure1
- Do not require IP source address on the reply packet to
be equal to the servers' address.
-
-
- insecure2
- Do not check if the query section of the reply packet
is equal to that of the query packet. For testing purposes only.
-
-
- no-tld-query
- sets
RES_NOTLDQUERY
in
_res.options. This option causes
res_nsearch() to not attempt to resolve a
unqualified name as if it were a top level domain (TLD). This option
can cause problems if the site has “localhost” as a TLD
rather than having localhost on one or more elements of the search
list. This option has no effect if neither
RES_DEFNAMES
or
RES_DNSRCH
is set.
The
domain and
search keywords are mutually
exclusive. If more than one instance of these keywords is present, the last
instance will override.
The
search keyword of a system's
resolv.conf
file can be overridden on a per-process basis by setting the environment
variable
LOCALDOMAIN
to a space-separated list of
search domains.
The
options keyword of a system's
resolv.conf file can be amended on a per-process basis by
setting the environment variable
RES_OPTIONS
to a
space-separated list of resolver options as explained above.
The keyword and value must appear on a single line, and the keyword (e.g.
nameserver) must start the line. The value follows the
keyword, separated by white space.
FILES
- /etc/resolv.conf
- The file resolv.conf resides in
/etc.
SEE ALSO
gethostbyname(3),
resolver(3),
nsswitch.conf(5),
hostname(7),
named(8),
resolvconf(8)
Paul Vixie, Kevin J.
Dunlap, and Michael J. Karels,
Name Server Operations Guide for BIND,
CSRG,, Department of Electrical Engineering
and Computer Sciences,, University of California,
Berkeley, Release 4.9.4,
http://www.dns.net/dnsrd/docs/bog/bog.html,
July 16, 1996.
HISTORY
The
resolv.conf file format appeared in
4.3BSD.