使用 iptables 屏蔽特定 IP 地址上的 Facebook

使用 iptables 屏蔽特定 IP 地址上的 Facebook

这是我当前的环境:

我有一台运行 Ubuntu Server/Squid 的虚拟机,并且它被设置为非透明。我有一些 IP 地址需要绕过 Squid 身份验证,以便它们可以不受限制地访问。在某些情况下,这是必要的,因为某些应用程序无法很好地与代理配合使用。

目前通过以下 iptables 规则完成:

iptables -t nat -I PREROUTING -s 192.168.0.12 -p tcp --match multiport --dports 80,443  -j ACCEPT

我现在的问题是,我必须屏蔽 Facebook 上的几个不受限制的 IP 地址。

我已经搜索了很长时间,并测试了许多在当前规则中实施的方法,但都没有成功,所以我希望你们中的一些人可以就这种情况启发我。

答案1

为了可靠地过滤 Facebook,您需要设置一个透明代理(例如 squid)并根据域名进行过滤。

答案2

您可以将域阻止添加到 iptables 规则中,例如:

iptables -t nat -I OUTPUT -p tcp -d www.facebook.com -j DROP iptables -t nat -I -p tcp -d facebook.com -j DROP

由于 DNS 查找,不建议在 iptables 中使用域名,因此您可以获取 Facebook 的 IP 地址(例如使用dighost命令)并添加这些 IP(您必须查看这些 IP 以获取更新)。

或者您可以使用专门用于网页内容过滤的工具。

相关内容