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

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

我知道如何用阻止单个tumblr博客

127.0.1.1 something.tumblr.com

但我想屏蔽整个tumblr。我试过了,127.0.1.1 tumblr.com但没有用。

有没有办法做到这一点?

答案1

从 Ubuntu 14.04 LTS(Trusty Tahr)及以上版本开始,它们已经有 NetworkManager 并且默认使用 dnsmasq,您不需要安装它。

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

address=/tumblr.com/127.0.0.1

并重新启动或重启 NetworkManager

$ sudo service network-manager restart

这将tumblr.com通过将其重定向到本地主机(127.0.0.1)来阻止其所有子域。

注意,除非你还设置了使用 localhost/ 的连接,否则这不会执行任何操作域名系统用于名称解析。


在 Trusty 之前的版本上安装dnsmasq

$ sudo apt-get install dnsmasq

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

address=/tumblr.com/127.0.0.1

答案2

/etc/hosts文件不支持通配符子域名。即您不能说127.0.0.1 *.tumblr.com并让它阻止所有形式的 URLsomething.tumblr.com

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

如果你想在网络层面阻止这些,以便该计算机上的任何人都无法访问这些网站,你需要一个简单的防火墙规则来阻止something.tumblr.com的 IP 范围,乍一看似乎是50.97.143.0/24,即 50.97.143.0-50.97.143.255。

答案3

查看并按字面意思理解您输入的 IP 地址,您输入错了。 正确的输入应该是 127.0.0.1,而不是 127.0.1.1

相关内容