我想通过过滤来阻止 iPad 访问成人网站。如果人们知道网站的 IP,我该如何阻止他们?
请允许我进一步解释一下。
我已将 OpenDNS 的 Family Shield 设置为家庭网络的默认 DNS 提供商,并通过阻止路由器上端口 53 上的出站 UDP/TCP 流量来强制所有 DNS 连接都通过它。现在我正在寻找一种方法来阻止任何通过直接输入网站 IP 地址来访问网站的尝试,这使得 DNS 配置毫无用处。这可能吗?
笔记 :
OpenDNS 设置为家庭盾顾名思义,它可以过滤成人内容和代理连接。我家里没有多余的电脑可以安装像 Untangle 这样的程序。我不想阻止互联网访问,而是阻止那些不想要的访问:那些会被 Family Shield 阻止的访问,以及用户因为知道网站的 IP 而设法访问的访问。
答案1
DNS 服务器仅提供名称到 IP 地址的映射。
您希望阻止已拥有远程 IP 地址的用户访问服务器,这意味着 DNS 服务器已完成的步骤已经完成。
您要求的过滤级别需要通过代理服务器或类似服务器完成,对 IP 地址的请求将会失败。
由于许多合法网站都会使用 IP 地址,因此该解决方案也失败了。
您真正需要的是真正的代理服务器,然后订阅一些黑名单,并阻止对这些网站的访问。dd-wrt 不会这样做(据我所知)。您可以手动阻止网站,但您必须为每个网站添加一个 iptables 规则,并且您将玩一场永无止境的猫捉老鼠游戏。这就是为什么您要订阅一些黑名单,或使用 dd-wrt 通过代理重定向所有流量。
正如@ScottChamberlain 在评论中提到的,如果您有一个高端路由器,您可以尝试安装 dd-wrt,然后在其上安装 squid 插件,最后订阅黑名单(您需要定期下载并导入 squid;您可能可以通过 cron 作业使用简单的脚本来完成此操作)。
Dansguardian 和 squidguard 通过提供自动更新黑名单简化了这最后一步,但我不相信它们都可以在 dd-wrt 中运行。
在大多数情况下,处理这种黑名单(可能包含超过 200 万个条目)对家用路由器来说太过繁重,这就是为什么人们最终会为此或商业服务使用单独的计算机。事实上,我从未听说过任何可以运行上述完整解决方案的路由器 - 这并不意味着硬件不存在,只是我没有看到任何关于此类硬件的参考资料,而且通常只看到参考资料说您需要使用单独的计算机来实现您尝试的过滤级别。
答案2
您可以在路由器上或更多截屏设备。配置防火墙以丢弃发往或来自不需要的 IP 地址的数据包。
我会在你的备用计算机上安装 GNU/Linux 防火墙发行版,甚至 BSD 防火墙。然后强制所有互联网流量通过它。或者你可以访问dd-wrt 路由器数据库看看您当前的路由器是否受支持。
防火墙操作系统发行版: