Network Administration: Linux Hosts File
The Hosts file is a simple list of IP addresses and the host names associated with each address. You can think of the Hosts file as a local DNS database of sorts. Whenever Linux needs to resolve a DNS name, it first looks for the name in the Hosts file. If Linux finds the name there, it doesn’t have to do a DNS lookup; it simply uses the IP address found in the Hosts file.
For small networks, common practice is to list the host name for each computer on the network in the Hosts file on each computer. Then, whenever you add a new computer to the network, you just update each computer’s Hosts file to include the new computer.
That’s not so bad if the network has just a few computers, but you wouldn’t want to do it that way for a network with 1,000 hosts. That’s why other name resolution systems are more popular for larger networks.
The default Linux Hosts file looks something like this:
# Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost
Here, the names localhost.localdomain and localhost both resolve to 127.0.0.1, which is the standard local loopback address.
Here’s an example of a Hosts file that has some additional entries:
# Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 LServer localhost.localdomain localhost 192.168.1.1 linksys 192.168.1.100 ward.cleaver.com ward 192.168.1.101 june.cleaver.com june 192.168.1.102 wally.cleaver.com wally 192.168.1.103 theodore.cleaver.com theodore beaver
In the above example, host names for each of the Cleaver family’s four computers have been defined and their Linksys router. Each computer can be accessed by using one of two names (for example, ward.cleaver.com or just ward), except the last one, which has three names.