hosts(4) File Formats hosts(4)NAMEhosts - host name database
SYNOPSIS
/etc/inet/hosts
/etc/hosts
/etc/inet/ipnodes
DESCRIPTION
The hosts file is a local database that associates the names of hosts
with their Internet Protocol (IP) addresses. An IP address can be in
either IPv4 or IPv6 format. The hosts file can be used in conjunction
with, or instead of, other hosts databases, including the Domain Name
System (DNS), the NIS hosts map, the NIS+ hosts table, or information
from an LDAP server. Programs use library interfaces to access informa‐
tion in the hosts file.
Note that /etc/hosts and /etc/inet/ipnodes are symbolic links to
/etc/inet/hosts.
The hosts file has one entry for each IP address of each host. If a
host has more than one IP address, it will have one entry for each, on
consecutive lines. The format of each line is:
IP-address official-host-name nicknames...
Items are separated by any number of SPACE and/or TAB characters. The
first item on a line is the host's IP address. The second entry is the
host's official name. Subsequent entries on the same line are alterna‐
tive names for the same machine, or "nicknames." Nicknames are
optional.
For a host with more than one IP address, consecutive entries for these
addresses may contain the same or differing nicknames. Different nick‐
names are useful for assigning distinct names to different addresses.
A call to gethostbyname(3NSL) returns a hostent structure containing
the union of all IPv4 addresses and nicknames from each line containing
a matching official name or nickname. A call to getipnodeby‐
name(3SOCKET) is similar, but is capable of returning hostent struc‐
tures containing IPv4 and IPv6 addresses. Applications might prefer to
use the address-family independent getaddrinfo(3SOCKET) API for name-
to-address lookups.
A `#' indicates the beginning of a comment; characters up to the end of
the line are not interpreted by routines that search the file.
Network addresses are written in one of two ways:
o The conventional "decimal dot" notation and interpreted
using the inet_addr routine from the Internet address manip‐
ulation library, inet(3SOCKET).
o The IP Version 6 protocol [IPV6], defined in RFC 1884 and
interpreted using the inet_pton() routine from the Internet
address manipulation library. See inet(3SOCKET).
This interface supports node names as defined in Internet RFC 952,
which states:
A "name" (Net, Host, Gateway, or Domain name) is a text string up to 24
characters drawn from the alphabet (A-Z), digits (0-9), minus sign (−),
and period (.). Note that periods are only allowed when they serve to
delimit components of "domain style names". (See RFC 921, "Domain Name
System Implementation Schedule," for background). No blank or space
characters are permitted as part of a name. No distinction is made
between uppercase and lowercase. The first character must be an alpha
character [or a digit. (RFC 1123 relaxed RFC 952's limitation of the
first character to only alpha characters.)] The last character must not
be a minus sign or period.
Host names must not consist of numbers only. A host name must contain
at least one alphabetical or special character.
Although the interface accepts host names longer than 24 characters for
the host portion (exclusive of the domain component), choosing names
for hosts that adhere to the 24 character restriction will insure maxi‐
mum interoperability on the Internet.
A host which serves as a GATEWAY should have "−GATEWAY" or "−GW" as
part of its name. Hosts which do not serve as Internet gateways should
not use "−GATEWAY" and "−GW" as part of their names. A host which is a
TAC should have "−TAC" as the last part of its host name, if it is a
DoD host. Single character names or nicknames are not allowed.
EXAMPLES
Example 1 Example hosts File Entry
The following is a typical line from the hosts file:
192.9.1.20 gaia # John Smith
Example 2 Example IPv6 Address Entry
The following is an example of an IPv6 hosts entry:
2001:0db8:3c4d:55:a00:20ff:fe8e:f3ad myhost # John Smith
SEE ALSOgethostbyname(3NSL), getipnodebyname(3SOCKET), inet(3SOCKET), nss‐
witch.conf(4), resolv.conf(4)
Braden, B., editor, RFC 1123, Requirements for Internet Hosts - Appli‐
cation and Support, Network Working Group, October, 1989.
Harrenstien, K., Stahl, M., and Feinler, E., RFC 952, DOD Internet Host
Table Specification, Network Working Group, October 1985.
Hinden, R., and Deering, S., editors, RFC 1884, IP Version 6 Addressing
Architecture, Network Working Group, December, 1995.
Postel, Jon, RFC 921, Domain Name System Implementation Schedule
(Revised), Network Working Group, October 1984.
NOTES
/etc/inet/hosts is the official SVR4 name of the hosts file. The sym‐
bolic link /etc/hosts exists for BSD compatibility.
The symbolic link /etc/net/ipnodes exists for backwards compatibility
with previous Solaris releases.
SunOS 5.10 24 Feb 2008 hosts(4)