¿Se debe usar FQDN en / etc / hostname en lugar de hostname?

10

Como leí en la página de manual, se recomienda poner el nombre de host (sin nombre de dominio) /etc/hostname. Por ejemplo, host en lugar de host.domainsub.domaintld. Pero, como sé, algunos softwares dependen de tener FQDNadentro /etc/hostname.

¿Qué se debe especificar en las /etc/hostname máquinas Debian / Ubuntu?

Si no es FQDN, ¿dónde debería especificarse el FQDN?

Lo sé, la pregunta es un poco vieja, pero no encontré una respuesta clara. Algunas personas dicen nombre de host, algunas - FQDN. Gracias.

Bulat M.
fuente
1
¿Dónde encuentras personas que dicen que pusiste el FQDN en el archivo / etc / hostname? Ese archivo es solo para el nombre de host del sistema.
Terrance
Al leer material al respecto en internet se reunió en alguna parte. ¿Y dónde se debe especificar su FQDN?
Bulat M.
@Terrance, en realidad quiero obtener respuestas de personas con experiencia en el campo para que muestren cómo hacerlo "correctamente" desde el principio. Escribe como respuesta. ¿Y qué hacer en distribuciones que no tienen / etc / hostname?
Bulat M.

Respuestas:

6

En el archivo / etc / hostname usa solo el nombre de host. El FQDN que puede establecer en: / etc / hosts que podría verse así:

127.0.1.1        thishost.mydomain.org    thishost

Según el manual del archivo de hosts.

http://man7.org/linux/man-pages/man5/hosts.5.html

Adonista
fuente
1
REVISIÓN: Gracias, sin embargo, sería conocer los pros y los contras de especificar / no especificar el FQDN en / etc / hostname. Conozco su solución: es un trozo para programas que desean que el FQDN se resuelva en algo (no importa en qué dirección) funcione.
Bulat M.
11

Respuesta revisada:

El host en sí no maneja el FQDN real. Eso lo maneja el DNS . El FQDN (nombre de dominio completo) se maneja mediante la traducción de nombres DNS a direcciones IP. Al usar el /etc/hostsarchivo, esencialmente está anulando el servidor DNS. La computadora busca /etc/hostsprimero el archivo para ver si se define una entrada para un nombre de host a la dirección IP. Las entradas en el /etc/hostsaspecto son las siguientes:

127.0.0.1 localhost
127.0.1.1 terrance-ubuntu.local terrance-ubuntu

Estas entradas no son específicas de la distribución. Todos los sistemas operativos usan el mismo formato para estas líneas. Solo hostscambia la ubicación del archivo. Linux, por lo general, se encuentra en la /etc/carpeta, donde en Windows generalmente se encuentra en la C:\Windows\System32\drivers\etc\carpeta.

Al romper esa línea, puede ver que estoy asignando ambos terrance-ubuntu.local, que es mi FQDN para anular DNS para que las aplicaciones sepan que no deben salir de mi computadora, y terrance-ubuntu, que es el nombre de host, nuevamente para que las aplicaciones sepan que no deben abandonar mi computadora o 127.0.0.1 ( localhost ). Asignar mi nombre de host de mi sistema 127.0.1.1no tiene ningún efecto en el resto de las computadoras que encuentran mi host en la red. Si DNS funciona correctamente, verán mi nombre de host como 10.0.0.100. La razón para usar 127.0.1.1es que mis aplicaciones encuentren mi sistema más rápido, ya que sabrá que mi sistema no está en otro lugar de mi red. Mi nombre de host real con el .localser mi FQDN, el.local en realidad es mi dominio que configuré a través de mi enrutador, que también es otro servidor DNS en mi red.

Ahora, supongamos que los servicios DNS en la red local no asignan nombres de host o FQDN a direcciones IP, pero usted sabe cuál es la dirección IP del host en la red local. Luego asignaría ese host en su /etc/hostsarchivo para que no necesite escribir la dirección IP del host cada vez que desee acceder a él. El host puede ser un servidor de herramientas, una impresora o algún otro sistema conectado a la red. Agregue la entrada como lo haría normalmente al /etc/hostsarchivo.

Voy a usar mi impresora conectada a la red, por ejemplo. Tiene una IP estática de 10.0.0.253. Sin embargo, no sé su nombre. Por esto, quiero llamarlo hp_printer. Haré ping a la IP y el nombre de host para ello, luego agregaré a /etc/hosts.

terrance@terrance-ubuntu:~$ ping -c 2 10.0.0.253
PING 10.0.0.253 (10.0.0.253) 56(84) bytes of data.
64 bytes from 10.0.0.253: icmp_seq=1 ttl=255 time=0.326 ms
64 bytes from 10.0.0.253: icmp_seq=2 ttl=255 time=0.334 ms

terrance@terrance-ubuntu:~$ ping -c 2 hp_printer
ping: unknown host hp_printer

terrance@terrance-ubuntu:~$ sudo vi /etc/hosts
10.0.0.253 hp_printer.local hp_printer

terrance@terrance-ubuntu:~$ ping -c 2 hp_printer
PING hp_printer.local (10.0.0.253) 56(84) bytes of data.
64 bytes from hp_printer.local (10.0.0.253): icmp_seq=1 ttl=255 time=0.334 ms
64 bytes from hp_printer.local (10.0.0.253): icmp_seq=2 ttl=255 time=0.303 ms

Ahora, también puedo acceder a la página web para la configuración de mi impresora con el nombre que le di en lugar de la dirección IP que podría ser más fácil de recordar:

ingrese la descripción de la imagen aquí

Su archivo /etc/resolv.conf también es utilizado por DNS para ayudar a encontrar nombres de host. Es el archivo de configuración para el solucionador. Proporciona el dominio de búsqueda para que no tenga que especificar su FQDN todo el tiempo cuando busca un host. También proporciona la dirección IP para el DNS o el servidor de nombres de su red local. La searchsiguiente línea muestra el nombre localque es mi nombre de dominio.

terrance@terrance-ubuntu:~$ cat /etc/resolv.conf 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 10.0.0.1
search local

Esperemos que esto ayude a comprender mejor cómo funcionan los DNS y los FQDN.

Terrance
fuente
¿Por qué asigna FQDN en / etc / hosts a 127.0.1.1?
Bulat M.
1
@BulatM. Por favor vea mi respuesta revisada.
Terrance
¿podría explicar la diferencia entre las palabras clave de búsqueda y dominio en /etc/resolv.conf? Estoy leyendo la página de manual de resolv.conf, aún no muy clara.
Bulat M.
¿Y podría uno incluirlos a ambos? ¿Podría presentar un caso válido útil en respuesta? Gracias.
Bulat M.
1
@BulatM. Haga clic en los enlaces en mi respuesta, y lo llevarán a más información sobre las cosas. Al igual que en.wikipedia.org/wiki/Resolv.conf da mucha más información. Estoy aquí para ayudar, no para enseñarte. No me pagan, ya que todo esto es voluntario, así que por favor estudie usted mismo.
Terrance
4

La página de manual dehostname(1) discute esto (el párrafo en negrita es enfatizado por mí):

EL FQDN
   El FQDN (nombre de dominio completo) del sistema es el nombre que
   el resolutor (3) devuelve el nombre de host, como ursula.example.com .
   Generalmente es el nombre de host seguido del nombre de dominio DNS (la parte
   después del primer punto). Puede verificar el FQDN usando el nombre de host --fqdn   o
   el nombre de dominio usando dnsdomainname .

   No puede cambiar el FQDN con hostname o dnsdomainname .

   El método recomendado para configurar el FQDN es hacer que el nombre de host sea
   un alias para el nombre completo que usa / etc / hosts, DNS o NIS.
   Por ejemplo, si el nombre de host era "ursula", uno podría tener una línea en
   / etc / hosts que lee

          127.0.1.1 ursula.example.com ursula

   Técnicamente: el FQDN es el nombre que devuelve getaddrinfo (3) para el host
   nombre devuelto por gethostname (2). El nombre de dominio DNS es la parte posterior
   El primer punto.

   Por lo tanto, depende de la configuración del solucionador (generalmente en
   /etc/host.conf) cómo puedes cambiarlo. Por lo general, el archivo de hosts se analiza
   antes de DNS o NIS, por lo que es más común cambiar el FQDN en
   / etc / hosts.

Y si asigna un FQDN como nombre de host durante la instalación, solo escribe el primer componente /etc/hostnamey mantiene el FQDN /etc/hosts.

Entonces, en este caso, simplemente deje que el instalador haga lo que hace.

muru
fuente
¿Es (inclusión de 127.0.1.1 ursula.example.com ursula en / etc / hosts) Debian \ Ubuntu específico o podría aplicarse igualmente bien a cualquier otro distribuidor?
Bulat M.
1
No sé sobre otras distribuciones. Sin embargo, puede hacer lo mismo en Arch y Cent OS. Las preguntas sobre otras distribuciones deben hacerse en Unix y Linux .
muru