Newsgroup: it.comp.os.linux.sys
Titolo: ancora squid e dns

SITUAZIONE:
- squid box, gateway predefinito di tutta la rete, transparent proxy con 
iptables, ip 192.168.0.1, dns impostati in /etc/resolv.conf, ip_forwarding 
abilitato;
- una qualsiasi macchina windows della rete con ip 192.168.0.5, gateway 
predefinito _e dns_ 192.168.0.1 (la squid box);
PROBLEMA:
quando vado sulla macchina windows e digito un indirizzo qualche volta mi 
si carica la pagina ed altre no (mi si blocca sulla risoluzione dei nomi ma 
*non* mi appare la pagina di squid dell'errore sul dns); tutto ok se setto 
direttamente il proxy nel browser....
In pratica la mia domanda è: come funziona la risoluzione dei nomi con il 
transparent proxy? Correggetemi se sbaglio: sul browser digito 
"
www.xyz.it
", la richiesta è sulla porta 80 e va a finire al gateway 
predefinito che, grazie a iptables, la ruota sulla porta 3128; qui è in 
ascolto squid che dovrebbe risolvere l'indirizzo e caricare la pagina per 
poi ripassarla al browser. Se così fosse, poichè squid è un processo 
locale, dovrebbe passare dalle catene INPUT/OUTPUT (e non FORWARD) quindi 
mi basta mettere queste regole o cicco qualcosa?
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A INPUT -p tcp --sport 80 -j ACCEPT    #non so il perchè ma se 
non la metto non navigo...
iptables -A INPUT -p tcp -s <rete locale> --dport 3128 -j ACCEPT
iptables -A INPUT -p tcp -m state --state ESTABLISHED, RELATED -j ACCEPT
iptables -A OUTPUT -p tcp -m state --state NEW, ESTABLISHED, RELATED -j ACCEPT
Ora purtroppo non ho sottomano tutte le regole, se serve qualcosa in più 
domattina posto.
Grazie a tutti per ora, sto dando nel matto, non ci capisco più niente....
ciao
LEO

aggiungo se può servire: il tipo di connessione è via adsl con ip dinamico 
e masquerading.
ciao
LEO

 ok se setto direttamente il proxy nel browser....
non ti so dire con certezza il perchè, al massimo ti do la mia opinione
sul perchè non funziona.
quando imposti il proxy sul browser, il browser fa la richiesta di dns
al proxy che risolve, quando invece è trasparente fa la richiesta di dns
viene fatta al dns predefinito. Nel tuo caso il gw non fa da dns e
quindi non riesce a risolvere i nomi e si pianta.

 ok se setto direttamente il proxy nel browser....
non ti so dire con certezza il perchè, al massimo ti do la mia opinione


 il web browsing deve funzionare, senza la regola di sopra.
ehm, forse l'errore è che la regola di established era asteriscata, la 
stanchezza mi comincia a far fare delle caxxate..... :-(

 
io ne vedo altre due:
-permettere il traffico in uscita verso il dns del tuo provider
-reindirizzare tutte le richieste dns che arrivano al gw verso il dn del 
tuo provider
imho, hai meno sbattimento se metti un dns sul gw, ovviamente accessibile 
solo dalla lan.
-- 
+-------
| Paolo opg
|
| janickg ( at ) hotmail ( dot ) com
| (fake address in reply-to field!)
+-------

 solo dalla lan.
mmmh, volevo evitare, la soluzione di reindirizzare le richieste 
all'esterno, se funziona, mi parrebbe migliore...
Grazie!
ciao
LEO

 all'esterno, se funziona, mi parrebbe migliore...
Questo lo fai, IMHO, se -non- vuoi che i tuoi client possano parlare
con altri dns direttamente.
PS. non ho letto bene il tuo script, ma era abbastanza sgangherato;
segui[1] il consiglio di whiplash e togli tutti quegli accept da
--sport conosciute: mica siamo ancora ai tempi di ipchains :-)
[1] Non chiedere come: 
http://www.netfilter.org
 e` ricca di HOWTO
-- 
Vuoi fare colpo su di lei con me?
Fai colpo su di lei con me! Fai colpo su di lei con me!
[Dr. Gonzo : Paura e delirio a Las Vegas]

 --sport conosciute: mica siamo ancora ai tempi di ipchains :-)
ho fatto un gran casino con le porte, ho riscritto tutto lo script 
utilizzando correttamente -m state ;-), settando tutto a drop e aprendo il 
meno possibile (3128 x squid e qualcosina dall'interno sulla 22), ho 
seguito soprattutto l'iptables-tutorial di oskar andreasson e quello di 
luigi genoni che era su linux&c qualche mese fa (tra l'altro c'erano pure 
molti errori di sintassi).
grazie a tutti per l'aiuto, siete stati preziosissimi, ero partito bene 
creando degli script efficienti poi però mi sono perso con i dns (non 
capendo che squid _non_ è anche un dns...) e, preso dalla disperazione, 
sono andato per tentativi... :-)
ciao
LEO

 ho? a vedere i log mi pare nessuna... ;-)
una cosa che forse puo interessarti.. anzichè installare bind puoi
provare un dns cache. Io avevo provato pdnsd ma crachave spesso poi ho
messo dnsmasq e per ora non pare dia problema. Ne guadagni in performance sulla connessione  però non è pesante come bind.