Squid使用cache_peer旋转退出IP

时间:2012-03-08 02:06:13

标签: squid

我正在尝试复制此博文中描述的配置。

http://www.everydayinternetstuff.com/2011/03/squid-random-outgoing-ipinterface-selection/

我理解这种技术应该欺骗squid,认为它既是父节点又是cache_peer,因此允许你从单个实例中滚动退出IP。

使用此配置我已经能够退出我输入的IP,但是在输入时我无法旋转退出IP。

报告的错误页面是squid缓存中的Access Denied错误页面。

我很感激任何帮助或建议。此外,如果有人以不同的方式完成工作配置,我也很感激听到这些建议。

http_port <entry ip>:3128
http_port <exit1>:3128
http_port <exit2>:3128
http_port <exit3>:3128


auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/squid_passwd
auth_param basic children 5
auth_param basic realm ProxyBox
auth_param basic credentialsttl 2 hours
acl ncsaauth proxy_auth REQUIRED
http_access allow ncsaauth

acl src_01 src <exit1>
acl src_02 src <exit2>
acl src_03 src <exit3>

tcp_outgoing_address <exit1> src_01
tcp_outgoing_address <exit2> src_02
tcp_outgoing_address <exit3> src_03

acl first_req src 127.0.0.0/8
acl second_req src <exitnet>/29

cache_peer <exit1> parent 3128 0 round-robin no-query login=proxyadmin:password
cache_peer <exit2> parent 3128 0 round-robin no-query login=proxyadmin:password
cache_peer <exit3> parent 3128 0 round-robin no-query login=proxyadmin:password

cache_peer_access <exit1> allow first_req
cache_peer_access <exit2> allow first_req
cache_peer_access <exit3> allow first_req

cache_peer_access <exit1> deny second_req
cache_peer_access <exit2> deny second_req
cache_peer_access <exit3> deny second_req

never_direct allow first_req
never_direct deny second_req

1 个答案:

答案 0 :(得分:0)

我认为该链接中描述的配置非常混乱。使用标准的Squid配置并使用iptables在IP之间分配负载:

iptables -t nat -A POSTROUTING  -m statistic --mode nth --every 3 -j SNAT --to 192.168.1.201
iptables -t nat -A POSTROUTING  -m statistic --mode nth --every 2 -j SNAT --to 192.168.1.202
iptables -t nat -A POSTROUTING  -m statistic --mode nth --every 1 -j SNAT --to 192.168.1.203

这些IP应该是您的本地IP。

此致  迭