为什么我不能使用Mountain Lion(OS X)上的/ etc / hosts阻止Facebook?

Modified on: Tue, 19 Mar 2019 04:00:02 +0800

它在旧配置中工作了一段时间,但由于某种原因停止了工作。

这是我的Mountain Lion MacBook Air中的/ etc / hosts文件:

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

这阻止了Reddit,但不是Facebook。

我已经尝试刷新机器的DNS缓存(“sudo killall -HUP mDNSResponder”),bowsers(FF和Chrome),我尝试重新启动计算机。

我已将条目移到这篇文章的建议,但它在它底部之前也没有用。每次它都会阻止Reddit而不是Facebook。

作者:,seanieb

最佳答案

harrymc很接近,但由于某种原因OS X(截至10.8.2)不尊重:: 1的IPv6环回地址(可能是一个bug),所以你必须使用fe80 :: 1%lo0。您需要阻止IPv6的原因是,如果您的ISP支持,Facebook将通过V6为您的站点提供服务。您可以通过安装浏览器插件轻松验证这一点,该插件在通过IPv6提供网站时显示图标。这对你来说不是问题的原因是因为Facebook最近才开始通过IPv6服务他们的网站。

所以正确的答案是:

# 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

相关问答

添加新评论