archivo de hosts ignorado, ¿cómo solucionar el problema?
El archivo de hosts en los ordenadores Windows se utiliza para vincular ciertas cadenas de nombres a direcciones IP específicas para anular otros métodos de resolución de nombres.
A menudo, uno decide cambiar el archivo de hosts, y descubre que los cambios se niegan a surtir efecto, o que incluso las entradas antiguas del archivo de hosts son ignoradas a partir de entonces. Un número de "gotcha" errores pueden causar esto, y puede ser frustrante para averiguar cuál.
Ante el problema de que Windows ignore un archivo de hosts, ¿cuál es el protocolo de solución de problemas que se puede seguir?
Esta pregunta tiene duplicados en SO, como https://serverfault.com/questions/50934/hosts-file-being-ignored
Sin embargo, estos tienden a tratar un caso específico, y una vez que se descubre el error que cometió el OP, la discusión ha terminado. Si por casualidad no has cometido el mismo error, esta discusión no es muy útil. Así que pensé que sería más útil tener un protocolo general para resolver todos los problemas relacionados con los hosts que cubriera todos los casos.
Basándome en mi propia experiencia y en lo que he encontrado al buscar en Google, aquí hay algunas cosas que se pueden probar:
1. ¿Has comprobado que funciona correctamente?
Los cambios en los hosts deberían surtir efecto inmediatamente, pero Windows almacena en caché los datos de resolución de nombres, por lo que durante algún tiempo pueden utilizarse los registros antiguos. Abre una línea de comandos (Windows+R,
cmd
, Enter) y escribe:Para eliminar los datos antiguos. Para comprobar si funciona, utilice (suponiendo que tiene una entrada ipv4 en sus hosts para www.example.com, o una entrada ipv6 en sus hosts para ipv6.ejemplo.com)
Y mira si utiliza la IP correcta. Si es así, tu archivo de hosts está bien y el problema está en otra parte. Además, puedes restablecer la caché de NetBios con (abre la consola como administrador o fallará):
Puedes comprobar los datos actuales de la caché DNS con:
2. Lo básico
hosts
y nohost
, etc.hosts
nohosts.txt
) - tenga cuidado si ha configurado Windows para ocultar las extensiones conocidas, compruebe las propiedades para estar seguro: El tipo de archivo hosts correcto aparecerá simplemente como "Archivo".#
) que indica comentarios?www.example.com
yejemplo.com
- lo más seguro es añadir ambas)?3. Espacios en blanco
El formato de cada línea es
dirección IP
, luego un tabulador horizontal (código de escapet
, ASCIIHT
, hex0x09
) o un solo espacio (hex0x20
), luego el nombre del host, es decirwww.example.com
, luego finalmente un retorno de carro seguido de un avance de línea, (códigos de escaper\n
, ASCIICRLF
, hex0x0d 0x0a
). Entradas de ejemplo, utilizando imágenes de control Unicode para indicar los caracteres de control. (¡No copie y pegue esto en su archivo de hosts!)Los bytes individuales pueden ser vistos en Notepad++ con el plugin del editor hexadecimal. Notepad++ también mostrará los caracteres especiales (View -> Show Symbol) para que puedas inspeccionar fácilmente el número y tipo de caracteres de los espacios en blanco. Si has copiado y pegado las entradas de hosts desde algún sitio, puedes acabar con múltiples espacios. En teoría, los hosts soportan múltiples espacios que separan las dos columnas, pero es otra cosa que hay que probar si nada más funciona. Para estar seguro, asegúrate de que todas las líneas de tu archivo de hosts utilizan tabulaciones o espacios, no ambos. Por último, termine el archivo con una línea en blanco.
4. Clave del Registro
Hay una clave de registro que especifica la ubicación del archivo de hosts. Supuestamente, Windows no admite poner el archivo de hosts en otras ubicaciones, pero es posible que quiera comprobarlo. La clave es
La entrada debería ser:
5. Permisos
A veces hay problemas con los permisos del archivo, los atributos del archivo y cosas similares. Para recrear el archivo con los permisos por defecto:
hosts
.%SystemRoot%\System32\drivers\etc
, y sobrescriba el archivo antiguo. El último punto es importante: Copiar funciona, mover no. La cuenta localUsers
debe ser capaz de leer el archivo hosts. Para asegurarse (en Windows 7):%SystemRoot%\System32\drivers\etc
en el Explorador de Windows.hosts
, [asegúrese de que puede ver los archivos ocultos y del sistema] (https://superuser.com/questions/101999/how-do-you-show-hidden-system-folders-in-windows-7).hosts
y seleccionePropiedades
en el menú contextual.propiedades de hosts
, haz clic en la pestañaSeguridad
.Nombres de grupo o de usuario:
. 6. Si está presente%COMPUTERNAME%\Users
, haga clic en él para ver los permisos.Users
no está presente, o está presente pero no tiene permiso deRead
, haga clic enEdit...
.Users
no está presente, haga clic enAdd...
, escribaUsers
, haga clic enCheck Names
, y haga clic en OK o pulse Enter.Seguridad de Windows
, elijaSí
para continuar.Propiedades de los hosts
.6. Codificación
El archivo hosts debe estar codificado en ANSI o UTF-8 sin BOM. Usted puede hacer esto con Archivo -> Guardar como.
7. Proxies
Si tiene un proxy configurado, puede saltarse el archivo de hosts. La solución es no usar el proxy, o configurarlo para que no lo haga. Para comprobarlo, vaya a su Internet Explorer -> Opciones de Internet -> Conexiones -> Configuración de la LAN. Si todo está en blanco y "Detectar automáticamente la configuración" está marcada, usted no está utilizando un proxy. Si depende de un proxy para acceder a la web y, por tanto, no quiere desactivarlo, puede añadir excepciones yendo a Internet Explorer -> Opciones de Internet -> Conexiones -> Configuración de LAN -> Servidor Proxy / Avanzado. A continuación, añada sus excepciones en el cuadro de texto Excepciones. Por ejemplo,
localhost;127.0.0.1;*.dev
.8. Dirección DNS
(Esto también puede resolver los problemas de proxy). Vaya a las propiedades de sus conexiones de red, luego a la configuración TCP/IP, y cambie el primer servidor DNS a
127.0.0.1
(localhost). El segundo debe ser probablemente su IP real de DNS's. Esto no es necesario para que el archivo de hosts funcione, pero puede ayudar en tu caso si algo está configurado de forma extraña.9. Direcciones .local
Si está usando una entrada de dominio .local en la forma de mihost.local y es ignorada, por favor pruebe lo siguiente
incluso si el www.myhost.local no existe. Windows de alguna manera no agrega su grupo de trabajo o localdomain.
Asegúrate de haber puesto primero la dirección ip y luego el "dominio" así:
En mis casos probé con el archivo creado por Windows 7: C:\NWindows\NSystem32\Ndrivers\Netc\Nhosts.ics.
hosts.ics:
Como resultado, Windows ignora la configuración en C:\Windows\System32\drivers\etc\hosts y la utiliza desde hosts.ics.