우리는 Linux Box의 사무실 환경에서 Squid 프록시 서버(버전 3.1.4)를 사용합니다. 우리는 하나의 네트워크에 총 20명의 사용자를 보유하고 있으며 인터넷 패키지는 월 25GB입니다. 이제 우리가 원하는 것은 각 사용자를 특정 크기로 제한하는 것입니다.1GB/사용자/월 가정(일부 사용자의 경우 512MB, 일부 사용자의 경우 2GB와 같이 더 구성 가능하면 더 좋을 것입니다.) 모든 사람이 동일한 액세스를 얻을 수 있습니다.
인터넷에서 많이 검색했는데대역폭 제한, 또는 사용최대 다운로드 크기 매개변수reply_body_max_size
,지연 매개변수. 하지만 내가 원하는 것을 찾을 수 없습니다.
Squid나 다른 오픈 소스 옵션에서 이를 수행할 수 있는 방법이 있습니까?
답변1
나는 또한 이 기능을 추가하기 위해 노력해 왔습니다. 압착의 문제점은 압착해서는 안되는 사용자를 압착한다는 것입니다.
제가 사용한 해결 방법 lightsquid
은 /var/lib/lightsquid/report/<date>/.total
.lightsquid
답변2
예를 들어 Squid가 호출하는 사용자 정의 도우미를 통해 가능합니다.http://wiki.squid-cache.org/Features/Redirectors클라이언트 IP를 살펴보고 데이터베이스에 쿼리하여 사용 중인 대역폭의 양을 확인한 다음(아마도 다른 것을 통해 오징어 로그에서 구문 분석됨) 대역폭이 초과되면 죄송한 페이지로 리디렉션합니다. 해당 코드가 아직 존재하지 않는 경우 많은 코딩이 필요할 수 있습니다.
답변3
Squid 위키 페이지에 따르면 사용자 데이터 할당량은 개발 중입니다(아래 링크 참조).
단조롭게 하다IP당 월별 데이터 양을 제한하는 데 사용할 수 있습니다. (오징어를 사용)
기능/할당량 - Squid Web Proxy Wikihttp://wiki.squid-cache.org/Features/Quota
답변4
SQUID만 사용하고 싶다면 NFQUEUE를 사용할 수 있습니다. 먼저 모든 트래픽을 NFQEUE로 리디렉션하고 사용자 공간 프로그래밍에서 트래픽을 제어할 수 있습니다. 그런 다음 DROP(삭제) 또는 SQUID(3128) 포트로 전달을 결정할 수 있습니다. 소규모 선불 충전 시스템을 구축해야 합니다. 내 작은 것 좀 봐기사이를 위해.
하지만 귀하의 요구 사항을 충족하려면 RADIUS(dolaRadius) 솔루션을 사용하는 것이 좋습니다. SQUID를 FreeRADIUS와 통합하고 트래픽을 제어할 수 있습니다.