Newsgroup: it.comp.os.linux.sys
Titolo: problemi con iptables e proxy trasparente

Ciao a tutti, non riesco a far funzionare il trasparent proxy e ci sto 
diventanto scemo. Il mio script di iptables dice:
############ inizio script
[...]
$IPTABLES -A FORWARD -i $EXTINTERFACE -o $LOCALINTERFACE -j EXT_LOC
$IPTABLES -A FORWARD -i $LOCALINTERFACE -o $EXTINTERFACE -j LOC_EXT
$IPTABLES -A ANTI_SPOOF -j LOG --log-prefix "TENTATIVO DI SPOOFING ===>>>" 
--log-level warn
$IPTABLES -A ANTI_SPOOF -j DROP
$IPTABLES -A EXT_LOC -i ! $EXTINTERFACE -j ANTI_SPOOF
$IPTABLES -A LOC_EXT -i ! $LOCALINTERFACE -j ANTI_SPOOF
$IPTABLES -A EXT_LOC -s $LOCALNET -j ANTI_SPOOF
$IPTABLES -A LOC_EXT -s ! $LOCALNET -j ANTI_SPOOF
$IPTABLES -A INPUT -i $EXTINTERFACE -s $LOCALNET -j ANTI_SPOOF
$IPTABLES -A INPUT -p icmp -s $LOCALNET -j ACCEPT
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p tcp -s 172.16.0.xxxxx --dport 22 -j ACCEPT
$IPTABLES -A OUTPUT -p icmp -s $LOCALNET -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
$IPTABLES -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --dport 113 -j REJECT
$IPTABLES -A OUTPUT -p tcp --dport 53 -j ACCEPT
$IPTABLES -A OUTPUT -p udp --dport 53 -j ACCEPT
$IPTABLES -A LOC_EXT -p icmp -j ACCEPT
$IPTABLES -A EXT_LOC -p icmp --icmp-type echo-request -j DROP
$IPTABLES -A EXT_LOC -p icmp -j ACCEPT
$IPTABLES -A LOC_EXT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A EXT_LOC -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A EXT_LOC -p tcp --dport 113 -j REJECT
$IPTABLES -A LOC_EXT -p tcp --dport 53 -j ACCEPT
$IPTABLES -A LOC_EXT -p udp --dport 53 -j ACCEPT
########################################################
# Proxy trasparente e mascheramento rete
########################################################
$IPTABLES -t nat -A PREROUTING -p tcp -i $LOCALINTERFACE --dport 80 -j 
REDIRECT --to-port 3128
$IPTABLES -t nat -A POSTROUTING -o $EXTINTERFACE -s $LOCALNET -j MASQUERADE
[...]
############ fine script
Se nei browser setto direttamente il proxy tutto ok, se invece attivo la 
regola in PREROUTING dai client mi parte la connessione ma mi resta in 
SYN_SENT (sembra che non riesca ad ricevere l'ACK...).
Sono fuso e non so più dove battere la testa, credo che il problema sia 
nella conf di iptables perchè in access.log di squid non ho richieste....
Che mi suggerite?
Grazie anticipatamente a tutti e ciao
LEO
PS: se serve posso postare squid.conf (cmq non ci sono acl e ho settato 
tutte le voci per transparent proxy che si trovano sulle varie faq 
(httpd_accel_*))

 Che mi suggerite?
Banale domanda: la macchina su cui gira iptables è il default gw a cui si
rivolgono i client vero ?
I log di squid cosa vedono arrivare dai client (in modalità transparent) ?
Rizio
--
So many women and so little time.

 I log di squid cosa vedono arrivare dai client (in modalità transparent) ?
niente..........
grazie per ora e ciao
LEO

 I log di squid cosa vedono arrivare dai client (in modalità transparent) ?


 (httpd_accel_*))
Sicuro? Hai messo bene questi?
httpd_accel_port 80
httpd_accel_host virtual
httpd_accel_single_host off
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.760 / Virus Database: 509 - Release Date: 10/09/2004 

 
si, putroppo li ho messi già...
cmq l'output di iptables -vL -t nat, eseguendolo più volte, mi segnala che 
c'è un incremento dei pacchetti arrivati... ma dopo la catena nat il 
pacchetto passa nella filter? sarà che allora devo settare delle opportune 
regole in INPUT e OUTPUT della catena filter?
grazie e ciao
LEO

 Che mi suggerite?
Metti regole di log del tipo "catchall" al termine delle catene con
cui scarti un pacchetti. Li dentro, con ogni probabilita', troverai
il traffico proveniente dai client e che ti finisce nel... nulla.
Fabio
PS: immagino che sia abilitato il forward verso l'esterno per tutti
    i client in lan che accedono al proxy, giusto?