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/hosts
archivo, esencialmente está anulando el servidor DNS. La computadora busca /etc/hosts
primero el archivo para ver si se define una entrada para un nombre de host a la dirección IP. Las entradas en el /etc/hosts
aspecto 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 hosts
cambia 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.1
no 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.1
es 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 .local
ser 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/hosts
archivo 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/hosts
archivo.
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:
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 search
siguiente línea muestra el nombre local
que 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.