鱿鱼强制断开打开连接重新加载ACL

我试图做一个pipe理网站,控制访问互联网。 当我允许在这个网站访问一个客户端IP时,网站将这个IP写入一个ACL文件并重新加载鱿鱼。 这工作正常 – 访问是允许的。 当我删除I​​P和重新加载鱿鱼,客户端被阻止。 但是,当我之前joingoogle(https!)时,仍然可以访问google。 几分钟后,不活动的访问也被阻止。 所以有人可以build立一个隧道,并保持互联网为他们开放。

是否有可能强制断开连接会话?

一个小例子:

acl allowed_dst dstdomain "/etc/squid/allowed_dst" acl allowed_clients src "/etc/squid/allowed_clients" http_access allow allowed_dst http_access allow allowed_clients http_access deny all 

目前没有办法做你在Squid内部的要求。

http_access ACL仅在发生HTTP请求时才被评估。 一旦CONNECT消息设置了一个盲目的TCP隧道来通过它发送客户端数据就不再是HTTP了,所以即使Squid重新处理ACL,也没有理由再次处理隧道的http_access规则。

还有更多的ACL驱动决策可能发生,需要重新评估。 其中一些将取决于先前的ACL值和不再存在的数据。 这不像客户被允许或拒绝那么简单。

最好的办法是让您的脚本删除ACL条目后续的Squid重新加载通过终止在TCP级别客户端有代理服务器的任何连接。 在Linux上有“conntrack”工具来做到这一点。