Räkna anslutningar med Squid maxconn
Använd maxconn som villkor för antalet anslutningar per källa, i stället för att läsa tröskeln som ett antal enheter eller autentiserade användare.
maxconn 5 är inte en licens för fem enheter för din proxy. Det är ett villkor för antalet anslutningar knutet till en klients källadress.
Ett litet regelfragment ser ut så här:
acl over_connection_limit maxconn 5
http_access deny over_connection_limit
Squids dokumenterade träff är ”större än” det angivna värdet. Nekningsregeln förbrukar det villkoret; att bara deklarera ACL:n avvisar ingenting. Placera den före bredare regler som redan skulle tillåta de förfrågningar den ska begränsa.
Behåll den vanliga auktoriseringspolicyn runt detta fragment. Det är ingen fullständig åtkomstkonfiguration. ACL:n är också beroende av att Squids klientdatabas är aktiverad; kontrollera client_db innan du förväntar dig att det ska fungera.
En enhet kan öppna många anslutningar. Flera enheter bakom NAT kan framstå som en enda källadress. En delad maskin kan betjäna flera användare, och en tyst enhet har kanske ingen anslutning i det ögonblick du räknar. Ingen av dessa relationer är en-till-en.
Om det verkliga kravet är en gräns för namngivna konton, registrerade enheter eller aktiva sessioner, definiera den identiteten och dess livscykel uttryckligen. En socket-tröskel per källa kan skydda kapaciteten, men dess antal bör beskrivas som anslutningar, inte som personer eller enheter.