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
hosts
y no host
, etc.
- ¿Es correcta la extensión? No debe tener extensión (
hosts
no 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.com
y 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\etc
directorio y sobrescriba el archivo anterior.
El último punto es importante: la copia funciona, el movimiento no.
La Users
cuenta local debe poder leer el archivo de hosts . Para asegurarse (en Windows 7):
- Navega hasta
%SystemRoot%\System32\drivers\etc
en el Explorador de Windows.
- Si no puede ver el
hosts
archivo, asegúrese de que puede ver los archivos ocultos y del sistema .
- Haga clic derecho en el
hosts
archivo y seleccione Properties
del menú contextual.
- En la
hosts Properties
ventana, haga clic en la Security
pestaña.
- Examine la lista de nombres en el
Group or user names:
cuadro. Si %COMPUTERNAME%\Users
está presente, haga clic en él para ver los permisos.
- Si
Users
no está presente, o está presente pero no tiene Read
permiso, haga clic en Edit...
.
- Si
Users
no está presente, haga clic Add...
, escriba Users
, haga clic Check Names
y haga clic en Aceptar o presione Entrar.
- Seleccione
Users
y asegúrese de que Read & execute
esté marcado en la Allow
columna. Haga clic en Aceptar. Si Windows Security
aparece un cuadro de alerta, elija Yes
continuar.
- Haga clic en Aceptar para cerrar la
hosts Properties
ventana.
- 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.