NAME
hostname —
host name resolution
description
DESCRIPTION
Hostnames are domains. A domain is a hierarchical, dot-separated list of
subdomains. For example, the machine
“
monet
”, in the
“
Berkeley
” subdomain of the
“
EDU
” subdomain of the Internet Domain
Name System would be represented as
monet.Berkeley.EDU
(with no trailing dot).
Hostnames are often used with network client and server programs, which must
generally translate the name to an address for use. (This task is usually
performed by the library routine
gethostbyname(3).) The
default method for resolving hostnames by the Internet name resolver is to
follow RFC 1535's security recommendations. Actions can be taken by the
administrator to override these recommendations and to have the resolver
behave the same as earlier, non-RFC 1535 resolvers.
The default method (using RFC 1535 guidelines) follows:
If the name consists of a single component, i.e. contains no dot, and if the
environment variable “
HOSTALIASES
” is set
to the name of a file, that file is searched for a string matching the input
hostname. The file should consist of lines made up of two strings separated by
white-space, the first of which is the hostname alias, and the second of which
is the complete hostname to be substituted for that alias. If a
case-insensitive match is found between the hostname to be resolved and the
first field of a line in the file, the substituted name is looked up with no
further processing.
If there is at least one dot in the name, then the name is first tried
“as-is”. The number of dots to cause this action is configurable
by setting the threshold using the “
ndots
”
option in
/etc/resolv.conf (default: 1). If the name ends
with a dot, the trailing dot is removed, and the remaining name is looked up
(regardless of the setting of the
ndots
option),
without further processing.
If the input name does not end with a trailing dot, it is looked up by searching
through a list of domains until a match is found. If neither the search option
in the
/etc/resolv.conf file or the
“
LOCALDOMAIN
” environment variable is
used, then the search list of domains contains only the full domain specified
by the
domain
option (in
/etc/resolv.conf) or the domain used in the local hostname.
For example, if the “
domain
” option is set
to
CS.Berkeley.EDU
, then only
CS.Berkeley.EDU
will be in the search list, and this
will be the only domain appended to the partial hostname. For example, if
“
lithium
” is the name to be resolved, this
would make
lithium.CS.Berkeley.EDU
the only name to be
tried using the search list.
If the
search
option is used in
/etc/resolv.conf or the environment variable
“
LOCALDOMAIN
” is set by the user, then the
search list will include what is set by these methods. For example, if the
“
search
” option contained
CS.Berkeley.EDU CChem.Berkeley.EDU
Berkeley.EDU
then the partial hostname (e.g., “
lithium
”)
will be tried with
each domain name appended (in the same
order specified); the resulting hostnames that would be tried are:
lithium.CS.Berkeley.EDU
lithium.CChem.Berkeley.EDU
lithium.Berkeley.EDU
The environment variable “
LOCALDOMAIN
”
overrides the “
search
” and
“
domain
” options, and if both
search
and
domain
options are
present in the resolver configuration file, then only the
last one listed is used (see
resolv.conf(5)).
If the name was not previously tried “as-is” (i.e., it fell below
the “
ndots
” threshold or did not contain a
dot), then the name as originally provided is attempted.
ENVIRONMENT
-
-
LOCALDOMAIN
- Affects domains appended to partial hostnames.
-
-
HOSTALIASES
- Name of file containing (host alias,
full hostname) pairs.
FILES
- /etc/resolv.conf
- See
resolv.conf(5).
SEE ALSO
gethostbyname(3),
resolv.conf(5),
mailaddr(7)