¿Cómo puedo hacer que OSX Mavericks note un cambio de DNS en `/ etc / hosts`?

24

Una forma común de "bloquear" un sitio web (por ejemplo, eliminarlo como una distracción) es editar /etc/hostsy apuntar el dominio a la dirección de bucle invertido. P.ej:

# Stop goofing off
127.0.0.1 youtube.com

En Mavericks, encuentro que cambios como este son aparentemente ignorados por el sistema operativo; después de editar el archivo (con sudo) y guardarlo, el sitio que debe bloquearse aún se carga.

Intenté restablecer mi caché DNS de la siguiente manera:

dscacheutil -flushcache
sudo killall -HUP mDNSResponder

Pero el sitio aún se carga.

¿Cómo puedo hacer que OSX Mavericks note un cambio /etc/hosts?

Nathan Long
fuente
1
¿Podría ser que el caché de DNS del navegador no está enjuagado? ¿Qué IP ping youtube.comusa?
Leonid Shevtsov
Nota al margen: si está utilizando DNS para bloquear sitios temporalmente, selfcontrolapp.com para OSX funciona bien. Modifica el archivo de hosts y parece vaciar automáticamente la memoria caché del navegador. También mencionan aplicaciones similares para otras plataformas: github.com/SelfControlApp/selfcontrol/wiki/FAQ
Nathan Long

Respuestas:

19

Según la página del manual de hosts (5) , el /etc/hostsarchivo es utilizado por mDNSResponder. Sus intentos están vaciando correctamente el caché ancho de la computadora, pero también necesita vaciar el caché privado del navegador.

Después de cada edición de /etc/hostsrestablecer el mDNSRespondercaché utilizando esta nota técnica de Apple, OS X: Cómo restablecer el caché DNS :

sudo dscacheutil -flushcache

Después de hacer esto, restablezca las memorias caché de su navegador :

  • Safari: use el elemento de menú Safari > Restablecer Safari .
  • Chrome: use el elemento de menú Chrome > Borrar datos de navegación .
Graham Miln
fuente
1
Esto lo solucionó. En "Borrar datos de navegación" de Chrome, hay casillas de verificación para los tipos de datos. "Vaciar el caché" es el relevante.
Nathan Long
5

Elimine el caché de su navegador y agréguelo 127.0.0.1 www.youtube.coma su archivo host.

youtube.comresuelve a www.youtube.com. Su navegador está almacenando en caché esa información y lo redirige a la página www.

napa
fuente
0

En OS X 10.9 Mavericks, hay problemas al intentar enumerar múltiples nombres de host en la misma línea de / etc / hosts. Traté de todos los otros consejos relacionados con DNS en esta publicación y la publicación relacionada en vano, hasta que me topé con el enlace de "problemas" anterior.

Solía ​​tener algo como esto:

127.0.0.1 localhost host1 host2 host3 ...

pero descubrí que la resolución de esos hosts tardaría una eternidad o no funcionaría en absoluto. Intentar acceder a los sitios a través de navegadores generalmente estaría bien (aunque a veces es muy lento para resolverlo), pero intentar hacer ping desde la línea de comando no funcionaría.

Cambiarlo al siguiente formato hizo que todo funcionara bien para mí, y ahora las cosas funcionan muy bien con ping, en el navegador y en cualquier otro lugar:

127.0.0.1 localhost
127.0.0.1 host1
127.0.0.1 host2
127.0.0.1 host3

Más detalles .

Scott Dudley
fuente
0

Además de la respuesta de Graham, pruebe chrome: // net-internals / # dns (para Google Chrome) para ver qué se almacena en caché. Luego haga clic en Borrar caché de host para borrarlo todo.

David Hempy
fuente