2016-10-18 5 views
1

내 squid 프록시 서버에 문제가있는 경우 해결책을 찾는 데 문제가 있습니다. 내 OS 용 오징어의 최신 버전으로 centos 6.7을 사용하고 있습니다. 나는 이것이 리눅스 문제에 더 가깝다는 것을 확신하지만 아직 발견하지 못했던 오징어 설정이있을 수 있지만 기본적으로 오징어를 구성 할 때 각 ip/port 구성에 파일을 사용합니다.Squid의 최대 ips 수가 128로 제한됩니다.

내 파일은 다음과 같이 /etc/squid/ips/*.conf

은 다음과 같습니다 : 그래서 내 이는 squid.conf 파일 안에, 내가 좋아하는, 내 하위 디렉토리 중 하나에 모든 파일을 포함하는 한 줄을 추가합니다 : ACL proxyport3128의 myportname 3128 SRC 0.0.0.0/32 http_access 수 proxyport3128 tcp_outgoing_address XXXX proxyport3128 http_port XXXX : 3128 명 = 3128

이, 심지어 거기 발신 주소로 아무런 문제가 IPv6를 사용하지 수 있어요 잘 작동 ,하지만 그 디렉토리에 128 개 이상의 파일을 추가하거나 심지어 위의 모든 설정에 대해 하나의 파일을 만들면 s의 경우, 처음 발견 된 128 개를 받아들이고 나머지는 모두 무시합니다. 오류가없는 경우 ip configs와 같은 것이 없습니다.

같은 서버에 특정 개수 이상의 ipv6 주소를 추가하려고 할 때 비슷한 리눅스 문제가 발생했습니다.이 경우 /etc/sysctl.conf 내부의 설정을 변경해야합니다. config 파일이나 내가 모르는 다른 곳에서 설정이있을 수 있다고 알려줍니다.

해결 방법이 있다면 공유하십시오. 그렇지 않으면 오징어를 사용하는 멀티 인스턴스 방식 (구성 파일을 회전하고 오징어를 다시로드하는 방법)을 살펴볼 수 있습니다. 여러 개의 tcp_outgoing_addresses가 문제를 해결하는 데 도움이 될 수 있지만 문제의 원인이되는 오징어인지 Linux인지 제한 사항을 이해하고 싶습니다. 감사!

답변

0

나는 동일한 문제가 있었지만 몇 가지 연구를 통해 해결책을 찾았지만 비용이 따릅니다. 첫 번째 문제는 처음에는 128 개의 연결 제한이 있다는 것입니다. 견적을 보내 드리겠습니다

각 패킷 읽기 Squid는 청취 포트 목록을 확인하여 read() 또는 accept() 작업 인 경우 을 확인해야합니다. 심지어 패킷 당 128 개의 검사를 수행하면 합당한 성능 손실에 대한 경계가 밀리고 있습니다.

그래서 한계가 있습니다. 당신이 잘 제거하려면 다음을 사용 오징어의 최신 버전을 구축하여 작업을 수행 할 수 있습니다 XXX를 기반으로 새로운 제한

대답이다 ./configure CXXFLAGS="-DMAXTCPLISTENPORTS=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