Squid最大数量的ips限制为128

时间:2016-10-18 08:03:33

标签: linux configuration centos6 squid

我在找到解决我遇到的问题的解决方案时遇到问题。我正在为我的操作系统使用centos 6.7和最新版本的squid。我很确定这更像是一个linux问题,但可能还有一个我尚未找到的squid设置,但基本上当我配置squid时,我会为每个ip / port配置使用include文件。因此,在我的squid.conf文件中,我添加一行以包含我的一个子目录中的所有文件,例如:

包括/etc/squid/ips/*.conf

我的文件看起来像这样: acl proxyport3128 myportname 3128 src 0.0.0.0/32 http_access允许proxyport3128 tcp_outgoing_address x.x.x.x proxyport3128 http_port x.x.x.x:3128 name = 3128

这很好用,我甚至可以使用ipv6作为传出地址,没有问题,但如果我向该目录添加超过128个文件,或者甚至为上述所有配置创建1个文件,它将接受它找到的前128个并忽略所有其余的,没有错误,就像ip配置甚至没有。

在尝试向同一服务器添加超过一定数量的ipv6地址时,我遇到过类似的linux问题,在这种情况下,我必须更改/etc/sysctl.conf中的设置,我的直觉告诉我可能在配置文件或其他我不知道的地方设置了一个设置。

如果有解决方法请分享,否则我可以查看使用squid的多实例方式(对此一无所知),或者旋转配置文件并重新加载squid。多个tcp_outgoing_addresses也可能有助于解决这个问题,但更多的是我想了解这个限制,以及它是鱿鱼还是linux导致问题。谢谢!

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,经过一些研究后我发现了解决方案,但它带来了成本。首先,是的,有128个连接的限制。我来引用

  

对于每个数据包,Squid必须检查监听端口列表才能看到   如果是read()或accept()操作。每个甚至做128次检查   数据包正在推动合理性能损失的界限。

这就是限制存在的原因。如果你想要删除它,你可以通过使用以下方法构建最新版本的Squid来实现: ./configure CXXFLAGS="-DMAXTCPLISTENPORTS=XXX" 其中XXX是您的新限额

答案基于: http://squid-web-proxy-cache.1019090.n4.nabble.com/squid-with-multiple-ips-is-listenting-to-some-ips-with-port-and-not-all-of-ips-td4668784.html