Guía completa para restablecer el archivo hosts de Windows a su estado predeterminado, eliminar redirecciones no deseadas, corregir errores de permisos y comprobar si la resolución de nombres vuelve a funcionar correctamente.
El archivo hosts es un pequeño archivo de sistema en texto plano que Windows consulta antes de usar los servidores DNS. Puede vincular un nombre de dominio con una dirección IP concreta. Por ejemplo, una línea en el archivo hosts puede forzar que example.com se abra desde una IP elegida o bloquear un dominio apuntándolo a 127.0.0.1.
Como el archivo hosts se comprueba en una fase temprana de la resolución de nombres, las entradas incorrectas o maliciosas pueden impedir que los sitios web se abran, redirigir el navegador a una dirección equivocada, bloquear actualizaciones del antivirus o interferir con la activación de programas y servicios en línea.
Conviene restablecer o restaurar el archivo hosts cuando los problemas de acceso a sitios web están causados por asignaciones locales incorrectas. Es especialmente útil después de eliminar malware, después de usar scripts de bloqueo de anuncios o tras editar manualmente el archivo para pruebas.
El archivo hosts de Windows se almacena en la siguiente carpeta:
El archivo se llama hosts y normalmente no tiene extensión. No debe llamarse hosts.txt, hosts.ini ni hosts.bak si quieres que Windows lo utilice.
hosts.txt si el tipo de archivo está configurado como Documentos de texto (*.txt). Al guardar, elige Todos los archivos (*.*) y usa el nombre exacto hosts.
Un archivo hosts limpio de Windows puede contener solo comentarios y los ejemplos predeterminados de localhost. Las líneas que empiezan por # son comentarios y Windows las ignora.
# Copyright (c) Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost
También puedes usar una versión limpia mínima sin asignaciones activas:
# localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost
Antes de editar el archivo hosts, crea una copia de seguridad. Esto es útil si el archivo contiene entradas personalizadas legítimas para un servidor local, un entorno de desarrollo, una intranet, una máquina virtual o un dominio de pruebas.
C:\Windows\System32\drivers\etc.hosts_backup o hosts_original_backup.Este es el método más sencillo para la mayoría de los usuarios. El requisito clave es abrir el Bloc de notas con derechos de administrador, porque el archivo hosts está dentro de una carpeta protegida del sistema.
C:\Windows\System32\drivers\etc.Después de guardar el archivo, continúa con la sección para vaciar la caché DNS. Si no limpias la caché DNS, Windows o el navegador pueden seguir usando temporalmente resultados almacenados.
Si el archivo hosts está muy dañado, fue renombrado o resulta difícil editarlo manualmente, puedes reemplazarlo con un Símbolo del sistema elevado.
cd /d C:\Windows\System32\drivers\etc copy hosts hosts.bak attrib -r -s -h hosts type nul > hosts
Después añade el contenido mínimo predeterminado:
echo # localhost name resolution is handled within DNS itself. > hosts echo # 127.0.0.1 localhost >> hosts echo # ::1 localhost >> hosts
type nul > hosts borra el archivo hosts actual. Crea primero una copia de seguridad si puedes necesitar entradas personalizadas antiguas.
PowerShell es cómodo si quieres reemplazar el contenido del archivo de forma controlada. Ejecútalo como administrador y escribe un archivo hosts limpio y predeterminado.
$hostsPath = "$env:SystemRoot\System32\drivers\etc\hosts" Copy-Item $hostsPath "$hostsPath.bak" -ErrorAction SilentlyContinue @" # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost "@ | Set-Content -Path $hostsPath -Encoding ASCII
Esto crea una copia de seguridad llamada hosts.bak en la misma carpeta y escribe un archivo hosts limpio sin redirecciones activas.
Si Windows no te permite guardar los cambios, la causa habitual es la falta de privilegios de administrador, el atributo de solo lectura, la protección del antivirus o guardar el archivo con una extensión incorrecta.
| Problema | Qué hacer |
|---|---|
| El Bloc de notas dice que el acceso está denegado | Cierra el Bloc de notas y vuelve a abrirlo con Ejecutar como administrador. |
| El archivo se guarda como hosts.txt | Elige Todos los archivos (*.*) y nombra el archivo exactamente hosts. |
| El archivo es de solo lectura | Abre una terminal elevada y ejecuta attrib -r C:\Windows\System32\drivers\etc\hosts. |
| El software de seguridad bloquea los cambios | Permite el cambio temporalmente solo si estás seguro de que la edición es legítima. |
| No puedes ver el archivo | Cambia el filtro del cuadro Abrir de Documentos de texto a Todos los archivos. |
Después de restablecer el archivo hosts, limpia la caché del solucionador DNS de Windows. Esto obliga a Windows a descartar las búsquedas de dominio almacenadas y volver a leer información nueva.
ipconfig /flushdns
Si la operación se completa correctamente, Windows mostrará un mensaje indicando que la caché de resolución DNS se vació correctamente.
También es útil cerrar y volver a abrir el navegador. Algunos navegadores mantienen su propia caché DNS o un grupo de conexiones durante un breve período.
Después de restaurar el archivo, comprueba si los sitios web se resuelven normalmente. Puedes usar ping, nslookup y pruebas en el navegador.
Abre el Símbolo del sistema y ejecuta:
ping example.com
Si el archivo hosts no contiene ninguna entrada activa para el dominio, Windows debería resolverlo mediante DNS en lugar de una anulación local del archivo hosts.
Las entradas activas son líneas que no empiezan por # y no están vacías. Puedes revisarlas manualmente o usar PowerShell:
Get-Content "$env:SystemRoot\System32\drivers\etc\hosts" | Where-Object { $_ -and $_ -notmatch '^\s*#' }Si el comando no devuelve nada, no hay asignaciones activas en el archivo hosts.
No todas las entradas de hosts son maliciosas. Los desarrolladores, administradores, herramientas de bloqueo de anuncios y entornos de pruebas locales pueden usar el archivo de forma intencionada. Sin embargo, algunas entradas son una señal de advertencia.
hosts.txt no funcionará como archivo hosts de Windows.
ipconfig /flushdns y reiniciar el navegador. Reinicia Windows solo si el problema continúa o si otra aplicación conserva el estado de red anterior.
127.0.0.1, 0.0.0.0 u otra dirección inaccesible. Por eso restaurar el archivo hosts puede solucionar sitios web que están bloqueados solo en un PC con Windows.
hosts.txt, olvidar ejecutar el Bloc de notas como administrador, la caché DNS del navegador, escribir mal el dominio o colocar un # al inicio de la línea, lo que la convierte en un comentario.
La forma más fiable de restaurar el archivo hosts es abrir el Bloc de notas como administrador, abrir C:\Windows\System32\drivers\etc\hosts, reemplazar las entradas sospechosas por contenido limpio predeterminado, guardar el archivo sin extensión y luego ejecutar ipconfig /flushdns.
Si los sitios web están bloqueados, se redirigen o se comportan de forma diferente solo en un ordenador con Windows, el archivo hosts es uno de los primeros lugares que conviene revisar. Restablecerlo a un estado limpio predeterminado elimina las anulaciones locales de dominios y ayuda a recuperar la navegación normal basada en DNS.