DNS 封锁除白名单网站之外的所有网站

DNS 封锁除白名单网站之外的所有网站

echo 0.0.0.0 facebook.com >> /etc/hosts 是一个非常简单的解决方案,可以防止 facebook.com 及其子网站解析为 IP 地址。(这也是 Linux Mint 的薄荷保姆作品)。

我想将其扩展到除少数几个网站之外的所有网站,但是,我似乎无法在网上找到任何可行的解决方案。

我发现一些建议使用透明代理服务器的线索,但我似乎无法让它工作。

有人可以发布一个具体的、直接的方法来达到这个简单的目标吗(在类 Unix 操作系统中,最好是 GNU/Linux)?

答案1

使用 dnsmasq。这是一项非常棒的服务。

在 Debian/Ubuntu/Mint 上:

sudo apt-get install dnsmasq

编辑 /etc/dnsmasq.conf

添加此行以使所有站点重定向到本地主机:

address=/#/127.0.0.1

添加以下行以使特定站点使用 8.8.8.8 的 DNS 服务器:

server=/allowed.com/8.8.8.8

然后重新启动 dnsmasq 服务:

sudo service dnsmasq restart

答案2

您不需要 DNS 阻止。设置 Apache mod_proxy 和 ProxyBlock 就足够了。

相关内容