Squid 每次请求时都会随机传出 IP 地址

Squid 每次请求时都会随机传出 IP 地址

我有一台有 10 个 IPv4 地址的服务器,我希望 Squid 随机挑选其中一个 IPv4 地址用于每个请求

我当前的配置如下:

acl random1 random 1/10
acl random2 random 1/10
acl random3 random 1/10
acl random4 random 1/10
acl random5 random 1/10
acl random6 random 1/10
acl random7 random 1/10
acl random8 random 1/10
acl random9 random 1/10
acl random10 random 1/10

tcp_outgoing_address 10.0.0.2 random1
tcp_outgoing_address 10.0.0.3 random2
tcp_outgoing_address 10.0.0.4 random3
tcp_outgoing_address 10.0.0.5 random4
tcp_outgoing_address 10.0.0.6 random5
tcp_outgoing_address 10.0.0.7 random6
tcp_outgoing_address 10.0.0.8 random7
tcp_outgoing_address 10.0.0.9 random8
tcp_outgoing_address 10.0.0.10 random9
tcp_outgoing_address 10.0.0.11 random10

但这会像 96% 的请求一样不断重复服务器的主 IPv4 地址。

有什么方法可以避免这种情况吗?

答案1

选择随机值的方式,选择每个 IP 地址的概率遵循几何分布如果要统一选择它们,则选择一个 IP 地址(知道前面的 IP 地址已被丢弃)的概率必须是:1/9对于第二个,1/8对于第三个,依此类推:

acl random1 random 1/10
acl random2 random 1/9
acl random3 random 1/8
acl random4 random 1/7
acl random5 random 1/6
acl random6 random 1/5
acl random7 random 1/4
acl random8 random 1/3
acl random9 random 1/2

tcp_outgoing_address 10.0.0.2 random1
tcp_outgoing_address 10.0.0.3 random2
tcp_outgoing_address 10.0.0.4 random3
tcp_outgoing_address 10.0.0.5 random4
tcp_outgoing_address 10.0.0.6 random5
tcp_outgoing_address 10.0.0.7 random6
tcp_outgoing_address 10.0.0.8 random7
tcp_outgoing_address 10.0.0.9 random8
tcp_outgoing_address 10.0.0.10 random9
tcp_outgoing_address 10.0.0.11

相关内容