Аб’яднаць myportname і src у Squid з дапамогай асобных ACL
Аб’яднайце названы слухач Squid з дазволенай кліенцкай сеткай, не змяшчаючы два тыпы ACL у адно вызначэнне.
Канфігурацыя на першы погляд выглядае праўдападобна:
acl team_a myportname 3128 src 198.51.100.0/24
Але вызначэнне ACL мае адзін тып. Тут myportname — гэта тып; даданне слова src не пачынае другую праверку. Астатнія словы належаць да спісу значэнняў першага тыпу. Гэты радок не выражае «гэты слухач і гэтая кліенцкая сетка».
Дайце кожнай умове імя
Выкарыстайце імя для слухаючага сокета і асобны ACL крыніцы. Гэты фрагмент ужывае адрасы з дакументацыі, якія трэба замяніць адрасамі, прыдатнымі для разгортвання:
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
Размясціце правіла дазволу пасля існуючых абарон для небяспечных партоў прызначэння, абмежаваных мэт CONNECT і доступу да кіравання. Фрагмент паказвае ўмову кліента/слухача; ён не замяняе гэтыя абароны.
Умовы ў адным радку http_access аб’ядноўваюцца праз AND. Два асобныя радкі дазволу прымалі б кожную ўмову незалежна, што істотна змяніла б палітыку. Некалькі значэнняў у адным ACL звычайна даюць альтэрнатывы для гэтай адзінай праверкі.
Выбірайце выхад асобна
Адпаведны слухач можна таксама выкарыстаць праз tcp_outgoing_address, каб выбраць лакальны адрас крыніцы. Гэта выбар маршрутызацыі, а не дазвол карыстацца проксі. Правіла адраса выхаду не можа прымусіць адхілены запыт прайсці праз http_access.
Калі шматадрасная канфігурацыя перастае працаваць пасля абнаўлення, раздзяляйце сведчанні: памылка разбору ўказвае на сінтаксіс канфігурацыі; адмова ў доступе — на супадзенне правілаў; дазволены запыт з няправільным выхадам — на выбар выхаду або наступны NAT. Адначасовая змена ўсіх трох робіць дробную памылку ACL значна цяжэйшай для пошуку.