Комбиновање myportname и src у Squid-у са одвојеним ACL-овима
Комбинујте именовани Squid listener са дозвољеном клијентском мрежом без стављања два типа ACL-а у исту дефиницију.
Конфигурација на први поглед изгледа уверљиво:
acl team_a myportname 3128 src 198.51.100.0/24
Али дефиниција ACL-а има само један тип. Овде је myportname тип; додавање речи src не покреће другу проверу. Преостале речи припадају листи вредности првог типа. Тај ред не изражава „овај listener и ова клијентска мрежа“.
Дајте сваком услову име
Користите име за сокет за слушање и одвојен 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 циљеве и административни приступ. Исечак илуструје услов клијента/listener-а; он не замењује те заштите.
Услови на једном реду http_access комбинују се са AND. Два одвојена реда дозволе пропустила би било који услов независно, што би знатно променило политику. Више вредности унутар једног ACL-а обично даје алтернативе за ту једину проверу.
Изаберите излаз одвојено
Одговарајући listener може користити и tcp_outgoing_address да изабере локалну изворну адресу. То је избор руте, а не дозвола за коришћење проксија. Правило одлазне адресе не може пропустити одбијени захтев кроз http_access.
Ако конфигурација са више адреса престане да ради после надоградње, раздвојте доказе: грешка при парсирању упућује на синтаксу конфигурације; одбијање приступа упућује на подударање правила; дозвољени захтев са погрешним излазом упућује на избор излаза или каснији NAT. Промена све три ствари одједном чини малу ACL грешку много тежом за проналажење.