sea*_*ieb 34 hosts-file osx-mountain-lion macos
它在旧配置中工作了一段时间,但由于某种原因停止工作。
这是我的 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
Run Code Online (Sandbox Code Playgroud)
这会阻止 Reddit,但不会阻止 Facebook。
我试过刷新机器的 DNS 缓存(“sudo killall -HUP mDNSResponder”),浏览器(FF 和 Chrome),我试过重新启动计算机。
我已经按照本文的建议将条目移到文件的顶部,但之前它在底部时也不起作用。每次它都会阻止 Reddit 但不会阻止 Facebook。
Jes*_*ahl 44
harrymc 很接近,但出于某种原因,OS X(从 10.8.2 开始)不尊重 ::1 的 IPv6 环回地址(可能是一个错误),因此您必须使用 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
Run Code Online (Sandbox Code Playgroud)
尝试添加以下行 /etc/resolv.conf
lookup file, bind
Run Code Online (Sandbox Code Playgroud)
这应该强制 OS X 在 dns 之前使用 /etc/hosts。唯一的问题是如果你使用 dhcp,这个文件将在每次重启时被覆盖。
| 归档时间: |
|
| 查看次数: |
22136 次 |
| 最近记录: |