Konfigūracija iš pirmo žvilgsnio atrodo įtikinamai:

acl team_a myportname 3128 src 198.51.100.0/24

Tačiau ACL apibrėžtis turi tik vieną tipą. Čia myportname yra tipas; pridėjus žodį src antra patikra neprasideda. Likę žodžiai priklauso pirmo tipo reikšmių sąrašui. Ta eilutė neišreiškia „šis listener ir šis klientų tinklas“.

Kiekvienai sąlygai suteikite vardą

Naudokite vardą klausančiam socketui ir atskirą šaltinio ACL. Ši iškarpa naudoja dokumentacijos adresus, kuriuos reikia pakeisti diegimui tinkamais adresais:

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

Leidimo taisyklę dėkite po esamų apsaugų, skirtų nesaugiems paskirties prievadams, apribotiems CONNECT taikiniams ir administravimo prieigai. Iškarpa iliustruoja kliento/listener sąlygą; ji nepakeičia tų apsaugų.

Vienos http_access eilutės sąlygos jungiamos AND operatoriumi. Dvi atskiros leidimo eilutės praleistų kiekvieną sąlygą nepriklausomai, o tai gerokai pakeistų politiką. Kelios reikšmės viename ACL paprastai suteikia alternatyvų tai vienai patikrai.

Išėjimą rinkitės atskirai

Atitinkantį listener galima naudoti ir per tcp_outgoing_address, kad būtų pasirinktas vietinis šaltinio adresas. Tai maršrutizavimo pasirinkimas, o ne leidimas naudoti proxy. Išeinančio adreso taisyklė negali priversti atmestos užklausos praeiti pro http_access.

Jei kelių adresų konfigūracija nustoja veikti po atnaujinimo, atskirkite įrodymus: analizės klaida rodo konfigūracijos sintaksę; prieigos atsisakymas rodo taisyklių sutapimą; leista užklausa su neteisinga išėjimo adresu rodo išėjimo pasirinkimą arba vėlesnį NAT. Pakeitus visus tris iš karto, mažą ACL klaidą rasti tampa daug sunkiau.

Susiję straipsniai