我想阻止一些https网站,比如youtube.com,facebook.com。
我知道我们不能用url规则来阻止它。因为网址是加密的。
因此,我试图阻止所有DNS查询,这些查询包含我想要筛选的域。因此,我添加了以下规则:
iptables -A OUTPUT -p udp --dport 53 -m string --domain yahoo.com -j DROP
但youtube一直在运行。但经过一段时间的不活动(约15分钟),youtube被屏蔽了。
有什么解释吗?
我怎么能强迫youtube立即被屏蔽呢?
发布于 2018-01-29 18:20:34
但youtube一直在运行。但经过一段时间的不活动(约15分钟),youtube被屏蔽了。
这可能与缓存响应有关。如果5分钟前我已经向某个名称服务器询问了example.com
的地址,我很肯定它没有改变。yahoo.com IN A
有一个21分钟的实时时间(TTL),所以在这种情况下,记录可以缓存到21分钟。
过滤HTTPS流量不是一项容易的任务,因为任何信息都可以包含在TLS流中,甚至是连接到不激活过滤器的代理服务器。
一种选择是阻止与example.com
对应的IP地址(Es)的所有数据包。这可能适合您想要的内容,但是如果example.org
是一个位于同一个IP地址(Es)上的网站,那么您也无意中阻止了这一点。
如果您是来自这些请求的计算机的管理员,那么还有更多的选项,但是iptables
在这些情况下不会有任何用处,因为它只会与TLS通信量保持联系。
https://unix.stackexchange.com/questions/420468
复制相似问题