Según mi propia experiencia y lo que encontré mientras buscaba en Google, aquí hay algunas cosas para probar:
1. ¿Verificaste que funciona correctamente?
Los cambios en los hosts deberían tener efecto de inmediato, 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, Enter) y escriba:
ipconfig /flushdns
Para descartar los datos antiguos. Para verificar si funciona, use (suponiendo que tenga una entrada ipv4 en sus hosts para www.example.com, o una entrada ipv6 en sus hosts para ipv6.example.com):
ping www.example.com -n 1
ping -6 ipv6.example.com -n 1
Y vea si usa la IP correcta. En caso afirmativo, su archivo de 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é DNS con:
ipconfig /displaydns | more
2. Conceptos básicos
- ¿Su archivo de hosts está nombrado correctamente? Debería ser
hostsy no host, etc.
- ¿Es correcta la extensión? No debe tener extensión (
hostsno hosts.txt): tenga cuidado si ha configurado ventanas para ocultar extensiones conocidas, verifique las propiedades para estar seguro: el tipo de archivo de host correcto aparecerá como "Archivo".
- ¿Seguiste la sintaxis correcta ? ¿Accidentalmente prefijaste líneas con un hash (
#) que indica comentarios?
- ¿Se ocupó de todas las variantes (
www.example.comy example.com- lo más seguro es simplemente agregar ambas)?
3. Espacio en blanco
El formato para cada línea es IP address, luego, una pestaña horizontal (código de escape \t, ASCII HT, hexadecimal 0x09) o un solo espacio (hexadecimal 0x20), luego el nombre de host, es decir. www.example.com, luego finalmente un retorno de carro seguido de un avance de línea (códigos de escape \r\n, ASCII CRLF, hexadecimal 0x0d 0x0a).
Entradas de muestra, utilizando imágenes de control Unicode para indicar caracteres de control. (¡No copie y pegue estos en su archivo de hosts!)
192.0.2.1␉www.example.com␍␊
2001:db8:8:4::2␉ipv6.example.com␍␊
Los bytes individuales se pueden ver en Notepad ++ con el complemento de 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 espacios 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 múltiples espacios que separan las dos columnas, pero es otra cosa probar si nada más funciona.
Para estar seguro, asegúrese de que todas las líneas en su archivo de hosts usen tabulaciones o espacios, no ambos.
Por último, finalice el archivo con una línea en blanco.
4. Clave de registro
Hay una clave de registro que especifica la ubicación del archivo de hosts. Supuestamente, Windows no admite colocar el archivo de hosts en otras ubicaciones, pero es posible que desee verificar. 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:
- Crea un nuevo archivo de texto en tu escritorio.
- Copie y pegue el contenido de su archivo de hosts actual en este archivo en el Bloc de notas.
- Guarde el nuevo archivo de texto y cámbiele el nombre a
hosts.
- Copie ( no mueva ) el archivo a su
%SystemRoot%\System32\drivers\etcdirectorio y sobrescriba el archivo anterior.
El último punto es importante: la copia funciona, el movimiento no.
La Userscuenta local debe poder leer el archivo de hosts . Para asegurarse (en Windows 7):
- Navega hasta
%SystemRoot%\System32\drivers\etcen el Explorador de Windows.
- Si no puede ver el
hostsarchivo, asegúrese de que puede ver los archivos ocultos y del sistema .
- Haga clic derecho en el
hostsarchivo y seleccione Propertiesdel menú contextual.
- En la
hosts Propertiesventana, haga clic en la Securitypestaña.
- Examine la lista de nombres en el
Group or user names:cuadro. Si %COMPUTERNAME%\Usersestá presente, haga clic en él para ver los permisos.
- Si
Usersno está presente, o está presente pero no tiene Readpermiso, haga clic en Edit....
- Si
Usersno está presente, haga clic Add..., escriba Users, haga clic Check Namesy haga clic en Aceptar o presione Entrar.
- Seleccione
Usersy asegúrese de que Read & executeesté marcado en la Allowcolumna. Haga clic en Aceptar. Si Windows Securityaparece un cuadro de alerta, elija Yescontinuar.
- Haga clic en Aceptar para cerrar la
hosts Propertiesventana.
- 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 estar codificado en ANSI o UTF-8 sin BOM. Puede 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 que no lo haga.
Para verificar, vaya a su Internet Explorer -> Opciones de Internet -> Conexiones -> Configuración de LAN. Si todo está en blanco y la opción "Detectar configuraciones automáticamente" 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 yendo a Internet Explorer -> Opciones de Internet -> Conexiones -> Configuración de LAN -> Servidor proxy / Avanzado. Luego agregue sus excepciones al cuadro de texto Excepciones. P.ejlocalhost;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 de hosts funcione , pero puede ayudar en su caso si algo está configurado de manera extraña.
9. direcciones locales
Si está utilizando una entrada de dominio .local en 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.