
He notado que el método "preferido" para configurar el nombre de host del sistema es fundamentalmente diferente entre los sistemas Red Hat/CentOS y Debian/Ubuntu.
Documentación de CentOSy elGuía de implementación de RHELdi el nombre de hostdebería ser el FQDN:
HOSTNAME=<value>
, donde<value>
debería estar el nombre de dominio completo (FQDN), como por ejemplohostname.example.com
, pero puede ser cualquier nombre de host que sea necesario.
ElGuía de instalación de RHELes un poco más ambiguo:
El programa de instalación le solicita que proporcione un nombre de host para esta computadora, ya sea como nombre de dominio completo(FQDN) en el formatonombre de host.nombre de dominio o como un nombre de host corto en el formatonombre de host.
La referencia de Debiandice el nombre del hostno debe utilizar el FQDN:
3.5.5. El nombre de host
El kernel mantiene el sistema.nombre de host. El script de inicio en el nivel de ejecución S que tiene un enlace simbólico a "/etc/init.d/nombredehost.sh" establece el nombre de host del sistema en el momento del arranque (usando elnombre de hostcomando) al nombre almacenado en "/etc/nombre de host". Este archivo debe contenersoloel nombre de host del sistema, no un nombre de dominio completo.
No he visto ninguna recomendación específica de IBM sobre cuál usar, peroalgún softwareParece tener preferencia.
Mis preguntas:
- En un entorno heterogéneo, ¿es mejor utilizar la recomendación del proveedor o elegir uno y ser coherente en todos los hosts?
- ¿Qué software ha encontrado que sea sensible a si el nombre de host está configurado como FQDN o como nombre corto?
Respuesta1
Yo elegiría un enfoque coherente en todo el entorno. Ambas soluciones funcionan bien y seguirán siendo compatibles con la mayoría de las aplicaciones. Sin embargo, hay una diferencia en la manejabilidad.
Elijo el nombre corto como configuración HOSTNAME y configuro el FQDN como la primera columna /etc/hosts
para la IP del servidor, seguido del nombre corto.
No he encontrado muchos paquetes de software que impongan o muestren una preferencia entre los dos. Considero que el nombre corto es más claro para algunas aplicaciones, específicamente el registro. Quizás he tenido mala suerte al ver dominios internos como server.northside.chicago.rizzomanufacturing.com
. ¿Quién quiere ver eso en los registros o en unindicador de shell?
A veces, estoy involucrado en adquisiciones o reestructuraciones de empresas donde cambian los dominios y/o subdominios internos. Me gusta usar el nombre de host corto en estos casos porque el registro, los inicios, la impresión, el monitoreo de sistemas, etc. no necesitan una reconfiguración completa para tener en cuenta los nuevos nombres de dominio.
Una configuración típica de servidor RHEL/CentOS para un servidor llamado "rizzo" con dominio interno "ifp.com" se vería así:
/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'
Respuesta2
Casi todo el software es sensible a la configuración correcta del nombre de host. Mientras trabajaba en Digg, una vez dejé caer todo el sitio durante 2 horas debido a que hice un cambio aparentemente inocente /etc/hosts
que afectó la noción de nombre de host del sistema. Pisa con cuidado. Dicho esto, es posible que se sienta un poco confundido aquí. No creo que la HOSTNAME=
configuración sea directamente equivalente a cómo usan las distribuciones basadas en Debian /etc/hostname
.
Lo que me funciona en un entorno heterogéneo es:
- Configure el nombre de host de la manera recomendada por el proveedor, utilizando un condicional en su software de administración de configuración.
- Utilice el
hostname
comando para configurar el nombre de host utilizado por el kernel, etc. En
/etc/hosts
:127.0.0.1 localhost 10.0.0.1 hostname.example.com hostname
Esta configuración no me ha fallado todavía.
Respuesta3
Seguramente no tendrá problemas para encontrar referencias en línea que le indiquen que debe hacerlo de una forma u otra. Sin embargo, me parece que tener un nombre corto como nombre de host y tener el nombre completo en /etc/hosts es ciertamente mucho más frecuente. Parece la forma más sensata, ya que los servicios que necesitan un nombre completo se pueden adaptar para llamar hostname --fqdn
.
hostname
Recientemente, solo me encontré con una pieza de software que requiere rígidamente que , que era ganeti, devuelva un fqdn . Ellos documentan estoaquí. Sin embargo , no veo ninguna razón por la que no puedan adaptarse hostname --fqdn
.
Respuesta4
Respuesta corta:Generalmente uso el FQDN como nombre de host (como se recomienda en los documentos RH6/7). Sin embargo, el enfoque más correcto sería utilizar un nombre de etiqueta única como nombre de host, configurando el FQDN mediante /etc/hosts
. Por lo tanto, elija un enfoque y manténgalo siempre que sea posible.
Respuesta larga:La principal ventaja de utilizar el FQDN como nombre de host es que el nombre de la máquina incorpora intrínsecamente información del dominio. Esto es muy útil al recibir alertas por correo electrónico y/o registros para múltiples clientes/dominios, ya que evita nombres de host duplicados (es decir, se garantiza más o menos que los nombres de host sean únicos en múltiples sitios/clientes/dominios). Por ejemplo, SNMP sysName
muestra el nombre de host de forma predeterminada y, al utilizar el FQDN, simplemente transmite información más útil. Lo mismo ocurre con zabbix-agent
(y otras herramientas de monitorización) o bash $HOSTNAME
. Si bien puede configurar dichas herramientas para usar FQDN incluso en máquinas con un nombre de host de etiqueta única, o configurarlas en un modelo jerárquico que muestre claramente el dominio que contiene la máquina, esto supone un trabajo adicional.
Algunas aplicaciones inclusorequerirusando un FQDN como nombre de host, pero son toda una excepción. Aún así, cuando ocurre la excepción, se pierde el uso homogéneo del nombre de host de etiqueta única. Esta es probablemente la razón principal detrás de la recomendación de RedHat de utilizar un FQDN como nombre de host en RH6/7. Los documentos más recientes son más vagos. En"Realización de una instalación estándar de RHEL 8"se puede leer:
El nombre de host puede ser un nombre de dominio completo (FQDN) en el formato nombre de host.nombrededominio o un nombre de host corto sin nombre de dominio. Muchas redes tienen un servicio de Protocolo de configuración dinámica de host (DHCP) que proporciona automáticamente un nombre de dominio a los sistemas conectados. Para permitir que el servicio DHCP asigne el nombre de dominio a esta máquina, especifique solo el nombre de host corto
mientras"Realización de una instalación avanzada de RHEL 8"estados:
Si su red no proporciona un servicio DHCP, utilice siempre el FQDN como nombre de host del sistema.
En los años transcurridos entre la pregunta original, las aplicaciones de usuario han aprendido a tratar los nombres de host FQDN sin el problema descrito en las respuestas anteriores. Por ejemplo, el PS1
símbolo del sistema bash utiliza \h
(el nombre de host hasta el primer '.') de forma predeterminada y rsyslog
nonoconservar el FQDN en los archivos de registro de forma predeterminada. En otras palabras, el inconveniente de usabilidad de un nombre de host FQDN ya no existe para muchas herramientas comunes. Por estos motivos, generalmente configuro el nombre de host del sistema como FQDN y dejo el nombre corto /etc/hosts
según sea necesario.
La razón paranousar un nombre de host FQDN es que, francamente, esto esLo correcto a hacer. Como se indica respectivamente en eldocumentos debianypágina de manual del nombre de host:
Este archivo debe contener solo el nombre de host del sistema, no un nombre de dominio completo
y
Se recomienda que este nombre contenga una sola etiqueta, es decir, sin puntos.
Entonces, mientras lo hagosentirresulta complicado utilizar un nombre de host FQDN,esmás fácil usarlo en mis entornos.
Tenga en cuenta que esto no es una apelación contra un nombre de host de etiqueta única. Si te funcionan continúa usándolo. De lo contrario, pruebe el nombre de host FQDN.