Konfiguracja na pierwszy rzut oka wygląda wiarygodnie:

acl team_a myportname 3128 src 198.51.100.0/24

Aber definicja ACL ma tylko jeden typ. Tutaj myportname jest typem; dodanie słowa src nie rozpoczyna drugiego testu. Pozostałe słowa należą do listy wartości pierwszego typu. Ten wiersz nie wyraża „ten listener i ta sieć klientów”.

Nadaj każdej regule nazwę

Użyj nazwy dla gniazda nasłuchującego i osobnego ACL źródła. Ten fragment używa adresów dokumentacyjnych, które trzeba zastąpić adresami odpowiednimi dla wdrożenia:

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

Umieść regułę zezwolenia po istniejących zabezpieczeniach dla niebezpiecznych portów docelowych, ograniczonych celów CONNECT i dostępu administracyjnego. Fragment ilustruje warunek klient/listener; nie zastępuje tych zabezpieczeń.

Warunki w jednym wierszu http_access są łączone operatorem AND. Dwa osobne wiersze zezwolenia przepuszczałyby każdy warunek niezależnie, co znacznie zmieniłoby politykę. Wiele wartości w jednym ACL zwykle daje alternatywy dla tego jednego testu.

Wybierz wyjście osobno

Pasujący listener może też być użyty przez tcp_outgoing_address do wyboru lokalnego adresu źródłowego. To wybór trasowania, a nie zgoda na korzystanie z proxy. Reguła adresu wyjściowego nie może przepuścić odrzuconego żądania przez http_access.

Jeśli konfiguracja z wieloma adresami przestaje działać po aktualizacji, rozdziel dowody: błąd analizy wskazuje na składnię konfiguracji; odmowa dostępu na dopasowanie reguł; dozwolone żądanie z niewłaściwym wyjściem na wybór wyjścia lub późniejszy NAT. Zmiana wszystkich trzech naraz sprawia, że drobny błąd ACL jest znacznie trudniejszy do znalezienia.

Powiązane artykuły