【发布时间】:2012-03-05 16:47:51
【问题描述】:
我想知道考虑实现一个拦截代理(支持缓存)以实现网络过滤的目的有多“现实”。我还想支持 IPv6、客户端身份验证和缓存。
阅读实现拦截代理的 squid wiki http://wiki.squid-cache.org/SquidFaq/InterceptionProxy 的缺点列表,它提到了使用它时需要考虑的一些缺点(我想澄清一下):
- 需要带有 NAT 的 IPv4 - 代理拦截不支持 IPv6,为什么?
- 它可能导致路径 MTU (PMTUD) 失败 - 为什么?
- 代理身份验证不起作用 - 客户端认为它直接与原始服务器通信,在这种情况下有办法进行身份验证吗?
- 拦截缓存仅支持 HTTP 协议,不支持 gopher、SSL 或 FTP。您不能为 HTTP 以外的其他协议设置代理服务器的重定向规则,因为它不知道如何处理它 - 这似乎很合理,因为在这种情况下将流量重定向到代理的方式是通过防火墙更改从源服务器到代理自己地址的数据包的目标地址(目标 NAT)。在这种情况下,如果我想拦截除 http 之外的其他协议,我将如何知道连接的目的是什么,以便将其中继到该目的地?
【问题讨论】:
标签: networking proxy network-programming network-protocols