如何在非网关的 NAT 内设置 HTTP 缓存代理?

如何在非网关的 NAT 内设置 HTTP 缓存代理?

我在 IPv4-LAN 中设置了 OSI 2 级和 3 级设备,并在 NAT 后面建立互联网连接(所有客户端和服务器都在192.168.1.0/24

Internet
    |
Gateway (WiFi-"Router")/NAT
    |---------------------------------------------------------|
Switch                                                        |
    |--------------|-----------------------|                  |
Proxy client 1  Proxy client 2         Proxy server      untouchable
 (iptables)      (iptables)             (iptables)        client(s)

即一些应该在设置中工作的机器而无需触及它们的网络配置(不可触及的客户端)。Proxy client N并且Proxy server运行 Linux 并且完全可配置(例如使用iptables)。

我想进行设置Proxy serverProxy client 1以便每个 HTTP 请求Proxy client 1都通过Proxy server缓存先前获取的请求并最终提供服务,以避免从互联网获取。除网关外,所有设备都只有一个 NIC。

我尝试过的方法(为了Proxy client 1让它有一天也能为更多客户服务):

  • 设置Proxy Server使用NATfwbuilder及其重定向功能,如fwbuilder 用户指南将所有内容从192.168.1.0/24端口 80 重定向到Proxy server端口 3128,其中设置了指令的squid3.5.3 实例http_port transparent正在监听该端口。
  • 设置 的默认路由,Proxy client 1Proxy server根据 的唯一物理接口 配置虚拟接口Proxy server
  • 弄清楚fwbuilder 用户指南中的“DNAT 到同一网络”适用于我的情况,但据我所知,它是在网关上设计的 NAT 设置。

日志squid未显示任何活动。

如果有办法用其他软件更squid轻松地创建这样的设置,我会很高兴接受建议。

使用应用程序设置或环境变量(当且仅当它们实现代理)不是一种选择,因为在最坏的情况下,1000 个应用程序需要 1000 个配置。

答案1

如果您正在代理 HTTP 请求,则无需在客户端上设置 NAT 和设置代理服务器的默认网关。您只需要在客户端上设置代理配置。

设置 Squid 如下本指南。在 Windows 客户端环境中,代理设置通常在 Internet Explorer 的“Internet 选项”中配置。其他应用程序也可以使用此信息。有些应用程序有自己的设置需要配置。

相关内容