DNS 阻止除白名单网站之外的所有网站

PSk*_*cik 8 networking linux dns proxy

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

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

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

任何人都可以发布关于如何实现这个简单目标的具体、直接的方法(在类 Unix 操作系统中,最好是 GNU/Linux)?

小智 11

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

在 Debian/Ubuntu/Mint 上:

sudo apt-get install dnsmasq
Run Code Online (Sandbox Code Playgroud)

编辑 /etc/dnsmasq.conf

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

address=/#/127.0.0.1
Run Code Online (Sandbox Code Playgroud)

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

server=/allowed.com/8.8.8.8
Run Code Online (Sandbox Code Playgroud)

然后重新启动 dnsmasq 服务:

sudo service dnsmasq restart
Run Code Online (Sandbox Code Playgroud)


小智 1

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