HOSTNAME(7) BSD Miscellaneous Information Manual HOSTNAME(7)NAMEhostname — 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” subdo‐
main 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 admin‐
istrator 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-insensi‐
tive 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 set‐
ting 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” envi‐
ronment 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 vari‐
able “LOCALDOMAIN” is set by the user, then the search list will include
what is set by these methods. For example, if the “search” option con‐
tained
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 host‐
names 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 resolver(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 resolver(5).
SEE ALSOgethostbyname(3), resolver(5), mailaddr(7)BSD February 16, 1994 BSD