在 OpenWrt 路由器上阻止 Youtube 的最有效技术?

在 OpenWrt 路由器上阻止 Youtube 的最有效技术?

阻止 Youtube 最有效的技术是什么OpenWrt(基于 Linux 的固件)基于路由器?

答案1

您也许可以找到一个可以根据顶级域名进行阻止的opkg,但是youtube有各种各样的域名。要获取黑名单,您可以 ssh 到您的 openwrt 路由器,键入tcpdump -ni br0 dst port 53 | tee log并弹出仅连接到 youtube 的浏览器。执行此操作时,只有一个 LAN/WLAN 客户端在线。文件“log”将包含来自接口 br0 的所有传出 dns 请求(以明文形式)。这可以作为黑名单的基础,但您必须对其进行修剪,并小心删除“update.windows.com”和类似域之类的内容。

或者,您可以在 opkg 存储库中找到一个家长控制应用程序,并从那里自动执行此操作。

答案2

一种方法是使用主机文件并放置桌面上的浏览器或手机上的应用程序用于访问 Youtube 的任何主机名。

目前,我当前的 OpenWrt 主机文件如下所示:

127.0.0.1 localhost
127.0.0.1 www.youtube.com
127.0.0.1 m.youtube.com
127.0.0.1 youtube.com
127.0.0.1 youtu.be
127.0.0.1 ytimg.com
127.0.0.1 l.google.com
127.0.0.1 googlevideo.com

现在,这会阻止笔记本电脑用户访问 YouTube,但使用 YouTube 应用程序的移动用户仍然可以毫无问题地使用它......

因此下一步是建立 Youtube 应用程序使用的所有域和 IP 的黑名单,因此此答案将被更新。

目前这种方法看起来干净简单,这就是我喜欢它的原因。

但是,如果应用程序使用 google dns 或具有 Youtube IP 的内部列表,那么这种方法将会失败,唯一的出路是使用 iptables 来丢弃具有列入黑名单的 Youtube IP 的应用程序流量。

答案3

阻止某些网站(例如 Youtube)的一种相当简单的方法是使用以下之一OpenWrt 的广告拦截包。

luci广告拦截安装

可以使用广告拦截包及其关联的 Luci Web 包,只需添加域即可阻止 Youtube,例如

www.youtube.com
m.youtube.com
youtube.com
youtu.be
ytimg.com
l.google.com
googlevideo.com

到本地黑名单(服务菜单 -> Adblock -> 高级 -> 编辑黑名单)并保存,
然后返回 adblock 概述并单击刷新。
您可以通过取消选中来轻松禁用它黑名单在阻止列表源下并再次单击刷新,
或者仅禁用整个 adblock 插件。

答案4

另一种方法是根据以下规则阻止 YouTube IP 范围:类似的问题可以生成自定义防火墙规则:

/etc/config/防火墙

config rule
    option name     Block-YouTube-187.189.89.77/16
    option src      lan
    option family   ipv4
    option proto    all
    option dest     wan
    option dest_ip  187.189.89.77/16
    option target   REJECT

对于所有 IP 范围,请务必重新启动防火墙服务以应用更改。

# /etc/init.d/firewall restart

相关内容