经过两个星期的search和阅读,我结束了这个iptable规则,阻止youtube(作为string)到我的办公室networking的ip范围。
iptables -A FORWARD -t filter -m iprange --src-range 10.217.76.60-10.217.76.70 -m string --algo bm --string "youtube.com" -j DROP #block
正如你可以看到从.60到.70(10台机器)的电脑无法浏览YouTube,而例如.75可以。 该规则仅适用于几分钟和一些客户。 2或3分钟后,有些客户可以正常浏览YouTube。 如果我closures这些客户端的浏览器,刷新iptables规则并重新运行它们,所有的客户端无法连接到youtube,但这持续了2-3分钟,对于一些客户端(我正在谈论ip范围的客户端) 。
有没有人再次遇到这种行为? 它是否与我使用的服务器(Ubuntu的11.04),caching或别的什么!?
我也有鱿鱼3安装在哪里我阻止的YouTube和Facebook的http,所以我认为设置iptables我可以削减https的YouTube。 (但有些客户真的需要youtube工作,所以我想切断歌曲监听和无用的networkingstream量)。
编辑:经过了一段时间,我试过了: iptables -I FORWARD -t filter -s 10.217.76.80/28 -m string --algo bm --string "youtube.com" -j DROP #from .80 to .95 (15 ip)并得到了一个更好的解决scheme…只是一段时间。 一段时间后,一些客户再次开始浏览(规则不起作用),而另一些客户仍然没有(规则工作)。 我知道(正如MADHATTER所说)是一个YOUTUBE很多服务器的东西,但我不明白的是,当使用这样的规则iptables -I FORWARD -m string --algo bm --string "youtube.com" -j REJECT所有客户端的所有stream量被拒绝,不止一段时间,我唯一想要的是使用上述规则为一个ip范围的用户,例如从.10到.240,让所有其他人自由浏览youtube 。 你认为这是一个规则吗? 所有其他类似的,我尝试只为一个随机的时间段工作。
你说“ 我可以削减YouTube的YouTube ”。 这是不行的; HTTPS连接上的URL在encryption的情况下进行交换。 防火墙可能在数据stream中,但是它不会看到这个对话,因为到那时它的工作就减less到从一个接口到另一个接口的encryption数据包。
是的,客户可能会尝试访问http://youtube.com ,并且可以取消同步该特定的http连接。 但是这个URL现在直接将它们redirect到https://站点; 您的客户迟早会意识到,他们可以通过SSL访问YouTube,而您将无法看到他们在做什么。
传统的正确的方法来调节可以访问的URL是一个强制性的Web代理 – 但在HTTPS内容的情况下,你仍然有一个问题。 你可以把所有的东西都放在中间,但是除非你有一个代理来重新encryption和重新签名每个HTTPS请求(并且你的每个客户已经安装并且信任你的代理的CA证书),这将会导致一个非常您的用户对任何 HTTPS内容的浏览体验不满意。
tl; dr :youtube已经决定授权HTTPS连接到他们的网站,所以如果没有一些高度复杂的代理(哪些noddy iptables规则不是 ),你不能阻止你的用户去那里。