我已经设置了一台家庭服务器作为路由器/NAT。这是通过 IPtables 转发规则完成的。
现在我想屏蔽某些网站,比如 Facebook。我以为我可以在服务器上添加,但客户端(我的)计算机仍然可以访问/ping 域127.0.0.1 facebook.com
。/etc/hosts
我也在运行 bind,也许可以用它完成?谢谢你的帮助。
答案1
(假设 bind 是路由器上的 DNS 服务器,并且您的计算机正在使用该路由器进行 DNS 解析。编辑:如果您的计算机直接使用 ISP 的 DNS 服务器,则这根本不起作用。跳至 iptables 部分。)
Bind 不会使用本地服务器的 /etc/hosts 来查找 Facebook 是什么。如果您想破解 Facebook,您需要告诉 bind 它对 facebook.com 域具有权威性,并设置一个区域文件,其中 127.0.0.1(例如)作为 facebook.com 和 www.facebook.com 的 A 记录。
一种更简单的方法可能是为 Facebook 使用的 IP 添加 iptables 规则。
iptables -I FORWARD -s <computer IP> -d 69.63.189.11 -p tcp -j REJECT
iptables -I FORWARD -s <computer IP> -d 69.63.189.16 -p tcp -j REJECT
iptables -I FORWARD -s <computer IP> -d 69.63.181.12 -p tcp -j REJECT
那或者自我控制:-P。