![如何在非网关的 NAT 内设置 HTTP 缓存代理?](https://linux22.com/image/1453147/%E5%A6%82%E4%BD%95%E5%9C%A8%E9%9D%9E%E7%BD%91%E5%85%B3%E7%9A%84%20NAT%20%E5%86%85%E8%AE%BE%E7%BD%AE%20HTTP%20%E7%BC%93%E5%AD%98%E4%BB%A3%E7%90%86%EF%BC%9F.png)
我在 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 server
,Proxy 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,其中设置了指令的squid
3.5.3 实例http_port transparent
正在监听该端口。 - 设置 的默认路由,
Proxy client 1
并Proxy server
根据 的唯一物理接口 配置虚拟接口Proxy server
。 - 弄清楚fwbuilder 用户指南中的“DNAT 到同一网络”适用于我的情况,但据我所知,它是在网关上设计的 NAT 设置。
日志squid
未显示任何活动。
如果有办法用其他软件更squid
轻松地创建这样的设置,我会很高兴接受建议。
使用应用程序设置或环境变量(当且仅当它们实现代理)不是一种选择,因为在最坏的情况下,1000 个应用程序需要 1000 个配置。
答案1
如果您正在代理 HTTP 请求,则无需在客户端上设置 NAT 和设置代理服务器的默认网关。您只需要在客户端上设置代理配置。
设置 Squid 如下本指南。在 Windows 客户端环境中,代理设置通常在 Internet Explorer 的“Internet 选项”中配置。其他应用程序也可以使用此信息。有些应用程序有自己的设置需要配置。