Saltar al contenido
GEEKnodes

Windows

Archivo hosts de Windows: qué es, cómo editarlo y por qué no funciona

Edita el archivo hosts de Windows 10 y 11 con permisos de administrador, bloquea webs, prueba un servidor antes de cambiar DNS y arregla cuando no hace caso.

El archivo hosts es una lista de nombres y direcciones IP que Windows consulta antes de preguntar a cualquier servidor DNS. Con él puedes bloquear una web en todo el equipo o ver tu nuevo servidor antes de que el dominio apunte a él. Aquí verás dónde está, cómo guardarlo sin el error de permisos y qué revisar cuando parece que Windows lo ignora.

En resumen

  • El archivo está en C:\Windows\System32\drivers\etc\hosts, no tiene extensión y solo se puede guardar con el editor abierto como administrador.
  • Cada línea es IP nombre: sirve para bloquear dominios (0.0.0.0) o para redirigirlos a otra IP.
  • Si no hace efecto, casi siempre es caché: ipconfig /flushdns, la caché propia del navegador o su DNS seguro.

Qué es el archivo hosts y cuándo se usa

Cuando escribes una dirección en el navegador, Windows tiene que traducir el nombre a una IP. El orden simplificado es este:

  1. Mira su caché DNS (respuestas recientes guardadas en memoria).
  2. Lee el archivo hosts. Sus entradas se cargan en esa misma caché.
  3. Si no encuentra el nombre, pregunta al servidor DNS configurado (el del router, el de tu operador o uno público).

Como el archivo hosts va antes que el servidor DNS, lo que pongas ahí manda para ese equipo. No afecta a los demás dispositivos de la red: solo al PC donde lo edites. Si quieres entender el resto del proceso, lo tienes explicado en el artículo sobre cómo funciona el DNS.

Formato de una entrada

Cada línea tiene una dirección IP, al menos un espacio o tabulador, y uno o varios nombres. Lo que va detrás de # es un comentario y Windows lo ignora.

Formato de una línea del archivo hosts: IP, espacio y nombre; 0.0.0.0 bloquea y una IP real redirige el dominio
Cada línea es IP y nombre: 0.0.0.0 bloquea y otra IP redirige.
# Bloquear un dominio
0.0.0.0        anuncios.ejemplo.com

# Redirigir un dominio a otro servidor
203.0.113.25   midominio.es www.midominio.es

Reglas que conviene tener claras:

  • No admite comodines. *.ejemplo.com no funciona: cada subdominio necesita su propia línea.
  • ejemplo.com y www.ejemplo.com son nombres distintos. Si solo pones uno, el otro sigue resolviendo por DNS.
  • No se ponen puertos ni rutas. Nada de http://, ni /carpeta, ni :8080.
  • Las mayúsculas dan igual.
UsoIP a ponerQué pasa
Bloquear una web0.0.0.0La conexión falla al momento
Bloquear (alternativa)127.0.0.1Intenta conectar a tu propio PC; si tienes un servidor local, puede responder él
Probar un servidor nuevoIP pública del servidorVes la web en ese servidor aunque el DNS apunte al antiguo
Desarrollo local127.0.0.1Un nombre como proyecto.test abre tu servidor local

0.0.0.0 es mejor para bloquear: no hay nada escuchando en esa dirección, así que el navegador desiste enseguida en lugar de esperar.

Cómo editar el archivo hosts con permisos de administrador

El archivo está protegido. Si lo abres con doble clic y lo cambias, al guardar Windows te dirá que no tienes permiso o te propondrá guardarlo en otra carpeta. La solución es abrir el editor ya elevado.

Con el Bloc de notas

  1. Pulsa Inicio y escribe Bloc de notas.
  2. Haz clic derecho sobre él y elige Ejecutar como administrador. Acepta el aviso del Control de cuentas de usuario.
  3. En el Bloc de notas, ve a Archivo > Abrir.
  4. Pega en la barra de dirección C:\Windows\System32\drivers\etc y pulsa Intro.
  5. Abajo a la derecha, cambia el filtro de Documentos de texto a Todos los archivos. Si no, el archivo no aparece porque no tiene extensión.
  6. Abre hosts, añade tus líneas al final y guarda con Ctrl + G.

Desde PowerShell, en una línea

Abre Terminal (Administrador) y ejecuta:

notepad C:\Windows\System32\drivers\etc\hosts

Al lanzarlo desde una consola elevada, el Bloc de notas también hereda los permisos de administrador.

También puedes añadir una línea sin abrir ningún editor:

Add-Content -Path "$env:windir\System32\drivers\etc\hosts" -Value "0.0.0.0 distracciones.ejemplo.com"

Haz una copia antes de tocar nada si el archivo ya tiene entradas que no son tuyas, por ejemplo de un programa de desarrollo o de una VPN:

Copy-Item "$env:windir\System32\drivers\etc\hosts" "$env:USERPROFILE\Desktop\hosts.bak"

Usos prácticos

Bloquear webs en un equipo

Es la forma más simple de cortar el acceso a un dominio en todo el PC, en cualquier navegador y programa. Sirve para quitar distracciones o para impedir que una aplicación contacte con un servidor concreto.

Tiene límites claros: no sirve como control parental serio. Cualquiera con permisos de administrador puede borrar la línea, y una VPN o un proxy lo saltan. Para bloquear publicidad en toda la casa, un DNS filtrante como Pi-hole es más cómodo que mantener listas en cada equipo.

Probar un servidor antes de cambiar las DNS

Este es el uso más valioso para quien gestiona webs. Imagina que migras midominio.es a un hosting nuevo con IP 203.0.113.25. Antes de cambiar los registros DNS quieres comprobar que todo funciona allí.

  1. Añade al hosts:

    203.0.113.25   midominio.es www.midominio.es
    
  2. Vacía la caché (siguiente apartado) y cierra el navegador del todo.

  3. Abre la web. Ahora la ves desde el servidor nuevo; el resto del mundo sigue viendo el antiguo.

  4. Comprueba páginas, formularios y acceso al panel.

  5. Cuando cambies las DNS reales, borra esas líneas. Si se te olvidan, dentro de meses seguirás viendo un servidor que quizá ya no existe y no entenderás por qué.

Ojo con HTTPS: si el servidor nuevo aún no tiene certificado para ese dominio, el navegador mostrará un aviso de seguridad. Es normal en esta fase.

Comprobar que la entrada se aplica

Usa ping, que pasa por el resolutor de Windows y por tanto lee el hosts:

ping midominio.es
ping lee el archivo hosts y muestra la IP nueva; nslookup pregunta directamente al servidor DNS y se lo salta
Comprueba con ping: nslookup ignora el archivo hosts por diseño.

La primera línea muestra la IP a la que resuelve. Si sale la tuya, Windows ya obedece.

No uses nslookup para esto. Pregunta directamente al servidor DNS y se salta el archivo hosts, así que siempre te enseñará la IP «real». Mucha gente cree que su hosts no funciona por culpa de esta confusión.

En PowerShell, Resolve-DnsName sí tiene en cuenta el hosts por defecto:

Resolve-DnsName midominio.es

Por qué a veces no funciona

La caché DNS de Windows

Windows guarda respuestas durante un tiempo. Si visitaste la web hace poco, puede seguir usando la IP antigua. Vacíala desde una consola:

ipconfig /flushdns

Para ver qué tiene guardado ahora mismo, usa ipconfig /displaydns.

La caché del navegador

Los navegadores basados en Chromium (Chrome, Edge, Brave) tienen su propia caché de nombres y reutilizan conexiones abiertas. Lo más fiable es cerrar el navegador por completo, no solo la pestaña. En Chrome también puedes abrir chrome://net-internals/#dns y pulsar Clear host cache.

El navegador usa DNS seguro o un proxy

Con DNS seguro (DNS sobre HTTPS) activado, el navegador puede resolver nombres por su cuenta en lugar de usar el sistema. Si sospechas que es esto, desactívalo un momento para probar: en Chrome está en Configuración > Privacidad y seguridad > Seguridad > Usar DNS seguro, y en Firefox en los ajustes de DNS sobre HTTPS. Lo mismo pasa con una VPN o un proxy: resuelven fuera de tu equipo y tu archivo hosts no cuenta.

El antivirus revierte o bloquea el cambio

Muchos programas maliciosos modifican el hosts para desviar webs de bancos o bloquear actualizaciones. Por eso Microsoft Defender y otros antivirus vigilan este archivo. Si añades ciertos dominios, sobre todo de Microsoft, Defender puede marcarlo como amenaza y restaurar el archivo. Revisa el historial de protección de Seguridad de Windows: si aparece una detección sobre el archivo hosts, sabrás quién lo ha deshecho.

El archivo se guardó con otro nombre

Si en el Bloc de notas no cambiaste el filtro a Todos los archivos, es fácil acabar con hosts.txt. Windows solo lee el archivo llamado exactamente hosts. Activa Ver > Mostrar > Extensiones de nombre de archivo en el Explorador para descubrirlo.

Errores habituales

  • Poner http:// o una ruta en la entrada. Solo va el nombre del dominio.
  • Olvidar la variante con www y creer que el bloqueo no funciona.
  • Comprobar con nslookup, que ignora el hosts por diseño.
  • Dejar entradas de prueba después de una migración y seguir viendo el servidor viejo.
  • Editar sin permisos y guardar una copia en Documentos que Windows nunca lee.
  • Usar *.dominio.com esperando que bloquee todos los subdominios.

Relacionados

Preferencias de accesibilidad

Perfiles rápidos

Texto y lectura

Tamaño del texto
Por defecto
Altura de línea
Por defecto
Espaciado entre letras
Por defecto
Espaciado entre palabras
Por defecto

Color

Movimiento y orientación

Cursor