The hosts database contains the IPv4 addresses and host names of machines on your network. If you use the NIS, NIS+, or DNS name services, the hosts database is maintained in a database designated for host information. For example, on a network running NIS+, the hosts database is maintained in the host table.
If you use local files for name service, the hosts database is maintained in the /etc/inet/hosts file. This file contains the host names and IPv4 addresses of the primary network interface, other network interfaces attached to the machine, and any other network addresses that the machine must know about.
For compatibility with BSD-based operating systems, the file /etc/hosts is a symbolic link to /etc/inet/hosts.
The /etc/inet/hosts file uses the basic syntax that follows. (Refer to the hosts(4) man page for complete syntax information.)
IPv4-address hostname [nicknames] [#comment]
IPv4-address contains the IPv4 address for each interface that the local host must recognize.
hostname contains the host name assigned to the machine at setup, plus the host names assigned to additional network interfaces that the local host must recognize.
[nickname] is an optional field containing a nickname for the host.
[# comment] is an optional field for a comment.
When you run the Solaris installation program on a machine, it sets up the initial /etc/inet/hosts file. This file contains the minimum entries that the local host requires: its loopback address, its IPv4 address, and its host name.
For example, the Solaris installation program might create the following /etc/inet/hosts file for machine tenere shown in Figure 6-1:
127.0.0.1 localhost loghost #loopback address 192.9.200.3 tenere #host name |
In Example 7-1, the IPv4 address 127.0.0.1 is the loopback address, the reserved network interface used by the local machine to allow interprocess communication so that it sends packets to itself. The ifconfig command uses the loopback address for configuration and testing, as explained in "ifconfig Command". Every machine on a TCP/IP network must use the IP address 127.0.0.1 for the local host.
The IPv4 address 192.9.200.1 and the name tenere are the address and host name of the local machine. They are assigned to the machine's primary network interface.
Some machines have more than one network interface, because they ar eeither routers or multihomed hosts. Each additional network interface attached to the machine requires its own IPv4 address and associated name. When you configure a router or multihomed host, you must add this information manually to the router's /etc/inet/hosts file. (See "Configuring Routers" for more information on setting up routers and multihomed hosts.)
Example 7-2 is the /etc/inet/hosts file for machine timbuktu shown in Figure 6-1.
127.0.0.1 localhost loghost 192.9.200.70 timbuktu #This is the local host name 192.9.201.10 timbuktu-201 #Interface to network 192.9.201 |
With these two interfaces, timbuktu connects networks 192.9.200 and 192.9.201 as a router.
The NIS, NIS+, and DNS name services maintain host names and addresses on one or more servers. These servers maintain hosts databases containing information for every host and router (if applicable) on the servers' network. Refer to the Solaris Naming Administration Guide for more information about these services.
On a network using local files for name service, machines running in local files mode consult their individual /etc/inet/hosts files for IPv4 addresses and host names of other machines on the network. Therefore, their /etc/inet/hosts files must contain the:
Loopback address
IPv4 address and host name of the local machine (primary network interface)
IPv4 address and host name of additional network interfaces attached to this machine, if applicable
IPv4 addresses and host names of all hosts on the local network
IPv4 addresses and host names of any routers this machine must know about, if applicable
IPv4 address of any machine your machine wants to refer to by its host name
The figure below shows the /etc/inet/hosts file for machine tenere, a machine that runs in local files mode. Notice that the file contains the IPv4 addresses and host names for every machine on the 192.9.200 network. It also contains the IPv4 address and interface name timbuktu-201, which connects the 192.9.200 network to the 192.9.201 network.
A machine configured as a network client uses the local /etc/inet/hosts file for its loopback address and IPv4 address.