Viena Squid allow taisyklė reiškia AND; dvi gali reikšti OR
Skaitykite Squid ACL derinius ir išdėstytas prieigos taisykles, kad privatus tarpinis serveris suteiktų tik numatytą prieigą.
Perskaitykite šią politiką garsiai: leiskite biuro tinklui naudoti tarpinį serverį patvirtintam tikslui. Jei šios sąlygos priklauso kartu, laikykite jas kartu taisyklėje.
http_access allow office_clients approved_destination
Abu ACL turi sutapti, kad ta eilutė leistų užklausą. Jos padalijimas keičia politiką:
http_access allow office_clients
http_access allow approved_destination
Dabar biuro klientams galima leisti be tikslo apribojimo, o užklausoms į tą tikslą – be biuro apribojimo, nebent ankstesnė taisyklė jas atmetė. Dvi eilutės nėra lengviau skaitoma vienos eilutės rašyba.
Tvarka yra politikos dalis
Squid vertina prieigos taisykles iš eilės. Pirmasis atitinkantis sprendimas valdo užklausą. Ankstesnis allow all panaikina kruopštų vėlesnį apribojimą; ankstesnis atitinkantis atmetimas neleidžia pasiekti vėlesnio leidimo.
http_access dokumentacija paaiškina šią tvarką. Laikykite sąmoningą galutinį atmetimą, o ne pasikliaukite tuo, kad skaitytojas atsimins numanomą numatytąjį elgesį.
Daugelis ACL apibrėžimų turi kitokį OR ryšį: vienas pavadintas šaltinio ACL gali išvardyti kelis leidžiamus diapazonus. Tai nepaverčia šaltinio ir tikslo tapatybės tuo pačiu ACL tipu. Apibrėžkite juos atskirai, tada sujunkite pavadinimus prieigos sprendime.
Privačiam išėjimui tai daro įtaką, kas gali naudoti jūsų išorinį IP. Apsvarstykite keturis atvejus: patvirtintas klientas į patvirtintą tikslą, patvirtintas klientas kitur, kitas klientas į patvirtintą tikslą ir kitas klientas kitur. Jei taisyklės leidžia daugiau atvejų, nei politika numato, pataisykite logiką prieš išplečiant klausytoją. Sintaksiškai teisinga konfigūracija vis tiek gali išreikšti neteisingus leidimus.