有谁知道在阻止某个网站 (www.firstlightfcu.org) 的域名的同时仍允许使用 IP 地址 (174.122.168.43) 访问该网站的方法吗?我尝试使用 iptables 阻止该网站,效果很好,然后使用 ufw 允许 IP 地址。无论我使用 IP 地址还是域名访问该网站,该网站都会被完全阻止。我知道这应该是可能的,但我想我错过了什么,而且我是 ubuntu 的新用户。任何能为我指明正确方向的帮助都将不胜感激。
答案1
如果这是您的学生的问题,那么他们可能希望在自己的计算机上使用它。他们可以修改他们的 etc/hosts 文件并将该域映射到不同的 IP 地址,例如:
127.0.0.1 www.firstlightfcu.org # localhost
192.168.1.5 return.empty.example # just some other address
根据他们将域名映射到的内容,他们将看到不同的错误消息、超时或什么都没有。
但请注意,许多 Web 服务器无法仅通过其 IP 地址访问,因为该 IP 地址托管多个域。因此,Web 服务器将向您提供其托管的其中一个域,而不一定是您(他们)想要的域。
你可能想读https://pi-hole.net/了解有关修改浏览器体验的技术的更多信息。
答案2
首先,UFW 只是iptables 的前端。如果您知道如何编写 iptables 规则,那么您就不需要 UFW,因为它基本上只是将您所谓的简单规则转换为 iptables。
其次,使用 iptables 阻止域名并不是很有效,因为名称解析工作在应用程序层;您向 DNS 服务器发出请求,该服务器将返回 DNS 请求中给定域的 ip 地址;而 iptables 更适合过滤网络和传输层的通信。
您可以做的是配置一个代理服务器您可以使用它来阻止对特定域名的访问,在应用程序层,而不阻止该域名本身的 IP 地址。要让您的客户端使用您的代理而无需在每个客户端上进行配置,您可以使用透明代理。