[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Transparent proxy con squid...



Ho seguito il tuo suggerimento, cioè:

iptables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner proxy --dport 80
-j REDIRECT --to-port 3128

e ha funzionato, anche se prima ho dovuto penare alquanto per capire che
il messaggio di errore che ottenevo ("no such chain/target...") era
dovuto al fatto che, avendo ricompilato il kernel usando le opzioni
standard di Netfilter, non avevo previsto il modulo owner.

Ricompilato il kernel (con tutti i duecento moduli di netfilter per
andare sul sicuro), la regola sopra viene accettata e fa esattamente
quello che volevo.

Ti ringrazio molto, erano settimane che ci provavo!

On Mon, 2009-10-19 at 15:27 +0200, Marco Romano wrote:
> Andrea Giuliano wrote:
> 
> > A pensarci è ovvio: se tutte le richieste in uscita sulla porta 80
> > finiscono sulla porta 3128, e squid poi deve comunque farle uscire sulla
> > porta 80, egli stesso è fregato! Dovrei trovare un modo per dire "le
> > richieste per la 80 provenienti dalla 3128 devono passare, le altre no!"
> 
> In effetti hai ragione: si crea un brutto loop che non permette
> a squid/squidguard di uscire.
> 
> Visto che squid viene in genere eseguito con un suo UID
> (solitamente l'utente proxy), potresti restringere la regola di iptables 
> a tutti i pacchetti generati dall'utente x:
> 
> iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner x --dport 80 -j
> REDIRECT --to-port 3128
> 
> oppure, escludere solamente quelli associati all'utente proxy:
> 
> iptables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner proxy --dport 80
> -j REDIRECT --to-port 3128
> 
> P.S. se possibile, sarebbe preferibile continuare nella mailing-list
> così da permettere ad altri più esperti di me di aiutarti ;)
> 


Reply to: