Kombiner Squids myportname og src med separate ACL-er
Kombiner en navngitt Squid-lytter med et tillatt klientnettverk uten å sette to ACL-typer i samme definisjon.
Konfigurasjonen ser ved første øyekast plausibel ut:
acl team_a myportname 3128 src 198.51.100.0/24
Men en ACL-definisjon har én type. Her er myportname typen; å legge til ordet src starter ikke en ny test. De øvrige ordene hører til verdilisten for den første typen. Den linjen uttrykker ikke «denne lytteren og dette klientnettverket».
Gi hver betingelse et navn
Bruk et navn for lyttesokken og en egen kilde-ACL. Dette utdraget bruker dokumentasjonsadresser, som må erstattes med adresser som passer for utrullingen:
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
Sett tillatelsesregelen etter de eksisterende beskyttelsene for utrygge målporter, begrensede CONNECT-mål og administrasjonstilgang. Utdraget illustrerer klient/lytter-betingelsen; det erstatter ikke disse beskyttelsene.
Betingelser på én http_access-linje kombineres med AND. To separate tillatelseslinjer ville slippe gjennom hver betingelse uavhengig, noe som ville endre policyen betydelig. Flere verdier i én ACL gir vanligvis alternativer for den ene testen.
Velg utgangen separat
En samsvarende lytter kan også brukes av tcp_outgoing_address til å 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 en konfigurasjon med flere adresser slutter å virke etter en oppgradering, skill bevisene: en parsefeil peker på konfigurasjonssyntaksen; en tilgangsnektelse peker på regelmatchen; en tillatt forespørsel med feil utgang peker på utgangsvalg eller senere NAT. Å endre alle tre samtidig gjør en liten ACL-feil mye vanskeligere å finne.