Squid myportname en src combineren met aparte ACL’s
Combineer een benoemde Squid-listener met een toegestaan clientnetwerk zonder twee ACL-typen in dezelfde definitie te zetten.
De configuratie lijkt op het eerste gezicht plausibel:
acl team_a myportname 3128 src 198.51.100.0/24
Maar een ACL-definitie heeft één type. Hier is myportname het type; het woord src toevoegen start geen tweede test. De overige woorden horen bij de waardelijst van het eerste type. Die regel drukt niet “deze listener en dit clientnetwerk” uit.
Geef elke voorwaarde een naam
Gebruik een naam voor de luisterende socket en een aparte bron-ACL. Dit fragment gebruikt documentatieadressen, die vervangen moeten worden door adressen die bij de uitrol passen:
http_port 192.0.2.10:3128 name=team_a_port
acl team_a_port myportname team_a_port
acl team_a_clients src 198.51.100.0/24
http_access allow team_a_port team_a_clients
http_access deny all
Plaats de toestaanregel na de bestaande beschermingen voor onveilige bestemmingspoorten, beperkte CONNECT-doelen en beheerstoegang. Het fragment illustreert de client/listener-voorwaarde; het vervangt die beschermingen niet.
Voorwaarden op één http_access-regel worden met AND gecombineerd. Twee aparte toestaanregels zouden elke voorwaarde onafhankelijk doorlaten, wat het beleid flink zou veranderen. Meerdere waarden binnen één ACL bieden meestal alternatieven voor die ene test.
Kies de uitgang apart
Een passende listener kan ook door tcp_outgoing_address gebruikt worden om een lokaal bronadres te kiezen. Dat is routekeuze, geen toestemming om de proxy te gebruiken. Een regel voor het uitgaande adres kan een geweigerd verzoek niet door http_access laten gaan.
Als een configuratie met meerdere adressen na een upgrade stopt met werken, scheid dan het bewijs: een parseerfout wijst op de configuratiesyntaxis; een toegangsweigering wijst op regelovereenkomst; een toegestaan verzoek met de verkeerde uitgang wijst op uitgangskeuze of latere NAT. Alle drie tegelijk wijzigen maakt een kleine ACL-fout veel moeilijker te vinden.