如何在 Debian 中添加静态 DNS 条目并阻止某些网站?

如何在 Debian 中添加静态 DNS 条目并阻止某些网站?

好的,我是管理员菜鸟。

有没有办法添加静态 DNS 条目?

我已尝试修改/etc/hosts文件但没有成功。

这是我的hosts文件:

127.0.0.1   localhost
127.0.1.1   hitsu
127.0.1.1   www.deviantart.com
127.0.1.1   deviantart.com
127.0.1.1   www.youtube.com
127.0.1.1   youtube.com

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

一切都很好,但是当我输入时, adc.deviantart.com我仍然会看到该页面。

有没有什么办法可以屏蔽这些网站?

我正在尝试通过禁用不相关的网站来提高工作效率。

编辑

好吧,我想屏蔽来自 deviantart 的所有网站,例如

127.0.0.1 *.deviantart.com

浏览器插件/扩展是一个很好的解决方案,但我使用多个浏览器(chrome,opera 等),因此在 Linux 中阻止它可能会更容易。

编辑#2

这个问题有一些解决方案,例如 https://github.com/leftnode/get-shit-done

然而它不适用于多域。

答案1

您不能在 中使用通配符/etc/hosts。您需要单独添加每个子主机。

请告诉我们有关问题的更多信息。您是否只想阻止来自您机器的流量,还是阻止来自整个网络的流量?仅阻止 WWW 流量?

如果你想阻止所有到 deviantart 的流量:

 host deviantart.com gives 199.15.160.100

 iptables -A OUTPUT -d 199.15.160.100 -j DROP

这将删除所有发往 deviantart.com 的软件包。此 IP 当然可能会更改,但您可以定期检查。如果您希望此设置持久,您可能需要将此行添加到某个 /etc/rc.local 脚本或适合您的发行版的脚本中。

答案2

最简单的方法可能是使用域名系统

安装dnsmasq

$ sudo apt-get install dnsmasq

并将此行添加到/etc/dnsmasq.conf

address=/deviantart.com/127.0.0.1

这将阻止deviantart.com及其所有子域名。

注意:对于 ubuntu 请参阅这个帖子

答案3

您需要添加127.0.1.1 adc.deviantart.com/etc/hosts阻止adc.deviantart.com

但也许提高生产力的更好方法是不deviantart.com主动访问?你也可以安装广告拦截插件Firefox 插件,并使用它来阻止这些网站。Adblock 可让您添加类似模式deviantart.com并自动阻止所有子域 - 不同于/etc/hosts

相关内容