O regulă allow Squid înseamnă AND; două pot însemna OR
Citiți combinațiile ACL din Squid și regulile de acces ordonate, astfel încât un proxy privat să acorde doar accesul dorit.
Citiți cu voce tare această politică: permiteți rețelei biroului să folosească proxy-ul pentru destinația aprobată. Dacă aceste condiții aparțin împreună, țineți-le împreună în regulă.
http_access allow office_clients approved_destination
Ambele ACL trebuie să corespundă pentru ca acea linie să permită cererea. Împărțirea ei schimbă politica:
http_access allow office_clients
http_access allow approved_destination
Acum clienții biroului pot fi permisși fără restricția de destinație, iar cererile către acea destinație fără restricția de birou, dacă o regulă anterioară nu le-a refuzat. Două linii nu sunt o scriere mai lizibilă a unei linii.
Ordinea face parte din politică
Squid evaluează regulile de acces în ordine. Prima decizie potrivită controlează cererea. Un allow all anterior anulează o restricție ulterioară atentă; o respingere potrivită anterioară împiedică ajungerea la o permisiune ulterioară.
Documentația http_access explică această ordine. Păstrați o respingere finală deliberată în loc să vă bazați pe faptul că cititorul își amintește comportamentul implicit prestabilit.
Multe definiții ACL au o relație OR diferită: un ACL sursă numit poate lista mai multe intervale permise. Asta nu face identitatea sursei și a destinației același tip de ACL. Definiți-le separat, apoi combinați numele într-o decizie de acces.
Pentru o ieșire privată, asta afectează cine poate folosi IP-ul extern. Luați în considerare patru cazuri: client aprobat către destinație aprobată, client aprobat în altă parte, alt client către destinația aprobată și alt client în altă parte. Dacă regulile permit mai multe cazuri decât intenționează politica, corectați logica înainte de a extinde listenerul. O configurație sintactic validă poate exprima totuși permisiuni greșite.