61 votos

Los nombres de los anfitriones ¿De qué se trata?

Recientemente he sido "obligado" a realizar algún trabajo de administrador de sistemas, aunque no es algo que me guste absolutamente hacer, he estado leyendo, experimentando y aprendiendo mucho.

Hay un aspecto fundamental de la configuración del servidor que no he sido capaz de comprender - nombres de host .

En Ubuntu, por ejemplo, se debe establecer el nombre del host de esta manera (de acuerdo con el Biblioteca Linode ):

echo "plato" > /etc/hostname
hostname -F /etc/hostname

Archivo: /etc/hosts

127.0.0.1        localhost.localdomain        localhost
12.34.56.78      plato.example.com            plato

Asumo que plato es un nombre arbitrario y que plato.example.com es el FQDN.

Ahora mis preguntas son:

  • ¿Es obligatorio?
  • ¿Con qué propósito?
  • ¿Dónde se necesita/utiliza?
  • ¿Por qué no puedo definir "localhost" como el nombre del host de cada máquina?
  • ¿Tengo que configurar una entrada de DNS para el plato.example.com ¿FQDN?
  • ¿Debería plato.example.com como la entrada DNS inversa para mi IP?

Además, ¿hay alguna "mejor práctica" para elegir los nombres de los anfitriones? He visto gente usando letras griegas, nombres de planetas e incluso figuras mitológicas... ¿Qué pasa cuando nos quedamos sin letras/planetas?

Lo siento si es una pregunta tonta pero nunca he sido demasiado entusiasta con las configuraciones de red.

29voto

Eric Noob Puntos 531

Hoy en día, un sistema puede tener múltiples interfaces, cada una con múltiples direcciones, y cada dirección puede incluso tener múltiples entradas DNS asociadas a ella. Entonces, ¿qué significa un "nombre de host del sistema"?

Muchas aplicaciones utilizarán el nombre de host del sistema como identificador predeterminado cuando se comuniquen con otros lugares. Por ejemplo, si está recogiendo mensajes del syslog en un servidor central, todos los mensajes se etiquetarán con el nombre de host del sistema de origen. En un mundo ideal probablemente ignoraría esto (porque no necesariamente quiere confiar en el cliente), pero el comportamiento por defecto -- si nombrara a todos sus sistemas como "localhost" -- resultaría en un montón de mensajes de registro que no podría asociar con un sistema específico.

Como han señalado otras personas, el nombre de host del sistema también es un identificador útil si se accede a distancia a varios sistemas. Si tienes cinco Windows conectados a un sistema llamado "localhost", entonces te va a costar mucho trabajo mantenerlos en orden.

De manera similar, intentamos que el nombre de host del sistema coincida con el nombre de host que utilizamos para el acceso administrativo a un sistema. Esto ayuda a evitar confusiones al referirnos al sistema (en el correo electrónico, conversaciones, documentación, etc.).

En cuanto al DNS:

Quieren tener entradas apropiadas de DNS de avance y retroceso para sus solicitudes para evitar confusiones. Necesitas algunos reenviar la entrada (nombre -> dirección ip) para que la gente pueda acceder a su aplicación convenientemente. La coincidencia de la entrada inversa es útil por varias razones, por ejemplo, le ayuda a identificar correctamente la aplicación si encuentra la dirección ip correspondiente en un registro.

Nótese que aquí estoy hablando de "aplicaciones" y no de "sistemas", porque -- particularmente con los servidores web -- es común tener múltiples direcciones ip en un sistema, asociadas con diferentes nombres de host y servicios.

Tratando de mantener el nombre de los mapas ip en su /etc/hosts se hace rápidamente difícil a medida que se gestiona un número cada vez mayor de sistemas. Es muy fácil que el archivo de los hosts locales se desincronice con respecto al DNS, lo que puede dar lugar a confusión y, en algunos casos, a un mal funcionamiento (porque algo intenta ligarse a una dirección ip que ya no existe en el sistema, por ejemplo).

10voto

Kenny Rasschaert Puntos 5933

Podrías poner todos los nombres de host en "localhost", pero es muy útil tener alix@plato ~ $ en tu línea de comandos cuando manejas máquinas sobre ssh.
La administración de servidores de forma remota podría ser muy confusa si no lo haces.

Tener un FQDN correcto es importante para cuando se aloja un servidor web, o un servidor de correo. A este tipo de aplicaciones de servidores les gusta saber "con quién" se están ejecutando.

Para elegir un buen esquema de nombres, te remito a esta pregunta tan popular .

Un FQDN se vuelve útil sólo cuando es significativo para otro ordenador. Hay tres niveles en esto:

  • Un ordenador de su red local tiene una entrada en su archivo de hosts que apunta a esa máquina
  • Tienes un servidor DNS corriendo en tu red local y cada computadora local que lo usa como servidor DNS ahora conoce el plato por su nombre.
  • Registras un nombre de dominio y ahora todo el mundo sabe a qué máquina apunta el nombre plato.alixaxel.com.

Cuando se envía un correo electrónico o se sirven páginas web al mundo exterior, el tercero es el que se quiere tener.
Para la mayoría de los otros casos, puede hacer debido con un DNS local o incluso editar los archivos de hosts.

En ese caso, puedes inventar un nombre de dominio (plato.alixnetwork podría estar bien como un FQDN) para usar dentro de tu red local. El único valor añadido de tener la parte "alixnetwork" (el nombre de dominio) es la conveniencia cuando se tiene otra red local de la que se desea distinguir.

9voto

Chris S Puntos 65813

Una visión general básica. Los nombres de host son sólo indicadores, puede asignar uno específico para que sea el nombre de host al que se refiere la máquina, pero puede tener múltiples. Algunos servicios, notablemente el correo y http dependen de los nombres de dominio para saber dónde se deben localizar los servicios y cómo llegar a ellos.

Hace mucho tiempo, todos estos nombres (que, de nuevo, son sólo punteros a las IPs) fueron registrados en un archivo llamado hosts . A medida que el sistema crecía, no podían mantener el archivo sincronizado en todas las computadoras pertinentes que participaban en las diversas redes interconectadas. Así que se inventó el sistema DNS. Cuando haces una búsqueda de nombre, todavía comprueba el archivo de hosts primero, y luego el sistema DNS. Windows también puede comprobar otros sistemas como WINS o NetBios.

Cuando pones una entrada en un hosts no lo asignará a la computadora. La asignación de un nombre de host como el utilizado por la computadora se hace en los archivos de configuración (en sistemas *nix) y en las Propiedades del Sistema en sistemas Windows (el sistema Windows también puede tener sufijos específicos NIC).

Las entradas en el hosts como el sistema DNS, son sólo un mapeo de un nombre de host a una IP. Para poder usar el nombre de host 'localhost' (no tiene nada de especial, es un nombre de host como todos los demás) debe ser mapeado a la interfaz loopback (así que siempre apuntará al ordenador local). Para asegurarse de que esto funciona, todos los ordenadores vienen con este mapeo por defecto en su hosts pero potencialmente podría ser eliminado, si no quisieras usar ese nombre de host.

Además, como otros han señalado, es muy útil asignar un nombre de host a una computadora. Cuando se conecta a la computadora, puede hacer que muestre su nombre de host cuando se conecta, o como su aviso, o en cualquier otro lugar. Esto hace que sea más fácil identificar la computadora a la que estás conectado. Si configuras ese nombre de host en DNS o lo pones en todos los hosts podrás conectarte al ordenador haciendo referencia a su nombre de host en lugar de tener que saber su dirección IP todo el tiempo. (Aún más útil si la computadora está usando DHCP, ya que la dirección podría cambiar, si la computadora actualiza el DNS entonces el registro DNS apuntaría a la nueva IP; aún podrías conectarte sin saber la nueva IP porque conoces el nombre del DNS).

Hay muchos otros usos de ambos hosts y el DNS, pero sospecho que tienes más preguntas que respuestas si lees todo esto.

5voto

Khaled Puntos 21517

A cada huésped se le debe dar un nombre significativo. El nombre del host puede servir para múltiples propósitos:

1- Le ayuda a reconocer en qué está trabajando actualmente.

2- Usando los nombres configurados en /etc/hosts y/o registros DNS es más fácil que memorizar muchas direcciones IP.

3- Localhost es un nombre reservado para referirse a la máquina actual (dirección 127.0.0.1).

4- Los registros DNS son útiles para que sus servidores sean accesibles al público.

Elegir un nombre adecuado para cada servidor le ayuda mucho en su administración. También ayuda a sus clientes a acceder a sus servidores.

2voto

pfo Puntos 5068

Sólo como una nota al margen: La resolución del DNS es la piedra angular de toda instalación informática en este planeta. Nunca jamás subestimes la necesidad de un DNS bien mantenido y una resolución adecuada del nombre de host!

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: