Chapter 6. Configure Host Names
6.1. Understanding Host Names
There are three classes of
hostname
: static, pretty, and transient.
The “static” host name is the traditional
hostname
, which can be chosen by the user, and is stored in the /etc/hostname
file. The “transient” hostname
is a dynamic host name maintained by the kernel. It is initialized to the static host name by default, whose value defaults to “localhost”. It can be changed by DHCP
or mDNS
at runtime. The “pretty” hostname
is a free-form UTF8 host name for presentation to the user.
Note
A host name can be a free-form string up to 64 characters in length. However, Red Hat recommends that both static and transient names match the fully-qualified domain name (FQDN) used for the machine in
DNS
, such as host.example.com
. It is also recommended that the static and transient names consists only of 7 bit ASCII lower-case characters, no spaces or dots, and limits itself to the format allowed for DNS
domain name labels, even though this is not a strict requirement. Older specifications do not permit the underscore, and so their use is not recommended.
The hostnamectl tool will enforce the following: Static and transient host names to consist of
a-z
, A-Z
, 0-9
, “-
”, “_
” and “.
” only, to not begin or end in a dot, and to not have two dots immediately following each other. The size limit of 64 characters is enforced.
6.1.1. Recommended Naming Practices
The Internet Corporation for Assigned Names and Numbers (ICANN) sometimes adds previously unregistered Top-Level Domains (such as
.yourcompany
) to the public register. Therefore, Red Hat strongly recommends that you do not use a domain name that is not delegated to you, even on a private network, as this can result in a domain name that resolves differently depending on network configuration. As a result, network resources can become unavailable. Using domain names that are not delegated to you also makes DNSSEC more difficult to deploy and maintain, as domain name collisions require manual configuration to enable DNSSEC validation. See the ICANN FAQ on domain name collision for more information on this issue.