Kombinace myportname a src v Squidu pomocí samostatných ACL
Zkombinujte pojmenovaný Squid listener s povolenou klientskou sítí, aniž byste do jedné definice vložili dva typy ACL.
Konfigurace na první pohled vypadá věrohodně:
acl team_a myportname 3128 src 198.51.100.0/24
Definice ACL má však jediný typ. Zde je myportname typem; přidání slova src nezačíná druhý test. Zbývající slova patří do seznamu hodnot prvního typu. Tento řádek nevyjadřuje „tento listener a tato klientská síť“.
Dejte každé podmínce jméno
Použijte jméno pro naslouchající socket a samostatný ACL pro zdroj. Tento výňatek používá dokumentační adresy, které je nutné nahradit adresami vhodnými pro nasazení:
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
Umístěte pravidlo povolení za stávající ochrany pro nebezpečné cílové porty, omezené cíle CONNECT a administrativní přístup. Výňatek ilustruje podmínku klient/listener; nenahrazuje tyto ochrany.
Podmínky na jednom řádku http_access se kombinují pomocí AND. Dva samostatné řádky povolení by propustily kteroukoli podmínku nezávisle, což by politiku výrazně změnilo. Několik hodnot v jednom ACL obvykle poskytuje alternativy pro tento jediný test.
Zvolte výstup zvlášť
Odpovídající listener lze také použít pomocí tcp_outgoing_address k volbě místní zdrojové adresy. To je volba směrování, ne oprávnění používat proxy. Pravidlo odchozí adresy nemůže způsobit, že zamítnutý požadavek projde přes http_access.
Pokud víceadresná konfigurace po upgradu přestane fungovat, oddělte důkazy: chyba parsování ukazuje na syntaxi konfigurace; odmítnutí přístupu na shodu pravidel; povolený požadavek se špatným výstupem na volbu výstupu nebo pozdější NAT. Změna všech tří najednou činí malou chybu ACL mnohem obtížněji nalezitelnou.