根据本地端口,通过不同的公共IP在Squid中进行代理转发

我希望通过不同的公共IP转发一个持久的HTTP请求。 它连接到服务器,并保持连接,因为服务器不断stream数据。

这需要对应用程序透明; 路由逻辑需要被限制在只连接到目标端口号(或主机端口)的HTTP连接上。

我正在考虑有一个Squid服务监听局域网IP,但在几个端口上; 如果应用程序连接到端口A,则通过nic A转发请求; 对于港口B的连接,通过nic B转发; 等等。

这是一个适合鱿鱼的任务吗? 哪里可以find关于configuration的一些提示? 我迷失了阅读Squid文档查找与此相关的任何事情(特别是如何映射本地端口 – >不同的输出NIC)。

是的,这是可能的鱿鱼。

http_port 3128 http_port 3129 http_port 3130 acl port1 myport 3128 acl port2 myport 3129 acl port3 myport 3130 tcp_outgoing_address xxx1 port1 tcp_outgoing_address xxx2 port2 tcp_outgoing_address xxx3 port3 

如果每IP地址有不同的网关,则还必须configuration源路由:

 ip rule add from xxx1 table 10 ip rule add from xxx2 table 11 ip route add table 10 default via GW1 ip route add table 11 default via GW2 ip route add default via GW3 

在squid.conf中,重要的是设置:

 server_persistent_connections off 

或者我的过程不起作用。