我有一个透明的 squid 代理,用来从网络流量中过滤广告,效果还不错,但是当我确实需要广告时我也希望有绕过代理的选项(因为有时黑名单过于热心)。
理想情况下,可以通过让 squid 监听两个不同的端口来实现,如果客户端想要未过滤的流量,则允许其手动连接到第二个端口。是否可以在不要求在任一端口上进行身份验证的情况下做到这一点?
目前我有一个防火墙设置,只允许来自 squid 代理的出站流量 - 我可以设置第二个 squid 服务器并允许来自两者的流量,但如果可能的话,我更愿意配置我现有的设置。
编辑:这是在 PFsense 上运行的,作为网络范围的过滤器,只有 squid,没有 squidgaurd
答案1
当然,这取决于你使用什么来将 AD 列入黑名单。如果你使用像 squidguard 这样的外部工具,那么会有些困难。
如果您使用 Squid ACL 执行所有操作,那么应该很容易。它看起来应该像这样。我假设您将有一个名为的 acl,ads_bl
它描述了要列入黑名单的广告。
# listen on multiple ports
http_port 3128 transparent
http_port 8888
# acls describing the incoming port for the request on the squid.
acl bypass myport 8888
acl filterads myport 3128
# for the filter port, we don't allow the ads
http_access allow all filterads !ads_bl
# and the bypass port permits all
http_access allow all bypass