我已经在具有 4 个 IP 地址的服务器上安装了 Squid Proxy。例如
192.123.0.10
192.123.0.11
192.123.0.12
192.123.0.13
192.123.0.10
是主 IP。我希望能够:
将我的浏览器代理设置为指向列出的四个 IP 中的 1 个,并让 squid 使用该对应 IP 作为其传出 IP 地址
或者
将我的浏览器代理设置为指向列出的四个 IP 中的 1 个,并让 squid 从列表中的传出 IP 中随机选择
有任何想法吗?
编辑以澄清:
举个例子。假设我将浏览器设置为指向192.123.0.10
,我访问的任何网站都应该将我的 IP 地址视为192.123.0.10
。这有效。然后,如果我将浏览器更改为指向192.123.0.11
,我访问的任何网站都应该将我的 IP 地址视为192.123.0.11
,但它看到的却是第一个 IP 。和 也是192.123.0.10
如此。192.123.0.12
192.123.0.13
答案1
找到了一种方法。在 squid 配置中,我为每个端口设置了 4 个 http_port 值和一个 acl:
acl portA myport 8080
acl portB myport 8081
acl portC myport 8082
acl portD myport 8083
http_port 8080
http_port 8081
http_port 8082
http_port 8083
然后我根据传入的端口重定向传出的 IP 地址:
tcp_outgoing_address 192.123.0.10 portA
tcp_outgoing_address 192.123.0.11 portB
tcp_outgoing_address 192.123.0.12 portC
tcp_outgoing_address 192.123.0.13 portD
然后,在我向某个网页发出请求之前,我会更改浏览器代理设置中的端口,然后他们看到的 IP 地址就会发生变化。
唯一的问题是它似乎有一个缓存。更改代理端口后,我需要等待几分钟才能反映新的 IP 地址。
答案2
好的,明白了,基本上你需要在传出的代理端口前面放置一个反向代理,创建一个由四名成员组成的 VIP,使用类似粘性循环的方式在“客户端”之间共享这些 IP。