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