La guía completa del archivo /etc/hosts para Linux

¿Qué es el archivo /etc/hosts y cuál es su propósito?

El archivo /etc/hosts o simplemente Hosts es un archivo de texto sin formato que asigna direcciones IP con sus nombres de host correspondientes. Principalmente, el archivo Hosts es útil cuando trabaja en una red local de computadoras. Proporciona algún tipo simple de resolución de nombre de host.

El archivo /etc/hosts suele ser útil cuando no estamos utilizando el servicio DNS o NIS para resolver direcciones IP. De hecho, cuando no existía el DNS, no había sistemas centralizados para resolver nombres de host. Las redes locales y las computadoras dependían de su archivo Hosts. Este archivo contiene las entradas de todos los nombres de host conocidos y sus correspondientes direcciones IP.

Después de que el DNS apareció en escena, las computadoras no necesitaron este archivo y comenzaron a usar el servicio DNS para buscar nombres de host. A pesar de estos avances, el archivo Hosts sigue siendo relevante en los sistemas operativos modernos.

¿Qué cubriremos?

En esta guía, veremos qué es un archivo Hosts en Linux, algunos casos de uso de este archivo y una aplicación de este archivo basada en los casos de uso.

Casos de Uso del Archivo Hosts

Podemos asignar un nombre de dominio a una dirección IP usando el archivo Hosts. Sin embargo, estos cambios son locales y funcionarán en la computadora local.

El archivo Hosts sigue siendo relevante hoy en día, hay algunos casos de uso específicos para el archivo Hosts como se menciona a continuación:

  1. Hemos construido un sitio web, pero no está activo en la web ya que no hemos registrado el nombre de dominio para él. Sin embargo, si tenemos una dirección IP registrada de nuestro alojamiento, podemos asignar esta IP a un nombre de dominio ficticio o inexistente y continuar construyendo nuestro sitio web.

    De manera similar, en un entorno de prueba de software, muchas aplicaciones web se ejecutan en la dirección del host local, es decir, direcciones del tipo 127.0.0.1. Nuevamente, podemos administrar esto usando el archivo Hosts.

  2. En caso de que hayamos migrado nuestra web de un hosting a otro y queramos comprobar el rendimiento del nuevo hosting, podemos conectar nuestro dominio al nuevo hosting sin cerrar nuestra antigua cuenta de hosting. De esta forma, podemos ver cómo se está cargando nuestra web desde el nuevo hosting.
  3. Suponga que desea bloquear un sitio web, como bloquear Facebook en un sistema educativo. Podemos hacer esto fácilmente asignando el nombre de dominio de destino a una dirección IP no válida como 0.0.0.0. Esto creará un loopback. Esto suele ser útil para bloquear sitios web no educativos en universidades o bloquear contenido para adultos para niños.
  4. Cuando se edita correctamente, el archivo Hosts puede funcionar como un cortafuegos de seguridad para un sistema.

Formato del archivo /etc/hosts

El archivo Hosts se encuentra dentro de la carpeta /etc . Las entradas del archivo son por línea. Por ejemplo, cada línea consta de un nombre de host seguido de su dirección IP:

IP_address canonical_hostname [ alias… ]

Las direcciones IP utilizadas aquí son IPv4 o IPv6. Estas direcciones y nombres de host mantienen una distancia de cualquier espacio en blanco numérico o una distancia de un carácter de tabulación.

En todos los sistemas operativos, el archivo Hosts tiene el mismo formato. Veamos el contenido del archivo en un sistema Linux:

127.0.0.1 localhost
127.0.1.1       < nombre de host >

# Las siguientes líneas son deseables para hosts compatibles con IPv6
:: 1     ip6-localhost ip6-loopback
fe00:: 0 ip6-localnet
ff00:: 0 ip6-mcastprefix
ff02:: 1 ip6-allnodes
ff02:: 2 ip6-todos los enrutadores

El archivo Hosts contiene las entradas para las direcciones IPv4 e IPv6.

Aplicación del Archivo de Hosts

Como se mencionó anteriormente, podemos usar el archivo Hosts para bloquear un dominio. Tomemos el caso del bloqueo de Youtube. Abre el archivo:

$ sudo nano / etc / anfitriones

e ingrese la siguiente línea:

0.0.0.0 www.youtube.com

Utilice el carácter de tabulación para insertar un espacio entre la dirección IP y su nombre de dominio correspondiente.

Ahora, guarde y cierre el archivo. Abra cualquier navegador web e intente navegar a youtube y vea qué sucede:

Podemos ver que youtube.com está bloqueado y recibimos el mensaje «No se puede conectar». Para desbloquear el sitio, simplemente debemos eliminar la entrada anterior del archivo /etc/hosts .

Archivos de control de acceso

Además del archivo Hosts simple, también tenemos un archivo /etc/hosts.allow y un archivo /etc/hosts.deny .

Estos archivos, denominados archivos de acceso de hostess, son utilizados por contenedores TCP. Estos archivos deciden si una máquina cliente puede conectarse a un host.

Cuando un servicio encapsulado de TCP recibe una solicitud de cliente, realiza las siguientes acciones:

  1. Consulte el archivo hosts.allow : lee secuencialmente este archivo y ejecuta la primera regla establecida para ese servicio.
  2. Consulte el archivo hosts.deny : lee secuencialmente este archivo y si encuentra una regla coincidente, no acepta la solicitud de conexión. De lo contrario, se concede acceso al servicio solicitante.

El archivo hosts.allow decide qué direcciones IP pueden conectarse a un host. El archivo /etc/hosts.deny se usa junto con él.

Problemas de seguridad del archivo de hosts

Aunque el archivo Hosts parece un archivo simple, en algunos casos, por ejemplo, en sistemas Windows, malware como adware o spyware modifica el archivo Hosts para llevar a los usuarios a sitios web maliciosos.

Si no está seguro del estado de su archivo Hosts, puede utilizar el auditor del sistema Lynis para Linux. Lynis tiene su compilación de prueba incorporada para verificar la solidez de la seguridad de su sistema Linux.

Además, intente mantener el archivo Hosts en una longitud mínima. Si tiene demasiados sistemas declarados dentro del archivo Hosts, debería considerar colocarlos en una zona DNS diferente.

Conclusión

El archivo Hosts es un archivo antiguo en Linux, pero aún así, es una utilidad poderosa. Desde la resolución de nombres locales, es una parte importante de muchos programas y su proceso de desarrollo. En este artículo, hemos visto una introducción básica al archivo Hosts en Linux. También hemos mostrado cómo bloquear un sitio web usando el archivo Hosts. Además, podemos usarlo para bloquear banners, adware y otros contadores de páginas de terceros.

Después de leer este artículo, ahora debería saber cómo usar el archivo Hosts para administrar consultas de DNS según nuestros requisitos.