I've noticed that the "preferred" method of setting the system hostname is fundamentally different between Red Hat/CentOS and Debian/Ubuntu systems.
CentOS documentation and the RHEL deployment guide say the hostname should be the FQDN:
HOSTNAME=
, whereshould be the Fully Qualified Domain
Name (FQDN), such ashostname.example.com
, but can be whatever
hostname is necessary.
The RHEL install guide is slightly more ambiguous:
Setup prompts you to supply a host name for this computer, either as a
fully-qualified domain name (FQDN) in the format hostname.domainname
or as a short host name in the format hostname.
The Debian reference says the hostname should not use the FQDN:
3.5.5. The hostname
The kernel maintains the system hostname. The init script in runlevel
S which is symlinked to "/etc/init.d/hostname.sh" sets the system
hostname at boot time (using the hostname command) to the name stored
in "/etc/hostname". This file should contain only the system hostname,
not a fully qualified domain name.
I haven't seen any specific recommendations from IBM about which to use, but some software seems to have a preference.
My questions:
- In a heterogeneous environment, is it better to use the vendor recommendation, or choose one and be consistent across all hosts?
- What software have you encountered which is sensitive to whether the hostname is set to the FQDN or short name?
Answer
I would choose a consistent approach across the entire environment. Both solutions work fine and will remain compatible with most applications. There is a difference in manageability, though.
I go with the short name as the HOSTNAME setting, and set the FQDN as the first column in /etc/hosts
for the server's IP, followed by the short name.
I have not encountered many software packages that enforce or display a preference between the two. I find the short name to be cleaner for some applications, specifically logging. Maybe I've been unlucky in seeing internal domains like server.northside.chicago.rizzomanufacturing.com
. Who wants to see that in the logs or a shell prompt?
Sometimes, I'm involved in company acquisitions or restructuring where internal domains and/or subdomains change. I like using the short hostname in these cases because logging, kickstarts, printing, systems monitoring, etc. do not need full reconfiguration to account for the new domain names.
A typical RHEL/CentOS server setup for a server named "rizzo" with internal domain "ifp.com", would look like:
/etc/sysconfig/network:
HOSTNAME=rizzo
...
-
/etc/hosts:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.100.13 rizzo.ifp.com rizzo
-
[root@rizzo ~]# hostname
rizzo
-
/var/log/messages snippet:
Dec 15 10:10:13 rizzo proftpd[19675]: 172.16.100.13 (::ffff:206.15.236.182[::ffff:206.15.236.182]) - Preparing to
chroot to directory '/app/upload/GREEK'
Dec 15 10:10:51 rizzo proftpd[20660]: 172.16.100.13 (::ffff:12.28.170.2[::ffff:12.28.170.2]) - FTP session opened.
Dec 15 10:10:51 rizzo proftpd[20660]: 172.16.100.13 (::ffff:12.28.170.2[::ffff:12.28.170.2]) - Preparing to chroot
to directory '/app/upload/ftp/SRRID'
Comments
Post a Comment