Kombiner myportname og src i Squid med atskilte ACL-er
Kombiner en navngitt Squid-lytter med et tillatt klientnettverk uten å plassere to ACL-typer i samme definisjon.
Oppsettet virker troverdig ved første blikk:
acl team_a myportname 3128 src 198.51.100.0/24
Men en ACL-definisjon har bare én type. Her er myportname typen; å føye til ordet src begynner ikke en ny test. De resterende ordene tilhører verdilisten til den første typen. Linjen uttrykker ikke «denne lytteren og dette klientnettverket».
Gi hver betingelse et navn
Bruk et navn for lyttesokkel og en separat kilde-ACL. Utdraget bruker dokumentasjonsadresser, som må byttes ut med adresser som passer for utplasseringen:
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
Plasser tillatelsesregelen etter de eksisterende beskyttelsene for utrygge målporter, begrensede CONNECT-mål og administrasjonstilgang. Utdraget viser klient/lytter-betingelsen; det erstatter ikke disse beskyttelsene.
Betingelser på én http_access-linje kombineres med AND. To atskilte tillatelseslinjer ville slippe gjennom hver betingelse uavhengig, noe som ville endret policyen betraktelig. Flere verdier i én ACL gir vanligvis alternativer for den ene testen.
Velg utgangen atskilt
En samsvarende lytter kan også brukes av tcp_outgoing_address for å velge en lokal kildeadresse. Det er rutevalg, ikke tillatelse til å bruke proxyen. En regel for utgående adresse kan ikke få en avvist forespørsel gjennom http_access.
Hvis et oppsett med flere adresser slutter å virke etter en oppgradering, må bevisene skilles: en tolkningsfeil peker på konfigurasjonssyntaksen; en tilgangsnektelse peker på regelmatchen; en tillatt forespørsel med feil utgang peker på utgangsvalg eller senere NAT. Å endre alle tre på én gang gjør en liten ACL-feil mye vanskeligere å finne.