[PLUTO-help] Problemi con squid
miKe
m.m.asciutti a email.it
Gio 4 Dic 2003 00:16:58 CET
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Alle 10:00, mercoledì 3 dicembre 2003, in merito a [PLUTO-help]
Problemi con squid , Piviul ha scritto a Supporto tecnico del PLUTO :
..
> iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT
> --to-port 3128
..
> httpd_accel_host virtual
> httpd_accel_port 80
> httpd_accel_with_proxy on
> httpd_accel_host_header on
> Ho dimenticato qualcosa durante la configurazione?
sembra tutto giusto,
non ho seguito il 3d dall'inizio, per cui azzardo due ipotesi
pindariche..
- -nel caso che la tua macchina sia contemporaneamente proxy e gateway..
1. i client hanno un dns settato e il server no?
in quel caso, al proxy arrivano richieste, già risolte,
squid per prevenire problemi di inquinamento della cache (un host
potrebbe avere un file host che punta a macchine arbitrarie..) ripete
la risoluzione,
ma non trovando risposte, per non negare il servizio, suppone di
trovarsi davanti ad un problema del nameserver, e tramite getsockopt()
usa le intestazioni IP delle richieste del client per avere l'IP da
interrogare.
a quel punto,però, l'host/utente che fa la richiesta deve essere
autorizzato ad accedere alla funzione.. (ricevi un messaggio di
errore)
2. i browser http 1.1mandano richieste del tipo:
GET / HTTP/1.1
Host: pippo.domain
User-Agent: xxxx
...
Host è definito esplicitamente nella richiesta, e permette virtual
server sullo stesso ip/porta
un browser HTTP 1.0 invece inserisce le richieste all'interno delle
chiamate html, per questo un proxy trasparente dovrebbe riscrivere le
richieste in HTTP 1.1, cambiare l'idirizzo ,attendere la risposta del
server, riscrivere il risultato in 1,0 e inviare al browser....
il browser, come detto anche prima, effettua DNS lookup,
e se è settato per usare un proxy invia a questo tutte le richieste;
il DNAT per il proxy trasparente, invece modifica le richieste
indirizzate agli IP dei vari webserver in richieste al proxy, ma non la
richiesta GET come invece farebbero i browser, per questo devi
configurare squid con l'opzione transparent mode,
squid deve parsare le richieste HTTP e determinare l'originale host
dalla linea Host: , fare reverse DNS e ricevere l' IP, se il browser
come nel tuo caso invia le richieste al vero webserver, è necessario
che la riga Host: non venga modificata
- -invece, se la tua macchina non è contemporaneamente proxy e gateway,
(che riceve tutto il traffico lan da una scheda ed è collegato alla
wan con altra scheda) , cioè si trova nel mezzo della rete, non puoi
fare un proxy trasparente solo con quella linea di iptables...
- --
bye
miKe
____________________________________________________
Slackware 8.1 GNU/Linux 2.4.22-jl12 @ ASUS S1N 1330c
R.U.#219755 S.R.U.#705 R.M.#110932 - ICQ#320002994
MajaGLUG User
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)
iD8DBQE/zm7tF/9fksDJ4y0RAq2AAJsHuPJg2tDT2rUnSGxbVuAt7UnpIwCfdnXv
Xd0NB4O+DS0qYdKit22gA+s=
=ReYT
-----END PGP SIGNATURE-----
More information about the pluto-help
mailing list