Me di cuenta de 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.
La documentación de CentOS y la guía de implementación de RHEL dicen que el nombre de host debe ser el FQDN :
HOSTNAME=<value>
, donde<value>
debe estar el Nombre de dominio completo (FQDN), comohostname.example.com
, pero puede ser el nombre de host que sea necesario.
La guía de instalación de RHEL es un poco más ambigua:
El programa de instalación le solicita que proporcione un nombre de host para esta computadora, ya sea como un nombre de dominio completo (FQDN) en el formato hostname.domainname o como un nombre de host corto en el formato hostname .
La referencia de Debian dice que el nombre de host no debe usar el FQDN :
3.5.5. El nombre de host
El núcleo mantiene el nombre de host del sistema . El guión de inicio en el nivel de ejecución S, que está vinculado a " /etc/init.d/hostname.sh ", establece el nombre de host del sistema en el momento del arranque (utilizando el comando hostname ) al nombre almacenado en " / etc / hostname ". Este archivo debe contener solo el 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, pero algunos programas parecen tener preferencia.
Mis preguntas:
- En un entorno heterogéneo, ¿es mejor usar la recomendación del proveedor o elegir una 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 nombre corto?
fuente
hostname
sea el FQDN. Solo tenerlo no/etc/hosts
es lo suficientemente bueno. Eso interfirió con mi consistencia./etc/sysconfig/network
contener líneas como:NETWORKING=yes
,NETWORKING_IPV6=no
,HOSTNAME=example.com
,NISDOMAIN=example
?hostname(1)
en cualquier máquina Linux.Casi todo el software es sensible a la configuración correcta del nombre de host. Mientras trabajaba en Digg, una vez derribé todo el sitio durante 2 horas debido a un cambio aparentemente inocente
/etc/hosts
que afectó la noción de nombre de host del sistema. Camina ligeramente. Dicho esto, puede estar un poco confundido aquí. No creo que laHOSTNAME=
configuración sea directamente equivalente a cómo usan las distribuciones basadas en Debian/etc/hostname
.Lo que funciona para mí en un entorno heterogéneo es:
hostname
comando para establecer el nombre de host utilizado por el núcleo, etc.En
/etc/hosts
:Esta configuración aún no me ha fallado.
fuente
Ciertamente no tendrá problemas para encontrar referencias en línea que le dirán que definitivamente lo haga 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 pueden adaptarse para llamar en su
hostname --fqdn
lugar.Recientemente me he encontrado con una pieza de software que requiere rígidamente que se devuelva un fqdn
hostname
, que era ganeti. Documentan esto aquí .hostname --fqdn
Sin embargo, no veo ninguna razón a la que no puedan adaptarse .fuente
hostname --fqdn
" se responde en el primer párrafo bajo "Por qué un nombre de host completamente calificado": requiere conjeturas y requiere un solucionador que funcione. Preguntar al kernel es la opción más segura y confiable.10.0.0.1 hostname.example.com hostname
) y /etc/nsswitch.conf especifique la resolución local antes de DNS (hosts: files dns
), el archivo de hosts locales cumplimentará con una resolución funcional. Como tal, el argumento para usar un FQDN en lugar de un nombre de host raramente aguanta. Además, otro ejemplo de software que requiere rígidamentehostname
devolver un FQDN es el paquete del servidor de correo Zimbra.De manera algo tangencial, mientras investigaba esta pregunta, me he vuelto lo suficientemente loco como para verificar el código fuente del "nombre de host" y escribir un script para imprimir resultados de investigación (Fedora 19). Lo que falta es un vistazo a "/ etc / hosts", que en mi humilde opinión debería mantenerse al margen de todo esto en primer lugar.
La salida en una máquina virtual Amazon EC2 que ejecuta Fedora 19 , después de configurar manualmente los valores del núcleo y el llenado
/etc/hostname
, pero sin cambios,/etc/hosts
podría ser así:La forma resistente de obtener el nombre de host totalmente calificado en perl sería:
y en bash sería:
Notas
Nota 1: HOSTNAME es una variable de shell que proporciona bash ("Establecer automáticamente el nombre del host actual"), pero no hay indicios de que bash llegue a ese valor.
Nota 2: nunca olvide / etc / hostname en /boot/initrams-FOO.img ...
fuente
Las opciones / etc / hosts funcionan bien.
Pero desea asegurarse de que todos los archivos correctos estén actualizados ejecute la herramienta de configuración
fuente
Hm ... En los hosts de Linux, si desea cambiar HOSTNAME y FQDN, debe resolver 3 pasos (por ejemplo, el nuevo host es rizzo.ifp.com ):
Paso # 1 Cambie el valor de HOST en la configuración de propiedades de RED:
Cambiar o agregar cadena:
Paso # 2 Edite su configuración de hosts
Paso # 3 Reinicie su host Bien hecho, solo verifique la nueva configuración
fuente
El orden no es correcto. Tiene que ser:
Entonces el ejemplo podría ser así:
fuente