12.2. Customizing the /etc/hosts File

If a network card is to be configured, decide on the IP address, fully-qualified domain name (FQDN), and possible aliases for use in the /etc/hosts file. The syntax is:

<IP address> myhost.example.org aliases

Unless the computer is to be visible to the Internet (i.e., there is a registered domain and a valid block of assigned IP addresses—most users do not have this), make sure that the IP address is in the private network IP address range. Valid ranges are:

Private Network Address Range       Normal Prefix
10.0.0.1 - 10.255.255.254           8
172.x.0.1 - 172.x.255.254           16
192.168.y.1 - 192.168.y.254         24

x can be any number in the range 16-31. y can be any number in the range 0-255.

A valid IP address could be 192.168.1.1. A valid FQDN for this IP could be www.clfs.org (not recommended because this is a valid registered domain address and could cause domain name server issues).

Even if not using a network card, a valid FQDN is still required. This is necessary for certain programs to operate correctly.

Create the /etc/hosts file by running:

cat > /etc/hosts << "EOF"
# Begin /etc/hosts (network card version)

127.0.0.1 localhost
::1       localhost
[192.168.1.1] [<HOSTNAME>.example.org] [HOSTNAME] [alias ...]

# End /etc/hosts (network card version)
EOF

The [192.168.1.1] and [<HOSTNAME>.example.org] values need to be changed for specific users or requirements (if assigned an IP address by a network/system administrator and the machine will be connected to an existing network). The optional alias name(s) can be omitted.

If a network card is not going to be configured, create the /etc/hosts file by running:

cat > /etc/hosts << "EOF"
# Begin /etc/hosts (no network card version)

127.0.0.1 [<HOSTNAME>.example.org] [HOSTNAME] localhost
::1       localhost

# End /etc/hosts (no network card version)
EOF

The ::1 entry is the IPv6 counterpart of 127.0.0.1 and represents the IPv6 loopback interface.