修改/ etc / hosts没有效果

我试图阻止自己浪费时间的网站,但我对/ etc / hosts进行了更改。 例如:

127.0.0.1 localhost 127.0.1.1 ross-laptop 127.0.0.1 bing.com # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts 

我可以在刚刚打开的Chrome或Firefox中访问bing.com – 为什么这不起作用?

你会发现浏览器和系统会为你缓存一些东西。 要立即应用此function,您应确保清除缓存并重新启动浏览器。 为了测试这一点,尝试从终端执行dns检查,例如

 ping bing.com 

你应该从127.0.0.1回复它。 如果这样做,那么你的主机文件更改是好的,但它只是在你的浏览器中缓存。

您是否尝试将127.0.0.1条目放在同一行?

120.0.0.1 abc bing.com foo

这应该工作。

打开终端( ALT + F2 )。

在输入字段中键入sudo -i 。 检查Run in terminal选项。 最后点击Run按钮。

如有必要,请键入密码,然后按Enter键。 然后输入以下命令。

 gedit /etc/hosts 

您将获得Gedit Text Editor窗口。

例如,如果我们需要阻止Facebook,请在127.0.0.1 localhost之后添加以下行。

 0.0.0.1 facebook.com 0.0.0.1 www.facebook.com 

通过这样做,它将阻止所有浏览器中的网站,包括谷歌Chrome,Chromium,Mozilla。

而已。 当您现在打开http://www.facebook.comfacebook.com时 ,您无法访问它。 要启用Facebook,请删除我们从文件/etc/hosts添加的行。

来源 – Subin的博客

除了CragM的解决方案,请记住您可以为此目的使用所有127.xxx地址,不要重复相同的地址。

 127.0.0.1 localhost 127.0.0.2 ross-laptop 127.0.0.3 bing.com 127.0.0.4 foo.com 127.0.0.5 bar.com ...... 

修改/ etc / hosts看起来像是一个全局黑客。 我建议设置一个本地http代理(squid,privoxy等)并指向浏览器使用它。 通过这种方式,您可以更灵活地管理代理级别的黑名单。