¿Cuáles son las ramificaciones de configurar el nombre de host?

13

Tengo varios servidores Amazon EC2 y estoy usando Chef para administrar la configuración. Me gustaría establecer el nombre de host para que el indicador bash predeterminado sea más útil.

En este momento, después de lanzar un nuevo servidor, se establece como:

root@ip-10-123-123-123

Como estoy usando Ubuntu 12 en estos cuadros, consulté la página de manual correspondiente para el nombre de host . Tiene mucha buena información sobre cómo configurarlo, y habla un poco sobre el nombre de host y el fqdn, pero en realidad no me dice lo que quiero saber:

¿Cuáles son las ramificaciones de configurar el nombre de host?

Me gustaría suponer que la configuración del nombre de host es principalmente un elemento conveniente para los usuarios y administradores de sistemas, ya que le da al cuadro un nombre agradable / facial para que pueda reconocerse más fácilmente internamente (a través del símbolo del sistema, los correos electrónicos que se envían, etc), pero no soy positivo.

No veo el nombre de host en el /etc/hostsarchivo, lo que parece ser una buena señal de que no afectará nada negativamente si se cambia:

127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

¿Estoy en el camino correcto? ¿Cuáles son las ramificaciones de configurar el nombre de host?

Actualizar

Intenté cambiar el nombre de host en mi instancia ec2 de ip-10-123-123-123a webservery hostname --fqdnya no funciona. Si lo devuelvo, funciona bien. Apache también me da un error al iniciar que no puede determinar de manera confiable el fqdn. Supongo que debe haber alguna forma de configurar el nombre de host sin estropear el fqdn.

cwd
fuente
También encontré ¿Podemos establecer nombres de host fáciles de recordar para instancias EC2? y publiqué una respuesta basada en lo que encontré, pero todavía tiene algunos agujeros.
cwd

Respuestas:

15

Solo quería agregar que el nombre de host debería poder resolverse, ya sea a través de DNS o / etc / hosts. Si no es así, muchas herramientas pueden presentar demoras prolongadas debido a una falla en la búsqueda del nombre de host. Tuve este problema con muchos programas GUI.

daniel kullmann
fuente
Este es un punto muy importante. Votaría más de una vez si pudiera. ¡Gracias!
cwd
En realidad, esto hace responder a la pregunta. Si cambia su nombre de host a algo que realmente se resuelve, entonces hostname --fqdntodavía funciona.
bryant
12

Las aplicaciones locales utilizan el nombre de host (establecido y mostrado por el hostnamecomando, y generalmente almacenado en /etc/hostname). No lo conocen otras máquinas, y no se puede usar para contactar al host. El nombre de host generalmente aparece en las solicitudes de shell, y varias aplicaciones pueden usarlo para fines de registro, por ejemplo, mediante el software de control de versiones cuando realiza una confirmación.

No existe una conexión técnica entre el nombre de host y cualquier nombre que otras máquinas puedan usar para designar su máquina. El DNS es lo que normalmente se usa para nombrar una máquina en un contexto de Internet (o más precisamente, una interfaz de red). Es una buena idea si su nombre de host es idéntico al primer componente del nombre DNS de la interfaz de red de su máquina que ve la mayoría del mundo. Por ejemplo, si su servidor está conectado al resto del mundo a través de la eth0interfaz Ethernet y la dirección IP eth0tiene el nombre foo.example.com, es una buena idea elegir foocomo nombre de host. Si lo hace, a foo.example.commenudo se llama FQDN(nombre de dominio completo) de su máquina. Pero eres libre de dejarlos desajustados; Una discrepancia puede ser confusa para el administrador, pero no le importa al software.

El nombre de host puede ser utilizado por algunos protocolos de red para identificar el host. Si es así, debe ser enviado por un proceso local que se ejecute en el host. Por ejemplo, en algunas configuraciones, un cliente DHCP envía el nombre de host al servidor DHCP para obtener una dirección IP; el servidor DHCP puede usar el nombre de host reclamado para decidir qué dirección IP atribuir al cliente. En tales configuraciones, es obligatorio que el nombre del host coincida con el nombre DNS.

Relacionado: ¿Por qué mi nombre de host es diferente en Emacs? ; Cómo hacer que una máquina sea accesible desde la LAN utilizando su nombre de host

Gilles 'SO- deja de ser malvado'
fuente
1
No es cierto que no sea conocido por otra máquina. Muchos sistemas operativos envían ese nombre de host al servidor DHCP cuando solicitan una concesión de DHCP, y muchos servidores DHCP / DNS lo usan para actualizar la zona DNS local. MDNS utiliza el nombre de host, lo utiliza samba (en la mayoría de las instalaciones de samba predeterminadas), aparece en el servidor HTTP ...
Stéphane Chazelas
@sch Buen punto sobre mencionar DHCP. No entiendo su punto sobre httpd: es un proceso local que puede decidir enviar el nombre de host a través de la red, pero otras máquinas aún no lo conocen a menos que el host lo haya enviado.
Gilles 'SO- deja de ser malvado'
Creo que esta es una buena respuesta, pero después de jugar un poco más no estoy seguro de si está completa. Parece que si cambio mi nombre de host (ip-10-123-123-123) a otra cosa, hostname --fqdnya no funciona en una instancia ec2 y apache da una advertencia al iniciar que no puede determinar de manera confiable el fqdn. No estoy seguro de dónde buscar más información sobre cómo se relacionan todas estas cosas. Gracias por ayudarme.
cwd
1
hostname --fqdn(DNS) parece ser utilizado en el registro. unix.stackexchange.com/questions/319737/…
sourcejedi