El archivo Hosts en Linux ⋆ ALexHost SRL

Pon a prueba tus habilidades en todos nuestros servicios de Hosting y ¡obtén un 15% de descuento!

Utiliza el código al pagar:

Skills
12.12.2024

El archivo Hosts en Linux

El archivo hosts es un componente crítico en muchos sistemas operativos, incluyendo Linux VPS Hosting. Sirve como una herramienta a nivel de sistema local para la asignación de nombres de host a direcciones IP, ayudando a su equipo a localizar y conectarse a diferentes servidores o dispositivos en Internet o una red local. La comprensión de cómo funciona el archivo hosts y cómo modificarlo puede ser útil para la solución de problemas, el bloqueo de sitios específicos, o la creación de nombres de dominio personalizados para fines de desarrollo. En este artículo, exploraremos qué es el archivo hosts, dónde se encuentra en Linux y cómo editarlo de forma efectiva.

1. ¿Qué es el Archivo Hosts?

El archivo hosts es un archivo de texto plano utilizado por el sistema operativo para asignar nombres de host legibles por humanos (como www.example.com) a sus correspondientes direcciones IP. Funciona de forma similar al Sistema de Nombres de Dominio (DNS), pero opera localmente en tu máquina. El archivo se utiliza antes de consultar servidores DNS externos, lo que le permite anular la resolución DNS con sus propias asignaciones personalizadas.

Los principales usos del archivo hosts incluyen:

  • Mapeo de Dominios para Desarrollo Local: Los desarrolladores suelen utilizar el archivo hosts para crear entornos de prueba locales mediante la asignación de nombres de dominio personalizados a localhost (127.0.0.1).
  • Bloqueo del acceso a sitios web específicos: puede bloquear el acceso a determinados sitios web asignando sus nombres de dominio a una IP no enrutable, como 0.0.0.0 o 127.0.0.1.
  • Solución rápida de problemas de DNS: El archivo hosts puede utilizarse para solucionar problemas de DNS o probar configuraciones de sitios web sin modificar los registros DNS reales.

2. Ubicación del archivo hosts en Linux

En los sistemas Linux, el archivo hosts se encuentra normalmente en el directorio /etc y se llama hosts. La ruta completa al archivo es:

/etc/hosts

Este fichero suele estar preconfigurado con algunas entradas por defecto para la gestión de la red local. Por ejemplo, la entrada para localhost suele incluirse por defecto:

127.0.0.1 localhost ::1 localhost

3. Estructura del fichero Hosts

La estructura del fichero hosts es sencilla. Cada línea del fichero contiene una dirección IP seguida de uno o más nombres de host que corresponden a esa dirección. El formato es el siguiente:

Dirección_IP nombre_host [alias1] [alias2]…
  • Dirección_IP: La dirección IP a la que desea que se resuelva el nombre de host.
  • hostname: El nombre de dominio o host.
  • alias (opcional): Nombres alternativos para el host, que pueden añadirse por comodidad.

Por ejemplo, si desea asignar el dominio example.com a un servidor local (localhost), añada la siguiente línea:

127.0.0.1 ejemplo.com

También puede añadir varios nombres de host en una sola línea, como se indica a continuación:

127.0.0.1 ejemplo.com www.example.com

4. Edición del archivo Hosts en Linux

Para modificar el archivo hosts en un sistema Linux, necesitas privilegios de administrador (root), ya que el archivo forma parte de la configuración del sistema. Aquí tienes una guía paso a paso para editar el archivo hosts:

Paso 1: Abrir el archivo hosts como root

Dado que necesita permisos de root para editar el archivo hosts, debe abrirlo utilizando un editor de texto con sudo. Los editores de texto más comunes son nano y vim. A continuación se explica cómo abrir el archivo con nano:

sudo nano /etc/hosts

Paso 2: Editar el archivo Hosts

Una vez abierto el archivo, puede añadir, modificar o eliminar entradas según sea necesario. Por ejemplo, para bloquear el acceso a un sitio web como example.com, puede añadir la siguiente línea:

0.0.0.0 ejemplo.com

Esto bloquea efectivamente el sitio web apuntando el dominio a una dirección IP no enrutable.

Paso 3: Guardar y salir

Una vez realizados los cambios, guarde el archivo. Si está utilizando nano, pulse CTRL O para escribir los cambios y, a continuación, pulse Intro. Para salir, pulsa CTRL X.

Si usas vim, puedes guardar y salir escribiendo:

:wq

Paso 4: Verifique los cambios

Para comprobar que los cambios han surtido efecto, puede utilizar el comando ping o simplemente intentar acceder al dominio en su navegador. Por ejemplo

ping ejemplo.es

Si has bloqueado el dominio asignándolo a 0.0.0.0 o 127.0.0.1, deberías ver un mensaje indicando que el host es inalcanzable.

5. Casos comunes de uso del archivo Hosts

5.1. Desarrollo local

Cuando trabaje en proyectos de desarrollo web, puede utilizar el archivo hosts para asignar dominios personalizados a localhost. Esto le permite utilizar una URL más legible como miproyecto.local en lugar de localhost:3000.

Ejemplo:

127.0.0.1 miproyecto.local

Después de añadir esta entrada, puede navegar a myproject.local en su navegador web, y apuntará a su servidor de desarrollo local.

5.2. Bloqueo de sitios web

Puede utilizar el archivo hosts para bloquear el acceso a sitios web específicos asignando sus dominios a 0.0.0.0 o 127.0.0.1. Esto es útil para evitar el acceso a sitios web de distracción o potencialmente peligrosos. Esto es útil para impedir el acceso a sitios web que distraen la atención o a dominios potencialmente dañinos.

Ejemplo:

0.0.0.0 facebook.com www.facebook.com

Esto bloqueará el acceso a Facebook redirigiendo las peticiones a una dirección local inexistente.

5.3. Cómo evitar los problemas de DNS

Si tienes problemas de resolución de DNS o quieres probar un sitio web en un nuevo servidor antes de actualizar los registros DNS, puedes utilizar el archivo hosts para asignar temporalmente un dominio a una dirección IP específica.

Ejemplo:

203.0.113.15 miweb.com

Esto obligará a su sistema a resolver mywebsite.com a la dirección IP 203.0.113.15, independientemente de lo que digan los registros DNS.

6. Vaciar la caché DNS (opcional)

Tras realizar cambios en el archivo hosts, es posible que su sistema operativo aún guarde en caché las resoluciones DNS anteriores. Para aplicar los cambios inmediatamente, puede que necesite vaciar la caché DNS. El siguiente comando puede ser utilizado en sistemas Linux que soporten systemd:

sudo systemctl restart systemd-resolved

Alternativamente, puede utilizar:

sudo service network-manager restart

Esto asegura que las nuevas asignaciones en el archivo de hosts se utilizan de inmediato.

Conclusión

El archivo hosts es una poderosa herramienta para controlar cómo su sistema resuelve los nombres de dominio. Ya sea que esté bloqueando sitios web no deseados, configurando entornos de desarrollo locales o solucionando problemas de DNS, saber cómo modificar el archivo hosts puede ahorrarle tiempo y mejorar sus capacidades de administración de red. En Linux, editar el archivo hosts es sencillo y puede hacerse en unos pocos pasos utilizando comandos básicos de terminal. Sólo recuerda usar privilegios de root cuando modifiques este importante archivo del sistema

Pon a prueba tus habilidades en todos nuestros servicios de Hosting y ¡obtén un 15% de descuento!

Utiliza el código al pagar:

Skills