iptables --uid-owner одговара локалним сокетима Squid-а, а не LAN корисницима
Користите значење --uid-owner као локалног креатора сокета кад разматрате Squidov излаз и држите прослеђене LAN пакете одвојено.
Подударање owner у iptables-у може препознати пакете које је створио сокет локалног процеса. На пример, -m owner --uid-owner 1234 односи се на локални сокет у власништву UID-а 1234; не препознаје корисничко име HTTP проксија.
На машини на којој ради Squid разликујте ове путање:
| Саобраћај | Релевантна разлика |
|---|---|
| Клијент се повезује на Squid на овој машини | Долазна веза према proxy слушаоцу |
| Squid отвара везу према одредишту | Локално створен одлазни сокет |
| LAN клијент усмерава директно кроз ову машину | Прослеђени саобраћај без локалног креатора сокета |
Проширење важи у OUTPUT и POSTROUTING. Прослеђени пакети немају придружени локални сокет за ово подударање, па FORWARD правило не може открити корисника удаљеног рачунара питајући за Squidov UID.
Политика која дозвољава Squidove сопствене одлазне сокете зато покрива само један део дизајна мреже засноване искључиво на проксију. Прослеђивање кроз мрежни пролаз, приступ слушаоцу, друге дозвољене услуге и стварни рачун прокси услуге морају се решавати у одговарајућем обиму.
Користите конфигурисани идентитет извршавања уместо претпоставке да Squid ради као nobody. Више процеса може делити један UID, па је дозвола заснована на UID-у граница рачуна, а не доказ да је један одређени извршни фајл створио сваку дозвољену везу.