¿Por qué falla la redirección de archivos de hosts?

¿Por qué falla la redirección de archivos de hosts?

Estoy intentando redirigir google.com a mi máquina local para divertirme y aprender con este archivo /etc/hosts en mi Mac.

127.0.0.1 www.google.com

Sin embargo, www.google.com todavía se asigna a la página de inicio de Google cuando la visito en Chrome en mi Mac. ¿Por qué?

Básicamente, esto es todo lo que hice:

  1. Escriba sudo vim /etc/hoststerminal.
  2. Ingresado 127.0.0.1 www.google.comen el archivo de hosts.
  3. Guardé y salí de vim.

Respuesta1

El hostsarchivo no funciona de esta manera. Solo puede usarlo para asignar nombres de host a direcciones IP, no a archivos localhost.

Para su caso, usaría 127.0.0.1 www.google.com, es decir, asignar www.google.com a 127.0.0.1.

Si desea asignar más nombres de host a una sola IP, simplemente agregue esos nombres de host en la misma línea, por ejemplo 127.0.0.1 www.a.com www.b.com.

Respuesta2

Un navegador web no es la mejor manera de comprobar si la hostssintaxis es correcta. Intenta ejecutar

ping www.google.com

y verifique que haga ping 127.0.0.1.

La razón por la que Chrome parece ignorar su hostsarchivo es el almacenamiento en caché:

Si Chrome ya ha consultado la IP últimamente (la definición de últimamente probablemente depende deltiempo de vivir (TTL)devuelto por el servidor DNS), omitirá el hostsarchivo, ya que yasabela IP correcta. Esto se hace para acelerar la navegación web.

Para que Chrome respete la nueva entrada, haga lo siguiente:

  1. Edite /etc/hostscomo lo describió @Renan.

  2. Ir a chrome://chrome/settings/clearBrowserData.

  3. Elegir since the beginning of time.

  4. Marque Empty the cache, pero desmarque todo lo demás.

  5. Haz clic Clear browsing datay espera a que termine.

  6. Reinicie Chrome.

Chrome debería respetar tu hostsarchivo ahora.

Respuesta3

Mi respuesta es una combinación de lo anterior porque me estoy conectando a mi oficina a través de Fortinet SSL VPN para Ubuntu 16.04.

Lo primero que tuve que hacer fue abrir la consola de mi terminal y ejecutar el siguiente comando:

sudo nano /etc/resolvconf/resolv.conf.d/base

Agregué el siguiente ejemplo:

searchdomain domain.local
nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx

Luego guardé el archivo presionando CTRL-Oy cerré nano presionando CTRL-X.

Luego hice lo siguiente y funcionó perfectamente:

Para que Chrome respete la nueva entrada, haga lo siguiente:

Edite /etc/hostscomo lo describió @Renan.

  1. Ir a chrome://chrome/settings/clearBrowserData.
  2. Elige desde el principio de los tiempos.
  3. Marque Vaciar el caché, pero desmarque todo lo demás.
  4. Haga clic en Borrar datos de navegación y espere a que finalice.
  5. Reinicie Chrome.

Chrome debería respetar su archivo de hosts ahora.

información relacionada