编辑

编辑

我一直在到处寻找这个。有谁知道如何阻止 DD-WRT 路由器上的特定 URL?例如,我想阻止,website.com/whatever但不想阻止website.com, blah.website.com, 或website.com/blah。有没有办法做到这一点,或者只能阻止整个域?

我尝试在 DD-WRT 配置中的访问限制下添加有问题的 URL,但似乎没有任何效果。这是我的设置:

在此输入图像描述

这是客户名单:

在此输入图像描述

我仍然可以在 IP 地址为 192.168.1.146 的主 PC 上轻松浏览 google.com/imghp 和 google.com/images(重定向到 google.com/imghp)。

这一页在 DD-WRT wiki 中,它显示“在按 URL 地址阻止网站下,输入您想要阻止的域名(如果有)”。除了 DD-WRT 论坛上的帖子之外,这给我的印象是您只能在 DD-WRT 设置中的访问限制下阻止域。

我开始想知道这个问题是否必须使用 iptables 来解决,或者可能通过在路由器本身上安装代理服务器来解决。

编辑

DD-WRT 论坛上的用户 goli 就此事发表了这样的言论(关联):

有一个 Privoxy 版本可以在 DD-WRT 上运行得很好。我刚刚安装了它。

Privoxy 有一个参数“accept-intercepted-requests 1”,允许将其用作透明代理。

我添加了一条 iptables 规则,将一些 Web 流量请求传递到代理,而不是直接路由它:

iptables -t nat -A PREROUTING -i br0 -p tcp --dport 80 -s 192.168.0.128/255.255.255.224 -j DNAT --to 192.168.0.1:8118    

Privoxy 有所谓的“动作文件”。这些定义了当请求 URL 与给定正则表达式匹配时要执行的操作。可能的操作之一是“阻止”。

从那时起,我一直致力于研究如何在路由器上安装 Privoxy。它相当复杂,特别是因为我没有足够的备用闪存来使用 ipkg 通过 SSH 安装它。 (看这个问题关于超级用户。)

我的第二种方法是使用固件修改套件,您可以阅读有关这里。我在刷新自定义构建时遇到了一些困难,但是一旦我解决了所有问题,我将在这里发布我的结果。

答案1

不幸的是,我(从 DD-WRT 论坛)得到的印象是,您只能在 DD-WRT 设置中的访问限制下阻止域。

我决定设置一个专用的代理服务器,并在其上安装 DansGuardian,这将允许我进行精细的控制,并使用 OpenWrt 中的 iptables 阻止任何不通过路由器上的代理的请求。

答案2

也许我回答得太晚了,但我已经找到了一种方法来做你想做的事。不要将您想要阻止的 URL 添加到“URL”类别中,而是将其添加到“关键字”类别中。这对我来说效果很好。

答案3

按着这些次序:

  • 转到 dd-wrt ​​Web 界面中的“访问限制”选项卡
  • 启用策略
  • 设置名称(例如“阻止 Youtube”)
  • 编辑客户端列表以指定应阻止哪些计算机访问 YouTube

    要阻止所有计算机,请使用底部的“IP 范围”指定除路由器(通常为.1)和广播 ( .255)之外的所有 IP

  • 设置您想要阻止的日期/时间,或“每天”以始终阻止它
  • 在“按 URL 地址阻止网站”下,输入facebook.com
  • 单击“保存”,然后单击“应用设置”

有一个Youtube 视频如果您需要的话,它会显示每个步骤。

答案4

这些东西对我的路由器 WRT3200ACM 不起作用,尽管我能够将信息放入框中。我什至指定了 IP 地址,仍然可以从网络上的任何位置浏览 YouTube。就好像它是我的 dd-wrt ​​应用程序中显示的应用程序的死部分,但什么也没有发生。即使选择所有端口范围也不起作用。

我不得不使用 OpenDNS,它确实有效,但在整个网络上都有效。防火墙规则应该有效,但实际上却没有,所以我可以假设此固件升级不完整或尚未经过真正的测试。

相关内容