如何阻止hosts文件中的特定域?

我知道热门阻止单个tumblr博客

127.0.1.1 something.tumblr.com 

但我想阻止整个tumblr。 我尝试了127.0.1.1 tumblr.com但它没有用。

有没有办法做到这一点?

安装dnsmasq

 $ sudo apt-get install dnsmasq 

然后在/etc/dnsmasq.conf (您可能需要创建)中添加以下行:

 address=/tumblr.com/127.0.0.1 

这将通过将tumblr.com及其所有子域重定向到localhost(127.0.0.1)来阻止它。


注意:

对于Ubuntu Trusty和已经拥有NetworkManager的其他人默认使用dnsmasq,您不需要安装任何东西。

只需创建一个文件/etc/NetworkManager/dnsmasq.d/local

 address=/tumblr.com/127.0.0.1 

并重新启动或重新启动NetworkManager

 $ sudo service network-manager restart 

/etc/hosts文件不支持通配符子域。 即你不能说127.0.0.1 *.tumblr.com并阻止所有forms的urlsomething.tumblr.com

如果你想在浏览器级别阻止它们,你可以使用插件或更好的,像Privoxy这样的过滤代理。

如果要在网络级别阻止这些,以便该计算机上没有人可以访问这些站点,则需要一个简单的防火墙规则来阻止something.tumblr.com的IP范围,乍一看似乎是50.97.143.0/24 ,即50.97.143.0-50.97.143.255。

查看并获取您输入的IP地址作为文字,您输错了。 而不是127.0.1.1,它应该是127.0.0.1