Administrar la resolución de nombres de host locales en Linux

CompTIABeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderá la habilidad esencial de gestionar la resolución de nombres de host locales en Linux editando directamente el archivo /etc/hosts. Este archivo le permite mapear manualmente nombres de host a direcciones IP en su máquina local, una técnica crucial para el desarrollo web, las pruebas de red y la administración de sistemas. Al controlar estos mapeos, puede anular los servidores DNS públicos y dirigir el tráfico de dominios específicos a una dirección IP local o personalizada.

Se le guiará a través de un flujo de trabajo completo y práctico. Primero, inspeccionará el contenido predeterminado del archivo /etc/hosts utilizando el comando cat para comprender su estructura. Luego, utilizará el editor nano para agregar una entrada de host personalizada. Para verificar su configuración, probará el nuevo nombre de host con el comando ping. Finalmente, eliminará la entrada que agregó, restaurando el archivo a su estado original y completando el ejercicio práctico.

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 98%. Ha recibido una tasa de reseñas positivas del 100% por parte de los estudiantes.

Inspeccionar el archivo /etc/hosts predeterminado con cat

En este paso, aprenderá cómo ver el contenido del archivo /etc/hosts. Este archivo es un archivo de texto simple que su sistema operativo utiliza para mapear nombres de host a direcciones IP. Antes de que su computadora consulte a un servidor DNS en Internet para resolver un nombre de dominio, primero verifica este archivo local. Comprender su estructura es una habilidad fundamental de redes en Linux.

Utilizaremos el comando cat, que es una utilidad estándar para leer archivos e imprimir su contenido en la terminal.

Abra su terminal y ejecute el siguiente comando para mostrar el contenido del archivo /etc/hosts:

cat /etc/hosts

Salida de ejemplo:

Verá una salida similar a la siguiente. El contenido exacto puede variar ligeramente, pero el formato será el mismo.

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
127.0.1.1       Aliyun

192.168.2.67    iZbp1gakoh36s0s067d3ebZ iZbp1gakoh36s0s067d3ebZ

172.20.239.123  ubunut-base-image       ubunut-base-image

172.28.138.90   iZj6c8bsoq3dpsob2zhgheZ iZj6c8bsoq3dpsob2zhgheZ

Analicemos esta salida:

  • 127.0.0.1 localhost: Esta es la entrada más común. Mapea la dirección IP 127.0.0.1 (también conocida como la dirección de loopback) al nombre de host localhost. Esto es crucial para que muchos servicios locales funcionen correctamente.
  • Líneas que comienzan con #: Estos son comentarios. El sistema los ignora, pero son útiles para proporcionar explicaciones.
  • Entradas IPv6: Líneas como ::1 ip6-localhost son los equivalentes IPv6 para loopback y otras configuraciones de red estándar.

Ahora que ha visto la estructura predeterminada del archivo hosts, está listo para aprender cómo modificarlo en el siguiente paso.

Agregar una entrada de host personalizada usando nano

En este paso, agregará manualmente una nueva entrada al archivo /etc/hosts. Esta es una habilidad práctica para desarrolladores que necesitan apuntar un dominio a un servidor local o para administradores de sistemas que configuran redes internas. Dado que /etc/hosts es un archivo protegido por el sistema, debe usar sudo para obtener los permisos necesarios para modificarlo.

Utilizaremos nano, un editor de texto de línea de comandos simple y fácil de usar que viene preinstalado en el entorno LabEx.

Ejecute el siguiente comando para abrir /etc/hosts con nano:

sudo nano /etc/hosts

La terminal ahora mostrará el contenido del archivo dentro del editor nano. Use las teclas de flecha para mover el cursor al final del archivo. Agregue la siguiente línea nueva:

192.168.1.100   myfictionalserver.local

Esta línea le indica a su sistema que cada vez que vea el nombre de host myfictionalserver.local, debe resolverlo a la dirección IP 192.168.1.100.

Ahora, necesita guardar los cambios y salir del editor. Siga estas combinaciones de teclas:

  1. Presione Ctrl+O (el comando "Write Out") para guardar el archivo.
  2. nano le pedirá el "File Name to Write". El valor predeterminado es /etc/hosts, que es correcto, así que simplemente presione Enter para confirmar.
  3. Presione Ctrl+X para salir de nano y volver a su prompt de terminal.

Ahora ha modificado con éxito el archivo hosts. En el siguiente paso, probaremos esta nueva entrada para confirmar que funciona como se espera.

Probar el nombre de host personalizado con ping

En este paso, verificará que la entrada personalizada que agregó a /etc/hosts esté funcionando correctamente. La mejor manera de hacerlo es usando el comando ping. ping es una utilidad de red utilizada para probar la accesibilidad de un host en una red IP. También mide el tiempo que tardan los mensajes en enviarse desde el host de origen a un equipo de destino y viceversa.

Cuando usa ping en un nombre de host, el sistema primero intenta resolver ese nombre en una dirección IP. Dado que agregamos una entrada para myfictionalserver.local en /etc/hosts, su sistema debería encontrarla allí y usar la dirección IP 192.168.1.100.

Probémoslo. En su terminal, ejecute el siguiente comando. Usamos la opción -c 4 para enviar solo 4 paquetes y luego detenerse, lo cual es conveniente para probar.

ping -c 4 myfictionalserver.local

Salida de ejemplo:

Debería ver una salida que confirme la resolución del nombre, incluso si el host no es accesible.

PING myfictionalserver.local (192.168.1.100) 56(84) bytes of data.
^C
--- myfictionalserver.local ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3053ms

La parte más importante es la primera línea: PING myfictionalserver.local (192.168.1.100). Esto confirma que su sistema resolvió con éxito el nombre de host myfictionalserver.local a la dirección IP 192.168.1.100 utilizando la entrada de su archivo /etc/hosts.

El comando continuará ejecutándose hasta que se detenga (por ejemplo, presionando Ctrl+C). Dado que no hay un dispositivo real en 192.168.1.100 en la red, no se recibirán paquetes. Sin embargo, la parte de resolución de nombres del proceso fue un éxito, que es lo que queríamos demostrar.

Ahora ha confirmado que su entrada personalizada en el archivo hosts está activa. En el último paso, aprenderá cómo limpiar eliminando esta entrada.

Eliminar la entrada de host personalizada para restaurar un estado limpio

En este último paso, limpiará los cambios que realizó en el archivo /etc/hosts. Es una práctica crucial, especialmente en entornos compartidos o de producción, revertir los cambios temporales para evitar comportamientos inesperados más adelante. Restaurar el archivo a su estado original garantiza que la resolución de nombres de su sistema funcione como se espera para todas las demás operaciones de red.

Al igual que antes, necesitará privilegios de sudo para editar el archivo con nano.

Abra nuevamente el archivo /etc/hosts en el editor:

sudo nano /etc/hosts

Use las teclas de flecha para navegar hasta la línea que agregó en el Paso 2:

192.168.1.100   myfictionalserver.local

Con el cursor en esa línea, puede eliminarla. Una forma rápida de eliminar una línea completa en nano es presionar Ctrl+K.

Después de eliminar la línea, guarde el archivo y salga del editor:

  1. Presione Ctrl+O y luego Enter para guardar los cambios.
  2. Presione Ctrl+X para salir de nano.

Para confirmar que la entrada ha sido eliminada y que el sistema ya no puede resolver el nombre de host localmente, intente hacerle ping una última vez:

ping myfictionalserver.local

Salida de ejemplo:

Esta vez, el comando debería fallar inmediatamente con un mensaje de error, ya que el sistema no tiene forma de resolver el nombre.

ping: myfictionalserver.local: Name or service not known

Esto confirma que ha eliminado con éxito la entrada personalizada y ha restaurado su archivo hosts a un estado limpio.

Resumen

En este laboratorio, aprendió a administrar la resolución de nombres de host locales en Linux manipulando el archivo /etc/hosts. Comenzó utilizando el comando cat para inspeccionar el contenido y la estructura predeterminados de este archivo, comprendiendo su función en el mapeo de direcciones IP a nombres de host antes de que se realice una consulta DNS. Vio cómo se formatean las entradas estándar como 127.0.0.1 localhost y el uso de comentarios para la documentación.

Tras la inspección, adquirió habilidades prácticas utilizando el editor de texto nano para agregar una entrada de host personalizada, una tarea común para el desarrollo local o las pruebas de red. Para confirmar que sus cambios fueron efectivos, utilizó el comando ping para probar el nuevo nombre de host personalizado, verificando que el sistema lo resolvió a la dirección IP que especificó. Finalmente, completó el laboratorio eliminando la entrada personalizada para restaurar el sistema a su estado original, demostrando el ciclo de vida completo de la administración de una entrada de host local.