¿Por qué no puedo bloquear Facebook usando / etc / hosts en Mountain Lion (OS X)?

34

Funcionó por un tiempo en la configuración anterior, pero luego dejó de funcionar por alguna razón.

Aquí está mi archivo / etc / hosts de mi Mountain Lion MacBook Air:

127.0.0.1 reddit.com www.reddit.com
127.0.0.1 facebook.com www.facebook.com
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost
fe80::1%lo0     localhost

Esto bloquea Reddit, pero no Facebook.

Intenté enjuagar el caché de DNS para la máquina ("sudo killall -HUP mDNSResponder"), los bowsers (FF y Chrome) e intenté reiniciar la computadora.

Y he movido las entradas a la parte superior del archivo siguiendo el consejo de este artículo , pero tampoco funcionaba antes cuando estaba en la parte inferior. Cada vez bloquearía Reddit pero no Facebook.

seanieb
fuente
2
Eso es raro. Tampoco funcionó para mí, me pregunto si tiene que ver con la integración de Facebook de ML. Estoy pensando en cómo probar esa teoría.
Jerry Seeger
1
Al buscar en la carpeta del sistema todas las menciones de facebook.com encontradas (entre otras) /System/Library/Caches/com.apple.internetaccounts.domainscache.plist, que me pareció el culpable más probable. No he intentado jugar con él, pero podría ser lo que estás buscando. Sin embargo, sería muy cauteloso.
Jerry Seeger
1
Estoy de acuerdo con @JerrySeeger porque es probablemente una función de la integración de Facebook. Dicho esto, ¿por qué estás bloqueando sitios con un método tan voluble? Si desea controlar el acceso a internet, obtenga un proxy.
ta.speot.is
Solo quiero bloquearlo ya que arruina mi productividad durante el día. No es un gran problema, pero lo más importante es que tengo mucha curiosidad sobre las razones técnicas por las que no puedo bloquearlo.
seanieb
1
¿Qué pasa en dig facebook.como nslookup facebook.com?
JohannesM

Respuestas:

43

harrymc está cerca, pero por alguna razón OS X (a partir de 10.8.2) no respeta la dirección de bucle invertido IPv6 de :: 1 (probablemente un error), por lo que debe usar fe80 :: 1% lo0. La razón por la que necesita bloquear IPv6 es porque Facebook le servirá su sitio a través de V6 si su ISP lo admite. Puede verificar esto fácilmente instalando un complemento de navegador que muestre un icono cuando se sirve un sitio a través de IPv6. La razón por la que esto no era un problema para usted antes es porque Facebook probablemente comenzó a servir su sitio recientemente a través de IPv6.

Entonces la respuesta correcta es:

# Block Facebook IPv4
127.0.0.1   www.facebook.com
127.0.0.1   facebook.com
127.0.0.1   login.facebook.com
127.0.0.1   www.login.facebook.com
127.0.0.1   fbcdn.net
127.0.0.1   www.fbcdn.net
127.0.0.1   fbcdn.com
127.0.0.1   www.fbcdn.com
127.0.0.1   static.ak.fbcdn.net
127.0.0.1   static.ak.connect.facebook.com
127.0.0.1   connect.facebook.net
127.0.0.1   www.connect.facebook.net
127.0.0.1   apps.facebook.com

# Block Facebook IPv6
fe80::1%lo0 facebook.com
fe80::1%lo0 login.facebook.com
fe80::1%lo0 www.login.facebook.com
fe80::1%lo0 fbcdn.net
fe80::1%lo0 www.fbcdn.net
fe80::1%lo0 fbcdn.com
fe80::1%lo0 www.fbcdn.com
fe80::1%lo0 static.ak.fbcdn.net
fe80::1%lo0 static.ak.connect.facebook.com
fe80::1%lo0 connect.facebook.net
fe80::1%lo0 www.connect.facebook.net
fe80::1%lo0 apps.facebook.com
Jesse Endahl
fuente
3
Hola Jesse, copié todo pegado en mi / etc / hosts y aún puedo acceder a Facebook. ¿Todavía me falta algo?
gruszczy
No funciona para mí eider. Traté de bloquearlo en mi enrutador también, otros sitios están bloqueados bien, pero no Facebook
adrianTNT
3
funcionó después de dejar de reiniciar el safari
Mujah Maskey
5

Intente agregar la siguiente línea en /etc/resolv.conf

lookup file, bind

Esto debería obligar a OS X a usar / etc / hosts antes que dns. El único problema es que si usa dhcp, este archivo se sobrescribirá cada reinicio.

John Siu
fuente
4

He sido pisoteado por esto también. Me gusta hacer solo los pasos necesarios y hackear solo los archivos de configuración necesarios y nada más. Aquí hay un resumen de lo que funciona y lo que no, lo que es necesario o no, a partir de hoy :

  • El truco de @ jesse-endahl funciona exactamente. Debe usarse fe80::1%lo0para el bucle invertido de IPv6, las entradas para ::1parecen ignorarse.

  • sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder -- innecesario

  • Añadiendo lookup file, binden /etc/resolv.conf- No es necesario

Una cosa importante a tener en cuenta al probar esto es que algunas aplicaciones tienen su propia caché de DNS. Por ejemplo, el navegador Chrome: que no tiene sentido para buscar direcciones IP en cada página de recarga, si la IP del facebook.comera 173.252.110.27un minuto atrás debe seguir siendo el mismo, ¿verdad? Esto hace que sea difícil probar cosas, porque Chrome tarda un par de minutos en expirar su caché. A menos que conozca un método para eliminarlo.

Un método de prueba que funcionó bien para mí es usar la función Nueva ventana de incógnito de Chrome. Cada vez que cambie algo /etc/hosts, abra una nueva ventana de incógnito para ver el resultado, y debería funcionar de inmediato. Las ventanas que no son de incógnito también funcionarán, eventualmente, solo toma un par de minutos.

Detener el daño continuo a Mónica
fuente
3

Intenta esto :

# Block Facebook IPv4
127.0.0.1   www.facebook.com
127.0.0.1   facebook.com
127.0.0.1   login.facebook.com
127.0.0.1   www.login.facebook.com
127.0.0.1   fbcdn.net
127.0.0.1   www.fbcdn.net
127.0.0.1   fbcdn.com
127.0.0.1   www.fbcdn.com
127.0.0.1   static.ak.fbcdn.net
127.0.0.1   static.ak.connect.facebook.com
127.0.0.1   connect.facebook.net
127.0.0.1   www.connect.facebook.net
127.0.0.1   apps.facebook.com
# Block Facebook IPv6
::1 www.facebook.com
::1 facebook.com
::1 login.facebook.com
::1 www.login.facebook.com
::1 fbcdn.net
::1 www.fbcdn.net
::1 fbcdn.com
::1 www.fbcdn.com
::1 static.ak.fbcdn.net
::1 static.ak.connect.facebook.com
::1 connect.facebook.net
::1 www.connect.facebook.net
::1 apps.facebook.com

Si esto no funciona, vea el artículo Bloquear Facebook que también sugiere:

  • Bloqueo de Facebook en el enrutador
  • Bloquee Facebook con una lista de bloqueo personalizada de OpenDNS

Si esto todavía no funciona, puede probar la aplicación SelfControl .

harrymc
fuente
El objetivo de esta pregunta no es simplemente dejarme bloquear Facebook, me gustaría entender por qué el archivo / etc / hosts no funciona.
seanieb
@seanieb Él ha vinculado esta respuesta a otra respuesta. Puedes encontrar la explicación allí.
3

Mac OS X El Capitan: Versión 10.11.5

Safari: 9.1.1

Tuve que usar una combinación de todas las respuestas anteriores para poder finalmente bloquear Facebook. Aquí están los contenidos de mi /etc/hosts archivo:

# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost
# Block Facebook
127.0.0.1   www.facebook.com
127.0.0.1   facebook.com
127.0.0.1   login.facebook.com
127.0.0.1   www.login.facebook.com
127.0.0.1   fbcdn.net
127.0.0.1   www.fbcdn.net
127.0.0.1   fbcdn.com
127.0.0.1   www.fbcdn.com
127.0.0.1   static.ak.fbcdn.net
127.0.0.1   static.ak.connect.facebook.com
127.0.0.1   connect.facebook.net
127.0.0.1   www.connect.facebook.net
127.0.0.1   apps.facebook.com
fe80::1%lo0 facebook.com
fe80::1%lo0 login.facebook.com
fe80::1%lo0 www.login.facebook.com
fe80::1%lo0 fbcdn.net
fe80::1%lo0 www.fbcdn.net
fe80::1%lo0 fbcdn.com
fe80::1%lo0 www.fbcdn.com
fe80::1%lo0 static.ak.fbcdn.net
fe80::1%lo0 static.ak.connect.facebook.com
fe80::1%lo0 connect.facebook.net
fe80::1%lo0 www.connect.facebook.net
fe80::1%lo0 apps.facebook.com
::1 www.facebook.com
::1 facebook.com
::1 login.facebook.com
::1 www.login.facebook.com
::1 fbcdn.net
::1 www.fbcdn.net
::1 fbcdn.com
::1 www.fbcdn.com
::1 static.ak.fbcdn.net
::1 static.ak.connect.facebook.com
::1 connect.facebook.net
::1 www.connect.facebook.net
::1 apps.facebook.com

Y extrañamente ... esto funcionó!

Pasos:

  1. En su terminal, ejecute sudo vi /etc/hosts o sudo pico /etc/hosts

  2. Guarde los contenidos anteriores. (del comentario # Block Facebook)

  3. En la terminal, corre dscacheutil -flushcache.

  4. En Safari, borra el caché. Seleccionar barra de menú Develop -> Empty Cache

  5. Puede que tenga que reiniciar su computadora. Y problema resuelto!

Meghna Natraj
fuente
Sí finalmente: D. Trabajando en Alemania con Mojave.
fl034
1

Intenta agregar estos

127.0.0.1 www.facebook.com

127.0.0.1 facebook.com 127.0.0.1 static.ak.fbcdn.net

127.0.0.1 www.static.ak.fbcdn.net

127.0.0.1 login.facebook.com

127.0.0.1 www.login.facebook.com

127.0.0.1 fbcdn.net

127.0.0.1 www.fbcdn.net

127.0.0.1 fbcdn.com

127.0.0.1 www.fbcdn.com

127.0.0.1 static.ak.connect.facebook.com

127.0.0.1 www.static.ak.connect.facebook.com

Entonces debería bloquearse.

Karan Raj Baruah
fuente