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 就足够了。