¿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?


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 .

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.


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 .


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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.