Cómo editar el archivo de hosts en Linux: una guía paso a paso para principiantes
En Linux, el archivo hosts es una herramienta que utilizo regularmente y asumo que todo el mundo sabe lo que es. Pero de vez en cuando, recibo preguntas que me recuerdan que hay personas nuevas en Linux que necesitan ayuda con los conceptos básicos.

El archivo hosts es un excelente punto de partida, ya que no solo es muy útil, sino que también puede ayudar a los usuarios que son nuevos en Linux a familiarizarse con algunos conceptos importantes. Por eso, en este artículo, te mostraré cómo editar el archivo hosts en Linux paso a paso.
Qué necesitarás
Para trabajar con el archivo hosts, necesitarás una instancia en ejecución de Linux (no importa qué distribución) y un usuario con privilegios de sudo.
Qué es el archivo hosts en Linux
En pocas palabras, el archivo hosts es una forma de asignar nombres de hosts a direcciones IP. Esto es muy importante en ciertas configuraciones y para facilitar las redes en Linux. En cierto sentido, el archivo hosts actúa como un servidor de DNS local.
Imaginemos que has implementado el sistema de gestión de facturas InvoicePlane en una máquina Linux dentro de tu LAN local. La dirección IP de la máquina que aloja InvoicePlane es 192.168.1.11, y para acceder al servicio, los usuarios tienen que escribir 192.168.1.11/invoiceplane. Pero, ¿y si pudieras asignar esa dirección IP a una dirección más estándar (por ejemplo, www.invoiceplane.net) para que los usuarios no tengan que escribir la dirección IP (que a muchas personas les resulta más difícil de recordar)?
Opongamos que estás implementando un clúster de Kubernetes. Parte del proceso de implementación de dicho clúster es asignar los controladores y nodos en el archivo hosts.

Veamos cómo funciona el archivo hosts.
Cómo abrir el archivo hosts para editarlo en Linux
Lo primero que debes hacer es abrir el archivo hosts para editarlo. Lo haremos desde la línea de comandos, así que inicia sesión en tu servidor Linux o abre una ventana de terminal en tu escritorio Linux. Utilizaremos el editor nano (ya que es la herramienta más sencilla para este propósito). Debido a que el archivo hosts se encuentra en el directorio /etc/, está protegido, por lo que debemos elevar los privilegios de nuestro usuario con el comando sudo. Para abrir el archivo para editarlo, ejecuta el siguiente comando:
sudo nano /etc/hosts
Se te pedirá la contraseña de tu usuario. Después de escribir tu contraseña, verás que el archivo hosts se abre y está listo para ser editado.
Las primeras entradas en el archivo hosts están siempre dedicadas al localhost, que es la máquina local. En mi ejemplo, el localhost está representado de dos formas diferentes:
127.0.0.1 hive

::1 localhost
127.0.0.1 se conoce tanto como localhost como dirección de bucle local y se utiliza en todos los equipos (Linux, macOS y Windows). La primera línea (127.0.0.1 localhost) asigna la dirección de bucle local al nombre localhost. Por esta razón, podrías hacer ping a la máquina local con ping 127.0.0.1
o ping localhost
. Como hemos asignado la dirección en el archivo hosts, ambos comandos harán ping a la máquina local. Y como hemos asignado la dirección IPv6 ::1 a localhost, lo mismo ocurre.
Ahora, creemos una nueva entrada. Utilizaremos uno de los ejemplos mencionados anteriormente. Lo que haremos es asignar la dirección IP 192.168.1.11 al nombre de host invoiceplane y al FQDN www.invoiceplane.net. Cabe destacar que no soy propietario del dominio invoiceplane.net ni resuelve a nada. Podrías usar invoiceplane.lan, pero eso causa problemas en los navegadores web.
Al final del archivo hosts, agrega la siguiente línea (modificando con una dirección IP / servidor que tengas en tu LAN):
192.168.1.11 invoiceplane www.invoiceplane.net
El archivo terminado se verá como en la figura B.

Para guardar y cerrar el archivo, presiona la combinación de teclas Ctrl+X y responde "y" para guardar.
Vamos a probar nuestros cambios. Desde la terminal, haz ping al servidor con el siguiente comando (modificando con una dirección IP / servidor que tengas en tu LAN):
ping 192.168.1.11
ping invoiceplane
ping www.invoiceplane.net
Los resultados deberían ser los mismos y tu máquina local debería poder comunicarse con la máquina remota en tu LAN, independientemente de la dirección que uses.

También puedes abrir tu navegador web y, en lugar de escribir la dirección IP, escribir la dirección mapeada www.invoiceplane.net (ajustándola según lo que hayas agregado al archivo hosts). En mi caso, podría ingresar www.invoiceplane.net/invoiceplane (porque mi instancia de InvoicePlane se sirve desde el directorio invoiceplane en la raíz del documento de Apache) en la barra de direcciones del navegador y acceder a mi instancia de InvoicePlane. Hay que tener en cuenta que, una vez que presiones Enter en tu teclado, es probable que veas que la dirección cambia automáticamente de www.invoiceplane.net/invoiceplane a 192.168.1.11/invoiceplane. Ese es el comportamiento esperado. El único propósito del archivo hosts es asignar nombres de host / dominio a direcciones IP. Una vez que se resuelva la dirección, cambiará en la barra de direcciones.
Puedes agregar tantos mapeos de direcciones como necesites en el archivo hosts de Linux. Siempre y cuando sigas la fórmula, todo debería funcionar perfectamente.
Y así es como se trabaja con el archivo hosts en Linux. ¡Feliz mapeo!
En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Desarrollo, allí encontraras muchos artículos similares a Cómo editar el archivo de hosts en Linux: una guía paso a paso para principiantes , tenemos lo ultimo en tecnología 2023.
Artículos Relacionados