Pregunta archivo de hosts ignorado, cómo solucionar problemas?


El archivo de hosts en las computadoras con Windows se usa para vincular ciertas cadenas de nombre 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 tener efecto, o que incluso las entradas antiguas del archivo de hosts se ignoran a partir de entonces. Una serie de errores "gotcha" pueden causar esto, y puede ser frustrante descubrir cuál.

Cuando se enfrenta al problema de que Windows ignore un archivo de hosts, ¿qué es un protocolo de solución de problemas completo que se puede seguir?


Esta pregunta tiene duplicados en SO, tales como Archivo HOSTS siendo ignorado 

Sin embargo, estos tienden a tratar con un caso específico, y una vez que se descubre el error cometido por el OP, se termina la discusión. Si no ha cometido el mismo error, tal 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 cubrirían todos casos.


121
2017-11-26 16:28


origen


Además, como alguien publicado en otro lugar, no use "nslookup" para probar esto porque ese comando ignora el archivo de hosts. Más bien usar "ping". - LatinSuD


Respuestas:


Basado en mi propia experiencia y en lo que encontré mientras buscaba en Google, aquí hay algunas cosas que debe probar:

1. ¿Comprobaste que funciona correctamente?

Los cambios en los hosts deben entrar en vigencia inmediatamente, pero Windows almacena en caché los datos de resolución de nombres, por lo que durante algún tiempo se pueden usar los registros antiguos. Abra una línea de comando (Windows + R, cmd, Ingrese) y escriba:

ipconfig /flushdns

Para soltar los datos antiguos. Para verificar si funciona, utilice (asumiendo que tiene una entrada de ipv4 en sus hosts para www.example.com, o una entrada de ipv6 en sus hosts para ipv6.example.com):

ping www.example.com -n 1
ping -6 ipv6.example.com -n 1

Y ver si usa la IP correcta. Si es así, su archivo hosts está bien y el problema está en otra parte.

Además, puede restablecer el caché de NetBios con (abra la consola como administrador o fallará):

nbtstat -R

Puede verificar los datos actuales en el caché de DNS con:

ipconfig /displaydns | more

2. Conceptos básicos

  • ¿Es su nombre de archivo hosts correctamente? Debería ser hosts y no host, etc.
  • ¿Es correcta la extensión? No debería tener extensión (hosts no hosts.txt): tenga cuidado si ha configurado ventanas para ocultar las extensiones conocidas, verifique las propiedades para asegurarse: el tipo de archivo de host correcto se mostrará como "Archivo".
  • Seguiste el sintaxis correcta? ¿Prefieres accidentalmente las líneas con un hash (#) que indica comentarios?
  • ¿Te ocupaste de todas las variantes (www.example.com y example.com - lo mas seguro es solo agregar ambos)?

3. espacios en blanco

El formato para cada línea es IP address, luego una pestaña horizontal (código de escape \tASCII HThexadecimal 0x09) o un solo espacio (hex 0x20), entonces el nombre del host, es decir. www.example.com, luego finalmente un retorno de carro seguido de un salto de línea, (códigos de escape \r\nASCII CRLFhexadecimal 0x0d 0x0a).

Entradas de muestra, utilizando imágenes de control Unicode para indicar caracteres de control. (¡No copie y pegue esto en su archivo de hosts!)

192.0.2.1␉www.example.com␍␊
2001:db8:8:4::2␉ipv6.example.com␍␊

Los bytes individuales pueden verse en Bloc de notas ++ con el plugin editor hexadecimal. Notepad ++ también mostrará caracteres especiales (Ver -> Mostrar símbolo) para que pueda inspeccionar fácilmente el número y el tipo de caracteres de espacio en blanco.

Si copió y pegó entradas de hosts desde algún lugar, puede terminar con múltiples espacios. En teoría, los hosts admiten varios espacios que separan las dos columnas, pero es otra cosa que probar si nada más funciona.

Para estar seguro, asegúrese de que todas las líneas en su archivo de hosts utilicen tabulaciones o espacios, no ambos.

Por último, termine el archivo con una línea en blanco.

4. Clave de registro

Hay una clave de registro que especifica la ubicación del archivo hosts. Supuestamente, Windows no admite realmente colocar el archivo de hosts en otras ubicaciones, pero es posible que desee verificarlo. La clave es:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath

La entrada debe ser:

%SystemRoot%\System32\drivers\etc

5. Permisos

A veces hay problemas con los permisos en el archivo, los atributos del archivo y cosas similares. Para recrear el archivo con permisos predeterminados:

  1. Crea un nuevo archivo de texto en tu escritorio.
  2. Copie y pegue el contenido de su archivo de hosts actual en este archivo en el Bloc de notas.
  3. Guarda el nuevo archivo de texto y renómbrelo a hosts.
  4. Dupdo (no te muevas) el archivo a su %SystemRoot%\System32\drivers\etc directorio, y sobrescribir el archivo antiguo.

El último punto es importante: copiar trabajos, mover no.

El local Users cuenta debe ser capaz de leer el archivo hosts. Para asegurarse (en Windows 7):

  1. Navegar a %SystemRoot%\System32\drivers\etc en el Explorador de Windows.
  2. Si no puedes ver el hosts expediente, Asegúrate de que puedes ver archivos ocultos y de sistema.
  3. Haga clic derecho en el hosts archivar y seleccionar Properties desde el menú contextual.
  4. En el hosts Properties ventana, haga clic en el Security lengüeta.
  5. Examine la lista de nombres en el Group or user names: caja. Si %COMPUTERNAME%\Users está presente, haga clic en él para ver los permisos.
  6. Si Users no está presente, o está presente pero no tiene Read permiso, haga clic Edit....
  7. Si Users no está presente, haga clic Add..., tipo Users, haga clic Check Namesy haga clic en Aceptar o presione Entrar.
  8. Seleccionar Usersy asegurar Read & execute se comprueba en el Allow columna. Haga clic en Aceptar. Si un Windows Security el cuadro de alerta aparece, elige Yes continuar.
  9. Haga clic en Aceptar para cerrar el hosts Properties ventana.
  10. Vaya a la sección 1 de esta respuesta y siga las instrucciones para verificar si está funcionando ahora.

6. Codificación

El archivo de hosts debe codificarse en ANSI o UTF-8 sin BOM. Puedes hacer esto con Archivo -> Guardar como.

7. proxies

Si tiene un proxy configurado, puede omitir el archivo de hosts. La solución es no usar el proxy, o configurarlo para no hacer esto.

Para verificarlo, vaya a su Internet Explorer -> Opciones de Internet -> Conexiones -> configuración de LAN. Si todo está en blanco y la opción "Detectar automáticamente la configuración" está marcada, no está utilizando un proxy.

Si confía en un proxy para acceder a la web y, por lo tanto, no desea deshabilitarlo, puede agregar excepciones al ir a Internet Explorer -> Opciones de Internet -> Conexiones -> Configuración de LAN -> Servidor proxy / Avanzado. Luego agregue sus excepciones al cuadro de texto Excepciones. P.ej. localhost;127.0.0.1;*.dev

8. dirección DNS

(Esto también puede resolver problemas de proxy).

Vaya a las propiedades de sus conexiones de red, luego a la configuración de TCP / IP y cambie el primer servidor DNS a 127.0.0.1 (localhost). El segundo probablemente debería ser la IP de su DNS real.

Esto no es necesario para que el archivo hosts funcione., pero puede ayudar en su caso si algo se configura de forma extraña.

9. Direcciones locales.

Si está utilizando una entrada de dominio .local en la forma de myhost.local y se ignora, intente lo siguiente

x.x.x.x myhost.local www.myhost.local

incluso si el www.myhost.local no existe. Windows de alguna manera no agrega su grupo de trabajo o dominio local.


184
2017-11-26 16:28



¡MUCHAS GRACIAS! Casi estoy llorando, muchos de los nuestros se están volviendo locos por un ESPACIO al comienzo de una entrada en blanco entre 2 líneas. Gracias Gracias Gracias Gracias Gracias!
Otro problema es que las versiones de Windows de 64 bits redireccionan la carpeta System32 para aplicaciones de 32 bits (como Notepad ++) para que cuando guarde el archivo aparezca en la carpeta SystemWOW64 en lugar de System32. La mejor solución es usar la versión de Windows del Bloc de notas que es de 64 bits. La segunda mejor opción es conectarse al recurso compartido administrativo (\\ su nombre de máquina \ c $ \ Windows \ System32 \ drivers \ etc) para abrir el archivo si utiliza un editor de 32 bits. - Tim Lewis
Buen post, pero con un par de errores. 1) "Detectar la configuración automáticamente" en IE puede llevarlo (incluso sin saberlo) a usar un proxy, si su red realmente proporciona la configuración automática del proxy. 2) Cambiar sus servidores DNS en la configuración de red no tiene nada que ver con cómo / cuándo / si el hosts se usa el archivo, y cambiarlo a 127.0.0.1 es efectivamente un error, a menos que realmente esté ejecutando un servidor DNS en su computadora. - Massimo
# 5 (crear un nuevo archivo y copiarlo) hizo el truco por mí. Win7 puede ser divertido con permisos. - chris
Edité el archivo hosts bajo Cygwin usando vim, creo que esto causó que el problema para que mi archivo hosts dejara de funcionar. Tuve que crear un nuevo archivo, copié el contenido del archivo de hosts anterior y lo arreglé. - forloop


Asegúrate de haber puesto primero la dirección ip y luego el "dominio" como este:

127.0.0.1   bo.dev
127.0.0.1   www.bo.dev

13
2018-06-04 12:20



Prefiero usar una sola línea: 127.0.0.1 bo.dev www.bo.dev ftp.bo.dev - Xhynk
¡Cuidado, el archivo de hosts de Windows solo permite NINE O LESS entradas por línea! Esto me mordió y tardé un rato en averiguarlo. - andrew
No use el .dev TLD localmente pensando que no obtendrás colisiones. Es un TLD global genérico válido propiedad de Google, y tendrá muchos problemas para usarlo. Ver ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts - Patrick Mevzek


Por favor agregue los permisos de verificación de archivos. Descubrí que aunque tenía derechos de administrador local en la computadora y, por lo tanto, en los hosts. No fue hasta que agregué usuarios locales a los permisos del archivo de hosts con Lectura y Lectura y Ejecución y luego un ipconfig / flushdns Que los anfitriones se activaron.


10
2017-10-09 23:29



¡Eso fue todo! Me ha desconcertado este problema por años. yo añadí (machine)\USERS con Leer y Leer y ejecutar permisos y despues ipconfig /flushdns funcionó. Muchas gracias. Estoy muy contento de finalmente tener mi archivo de hosts de vuelta. - Clement Cherlin


En mis casos probé el archivo creado con Windows 7: C: \ Windows \ System32 \ drivers \ etc \ hosts.ics.

hosts.ics:

# This file has been automatically generated for use by Microsoft Internet
# Connection Sharing. It contains the mappings of IP addresses to host names
# for the home network. Please do not make changes to the HOSTS.ICS file.
# Any changes may result in a loss of connectivity between machines on the
# local network.

Como resultado, Windows ignora la configuración en C: \ Windows \ System32 \ drivers \ etc \ hosts y la usa desde hosts.ics.


4
2017-09-24 20:56



Desde support.microsoft.com/en-us/kb/309642/en-us, que es antiguo por lo que tal vez ya no es exacto: "ICS utiliza el archivo Hosts.ics para almacenar información sobre clientes configurados dinámicamente. Evite realizar cambios en este archivo para evitar la pérdida de conectividad o datos. El archivo Hosts (sin extensión de nombre de archivo) es el archivo al que agrega información sobre clientes configurados estáticamente ". Entonces, NO esperaría que Windows ignorara el Hosts archivo solo porque Hosts.ics está presente. Otra cosa podría estar causando que Windows ignore sus archivos de Hosts, como una extensión incorrecta (pero oculta). - Arjan
Veo esta información. Pero no sé, por qué pude hacer que los hosts funcionen solo edité hosts.ics. Antes de editar hosts.ics, probé todos los métodos de este tema, pero los hosts no funcionan. - Unick


Estaba experimentando el mismo problema, las entradas de archivos de hosts se ignoran. Intenté todo en este y muchos otros hilos sin suerte. Pensé que publicaría lo que funcionó para mí en caso de que alguien más encuentre esto.

  1. Abra el Explorador de Windows como administrador
  2. ELIMINAR el archivo hosts
  3. Abra el bloc de notas como administrador y cree un nuevo archivo de hosts
  4. Comience desde cero y agregue entradas.
  5. Asegúrate de que el archivo hosts no tenga la extensión .txt

Nota: simplemente abriendo el archivo hosts y eliminando el contenido, verificando que era 0kb y volviendo a agregarlo no funcionó. Sospecho un problema de permisos en el archivo.


2
2018-02-18 00:05





Han pasado horas, probablemente días en esto.

La seguridad de IBM Trusteer Endpoint Rapport puede causar este problema.

Había añadido mysite.com a su lista de sitios de confianza.

Creo que, como parte de su seguridad, evita que el malware o los virus lo desvíen a sitios alternativos.

Tomó mi sitio de la lista de sitios de confianza y ya no verifica y "corrige" el desvío de archivos de mi host.

Espero que ayude a alguien a resolver su problema.


1
2018-02-16 21:00





Un problema que se omite en la discusión anterior son los nombres no calificados (nombres que no incluyen un punto) en el archivo hosts. La configuración de su red podría iniciarse en ese punto y agregar automáticamente su propio dominio al final de un dominio no calificado. Por consiguiente, es posible que el nombre no se resuelva, o peor aún, que se resuelva en una máquina completamente diferente.


1
2018-05-06 07:20





En Windows, asegúrese de que HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters \ DataBasePath esté apuntando al directorio del archivo de hosts.


0
2018-03-18 06:56