El archivo Host: Para qué sirve y cómo editarlo
En esta guía te voy a explicar qué es el archivo hosts y cómo puedes editarlo en Windows, macOS y Linux. También te voy a explicar cuáles son algunos de los motivos por los que te interesa acceder a este archivo del sistema e introducir cambios en él.
Para empezar, debes saber que el archivo hosts es un fichero que se encuentra en la mayoría de los sistemas operativos. En los equipos de escritorio es bastante sencillo acceder a él y alterar su contenido. Por eso, se cree que solo está presente en sistemas como Windows o macOS. No obstante, iOS y Android también cuentan con el archivo hosts, aunque es inaccesible sin permisos de superusuario o root.
Te interesa saber que el hosts es un archivo de texto que alberga correspondencias entre dominios de Internet y direcciones IP. Esto es muy parecido a lo que hace un servidor DNS (incluso un servidor DNS que hayas montado en Windows). La diferencia es que el archivo hosts se almacena de forma local, en un directorio o partición del sistema. De este modo, al editarlo, es posible alterar de forma manual la equivalencia entre un dominio (www.geeknetic.es) o una IP (156.433.43.2). De hecho, el sistema operativo siempre va a consultar primero el archivo hosts para saber cómo traducir un dominio, antes incluso de hacer una petición remota al servidor DNS o consultar la caché.
Es posible que te preguntes por qué hay un archivo en tu sistema operativo que hace la misma función que los servidores DNS. La respuesta es muy sencilla: no siempre hubo servidores DNS. A medida que Internet se hizo grande y cada vez se agregaban más equipos, se optó por extender una red de servidores que se encargaran de resolver los nombres de dominios. Estos servidores actualizan sus registros de forma constante y, por eso, son tan útiles actualmente. Mantener un archivo hosts actualizado para acceder a todos los sitios web de forma manual y en cada equipo es inviable.
Por eso, actualmente son los servidores DNS los encargados de traducir los nombres de dominio a direcciones IP, aunque, curiosamente, los sistemas operativos continúan dando preferencia al archivo hosts. Debido a esto, de forma predeterminada, este fichero solo incluye por defecto la definición del localhost. No vas a encontrar en él ninguna equivalencia entre dominios y direcciones IP, a menos que alguien la haya agregado manualmente.
Antes de abordar el método para cada sistema operativo de escritorio, te muestro cuál es la estructura que debes seguir a la hora de editar el archivo hosts. Lo primero que debes incluir es la dirección IP. Luego, agrega uno o dos espacios (también funciona el tabulador) y escribe uno o varios nombres de dominio. Si añades dos nombres o más, tendrás que separarlos por uno o varios espacios (también tabulaciones). Por ejemplo, si quieres asignar la IP 0.0.0.0 a google.es y google.com, así debería quedar la línea:
- 0.0.0.0 www.google.es google.es www.google.com google.com
Nótese la importancia de añadir los dominios con las www y sin ellas. Así te aseguras de que, si no hay redirección automática entre ambas direcciones, las dos queden configuradas según tus necesidades. El archivo hosts es un fichero de texto plano, como te dije, que no varía entre sistemas operativos. En todos cuenta con la misma estructura.
Windows
La forma más fácil de editar el archivo hosts en Windows es con el Bloc de notas. Ahora bien, es muy importante que abras esta herramienta con permisos de administrador. Hazlo desde la búsqueda de Windows, donde dispones de esa opción.
Entonces, pincha en Abrir un archivo, dentro del menú Archivo.
Navega hasta la siguiente ruta:
- C:\Windows\System32\drivers\etc\hosts
Para poder ver el archivo hosts, recuerda seleccionar la opción Todos los archivos. Una vez abierto, introduce los cambios que prefieras.
Guarda los cambios para que se apliquen. Adicionalmente, es posible modificar el archivo hosts con una de las herramientas incluidas en las PowerToys. Basta con instalar este paquete desde la Microsoft Store.
Luego, en la pantalla de bienvenida, selecciona Hosts File Editor. Haz clic en Iniciar Hosts File Editor.
Finalmente, agrega una nueva entrada. En el campo Dirección, introduce la dirección IP. En Hosts, indica los nombres de dominio.
Gracias a esta herramienta, vas a poder añadir reglas de forma sencilla al archivo hosts y, además, activarlas y desactivarlas de forma individual con tan solo hacer clic sobre ellas.
macOS y Linux
En macOS y Linux, el método para editar el archivo hosts es el mismo. Desde el lanzador de aplicaciones, localiza la Terminal y abre una nueva sesión. Entonces, ejecuta el siguiente comando:
- sudo nano /etc/hosts
Introduce la contraseña de tu usuario. Te va a funcionar solo si tienes privilegios de administrador. En el caso de que seas la única persona que utiliza el equipo, no tendrás muchos problemas. Cuando se abra el editor integrado en el terminal, usa las flechas para situar el cursor en la línea correspondiente. Entonces, agrega las entradas que quieras.
Cuando hayas terminado, presiona Control. + X para salir y escribe "yes" para guardar los cambios.
Actualmente, el archivo hosts ya no es necesario para traducir nombres de dominio a direcciones IP. Como te expliqué más arriba, la estructura de servidores DNS actual es la encargada de eso. Entonces, ¿qué usos se le están dando al archivo hosts? Lejos de ser un elemento anacrónico, lo cierto es que en la actualidad son muchos los usuarios que lo editan y agregan en él registros. Estos son algunos de los motivos más frecuentes:
- Bloquear contenido. Gracias al hosts, se puede impedir que un equipo pueda acceder a un sitio web, sin importar el navegador empleado. Solo hay que agregar una entrada donde se equipare un nombre de dominio a una IP incorrecta. Por ejemplo, el registro "0.0.0.0 www.facebook.com" impide que se pueda abrir Facebook en el equipo, porque el sistema siempre tratará de abrir la IP no válida cuando se introduzca el nombre de dominio de la red social. En este GitHub tienes una colección de archivos hosts que puedes usar en tu PC para bloquear pornografía, sitios de noticias falsas, redes sociales y contenidos similares.
- Suprimir el rastreo en Internet. Cuando navegas, los rastreadores se encargan de monitorizar tu actividad. Esto se hace con peticiones a servidores externos y gracias a las cookies. Con el archivo hosts es posible bloquear estas conexiones asociando una IP no válida, como 0.0.0.0, a los servidores de rastreo. Por ejemplo, en este repositorio de GitHub encontrarás varios archivos hosts que incluyen un bloqueo a la mayoría de rastreadores de Internet.
- Crear redirecciones personalizadas. Con el archivo hosts también es posible asignar un nombre de dominio a un servidor local, por ejemplo, para probar una nueva página web en construcción. Es algo que es útil en entornos de desarrollo.