Konfiguracija na prvi pogled izgleda uvjerljivo:

acl team_a myportname 3128 src 198.51.100.0/24

Ali definicija ACL-a ima samo jednu vrstu. Ovdje je myportname vrsta; dodavanje riječi src ne pokreće drugu provjeru. Preostale riječi pripadaju listi vrijednosti prve vrste. Taj red ne izražava „ovaj listener i ova klijentska mreža“.

Dajte svakom uslovu ime

Koristite ime za socket za slušanje i odvojen ACL za izvor. Ovaj isječak koristi dokumentacijske adrese, koje treba zamijeniti adresama prikladnim za postavljanje:

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

Postavite pravilo dozvole nakon postojećih zaštita za nesigurne odredišne portove, ograničene CONNECT ciljeve i administrativni pristup. Isječak ilustruje uslov klijenta/listenera; on ne zamjenjuje te zaštite.

Uslovi na jednom redu http_access kombinuju se s AND. Dva odvojena reda dozvole propustila bi bilo koji uslov nezavisno, što bi znatno promijenilo politiku. Više vrijednosti unutar jednog ACL-a obično daje alternative za tu jedinu provjeru.

Odaberite izlaz odvojeno

Odgovarajući listener može koristiti i tcp_outgoing_address da odabere lokalnu izvorišnu adresu. To je odabir rute, a ne dozvola za korištenje proxyja. Pravilo odlazne adrese ne može propustiti odbijeni zahtjev kroz http_access.

Ako višeadresna konfiguracija prestane raditi nakon nadogradnje, razdvojite dokaze: greška pri parsiranju upućuje na sintaksu konfiguracije; odbijanje pristupa upućuje na podudaranje pravila; dozvoljeni zahtjev s pogrešnim izlazom upućuje na odabir izlaza ili kasniji NAT. Mijenjanje sve tri stvari odjednom čini malu ACL grešku mnogo težom za pronalaženje.

Povezani članci