¿Alguna vez te has preguntado cómo puedes ver tu sitio web en un nuevo servidor antes de realizar el cambio oficial? ¿O quizás necesitas acceder a una versión de desarrollo de tu web sin afectar a la versión en producción? La respuesta está en un pequeño, pero muy útil archivo de tu sistema: el archivo hosts.
Tabla de Contenidos
¿Qué es el archivo hosts y para qué sirve?
El archivo hosts es un archivo de texto plano que se encuentra en todos los ordenadores independientemente del sistema operativo que utilicen y solo es modificable por el administrador del equipo.
Este fichero almacena información referente a los nombres de dominio y sus direcciones IP por lo que es utilizado por los navegadores para resolver dominios de internet.
A la hora de acceder a una página web el navegador primero consulta el archivo hosts para ver si este contiene alguna información sobre el dominio al que queremos acceder, si no encuentra nada es cuando procede a consultar a los servidores DNS.
En este artículo, vamos a explorar cómo puedes usar el archivo hosts para «engañar» a tu sistema y hacer que resuelva los nombres de dominio de la manera que tú quieras. Es una técnica muy útil, especialmente si estás considerando migrar tu hosting web o si eres un desarrollador web.
Como se explica en la Wiki, el archivo hosts es un componente del sistema operativo que mapea nombres de host a direcciones IP. Pero, ¿cómo funciona realmente en el proceso de resolución DNS? Veamos:
- Cuando escribes una URL en tu navegador, lo primero que hace tu sistema es consultar el archivo hosts.
- Si encuentra una coincidencia en este archivo, usa la IP asociada sin consultar los servidores DNS.
- Si no hay coincidencia, entonces procede a consultar los servidores DNS normalmente.
Esta secuencia es la que nos permite «falsear» las DNS localmente sin afectar al resto del mundo.
¿Para qué falsear las DNS?
Podemos falsear los datos de las DNS en el archivo hosts con el fin de que los dominios resuelvan las IP que nosotros queramos (de forma local, claro).
A continuación te exponemos un ejemplo habitual y para el que es muy útil hacerlo:
Si has decidido migrar tu web a Loading (o a cualquier otro proveedor de hosting), durante el proceso, tu dominio estará apuntando todavía a las DNS de tu antiguo proveedor de hosting.
Pero, ¿y si quiero comprobar cómo va a funcionar mi web en el nuevo proveedor? pues aquí es donde podemos hacer la trampa 😉
Editando el archivo hosts podemos «engañar» al sistema para que haga la resolución DNS de nuestro dominio apuntando al nuevo servidor web.
¿Cuándo es útil falsear las DNS?
Aunque ya hemos mencionado algunos casos, hay más situaciones en las que esta técnica puede ser muy útil:
- Migración de sitios web:
Como mencionamos antes, es ideal para comprobar cómo funcionará tu web en el nuevo servidor. - Desarrollo y pruebas:
Puedes trabajar en una nueva versión de tu sitio sin afectar al sitio en producción. - Bloqueo de sitios:
Si quieres evitar el acceso a ciertos sitios, puedes redirigirlos a una IP inválida. - Acceso a redes internas:
En entornos corporativos, puedes usar nombres de dominio para acceder a recursos internos.
¿Cómo falsear la resolución DNS local con el archivo hosts?
En Windows
- Ve al directorio C:\Windows\System32\drivers\etc y abre el archivo hosts con el bloc de notas (recuerda que solo podrás editarlo si eres el administrador del equipo, si no deberás pedir los permisos).
En Linux
- Encontrarás el archivo en la ruta /etc/hosts
En MacOS
- Abre la herramienta Terminal y copia la siguiente línea:
sudo nano /private/etc/hosts y pulsa Enter. - Introduce la contraseña de administrador.
Edita el archivo hosts
- Añade una línea nueva en la que indiques la IP que quieras que se resuelva (en este caso la de nuestro nuevo servidor web) y a continuación el nombre de nuestro dominio, quedaría así:
xxx.xxx.xxx.xxx tudominio.es www.tudominio.es - Cambiando xxx.xxx.xxx.xxx y tudominio.es por el correcto en cuestión
- Guarda los cambios en el archivo.
- Por último refresca la caché DNS, aquí puedes ver cómo renovar la caché DNS.
Como ves falsear las DNS es muy sencillo y en ocasiones puede ser muy útil sobre todo para los desarrolladores web.
Alternativas a la modificación del archivo hosts
Aunque modificar el archivo hosts es una solución efectiva, existen otras alternativas que podrías considerar:
- Servidores DNS locales:
Puedes configurar un servidor DNS en tu red local para lograr un efecto similar. - Extensiones de navegador:
Algunas extensiones permiten redirigir solicitudes a diferentes IPs. - Entornos de desarrollo virtuales:
Herramientas como Docker pueden ayudarte a simular diferentes configuraciones de red.
Cada método tiene sus ventajas y desventajas, así que elige el que mejor se adapte a tus necesidades.
Un recordatorio importante
Antes de terminar, es crucial que recuerdes volver a modificar el archivo hosts para dejarlo como estaba una vez que hayas terminado tus pruebas o tu migración. Si lo olvidas, podrías encontrarte con problemas en el futuro, especialmente si la IP de tu hosting cambia.
Por ejemplo, si has falseado las DNS para probar un nuevo servidor y luego olvidas revertir los cambios, podrías perder acceso a tu sitio web si la IP del servidor cambia en el futuro. Además, esto podría causarte confusión si intentas solucionar problemas de conexión más adelante.
Recuerda también que los cambios en el archivo hosts son locales, por lo que no afectarán a la propagación de las DNS a nivel global. Sin embargo, es una buena práctica mantener este archivo lo más limpio posible.
En resumen, falsear las DNS mediante el archivo hosts es una herramienta poderosa en el arsenal de cualquier administrador web o desarrollador. Úsala con sabiduría y no olvides revertir los cambios cuando ya no los necesites. ¡Feliz desarrollo!