Konfiguracija na prvi pogled deluje uverljivo:

acl team_a myportname 3128 src 198.51.100.0/24

Ali definicija ACL-a ima samo jedan tip. Ovde je myportname tip; dodavanje reči src ne pokreće drugu proveru. Preostale reči pripadaju listi vrednosti prvog tipa. 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 izvora. Ovaj isečak koristi dokumentacione adrese, koje treba zameniti adresama primerenim 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 posle postojećih zaštita za nesigurne odredišne portove, ograničene CONNECT ciljeve i administrativni pristup. Isečak ilustruje uslov klijenta/listenera; on ne zamenjuje te zaštite.

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

Izaberite izlaz odvojeno

Odgovarajući listener može koristiti i tcp_outgoing_address da izabere lokalnu izvornu adresu. To je izbor rute, a ne dozvola za korišćenje proksija. Pravilo odlazne adrese ne može propustiti odbijeni zahtev kroz http_access.

Ako konfiguracija sa više adresa prestane da radi posle nadogradnje, razdvojite dokaze: greška pri parsiranju upućuje na sintaksu konfiguracije; odbijanje pristupa upućuje na podudaranje pravila; dozvoljeni zahtev sa pogrešnim izlazom upućuje na izbor izlaza ili kasniji NAT. Promena sve tri stvari odjednom čini malu ACL grešku mnogo težom za pronalaženje.

Povezani članci