PDA

Visualizza la versione completa : proxy trasparente


young
08-09-2004, 22:02
Vorrei sapere se è possibile configurare squid in modo da non dover impostare nei vari pc il browser per puntare al proxy server. Cioè fare in modo che il server dhcp fornisca come gateway l'ip del server proxy e ogni richiesta verso internet venga quindi inoltrata direttamente al server proxy.

Tega
08-09-2004, 22:30
se è sul gateway direi di si, usa il dnat di iptabled per redirigere tutte le connessioni http sulla porta su cui ascolta squid...


ad esempio


iptables -t nat -A POSTROUTING -p tcp --dport 80 --to-destination localhost:3128

young
08-09-2004, 22:57
Ci ho provato ma la redirezione me la fa solo se imposto il proxy dal browser (se metto 192.168.2.6 porta 80 va su squid che è alla porta 3128), mentre se imposto sulla connessione lan l'ip del proxy come gateway predefinito non funziona.

Tega
09-09-2004, 16:33
dunque, facciamo un esempio

hai una lan composta da 10 client e da un server

ip del server con proxy 192.168.0.250

ip della lan (range fra 192.168.0.1 e 192.168.0.200)

tutte le macchine della lan con impostato come gateway 192.168.0.250

setta a piacere il dns per i client (anche uno pubblico se non ne hai uno in lan)

non impostare nulla per quanto riguarda il proxy sul browser dei client

Sul gateway, che dovrà avere 2 interfacce di rete, una appartenente alla rete della lan, l'altra collegata al router/modem/altroGW

Installato squid, devi creare uno script che rediriga il traffico in dnat con iptables come ti ho scritto sopra, ad es:

iptables -t nat -A POSTROUTING -p tcp -s 192.168.0.0/24 --dport 80 --to-destination localhost:3128

in questo modo fai passare le connessioni su http tramite il proxy.Per la risoluzione del nome però come fai?

hai 2 possibilità, o fai il dnat anche delle richeste per il dns, oppure le lasci passare attraverso il gateway

Se vuoi farle passare, dovrai abilitare anche il masquerading nonchè l'ip_forwarding

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
echo 1 > /proc/sys/net/ip_forward

Se non vuoi abilitare il masquerade (che così ti fa passare le altre connessioni) allora ti conviene metterti un caching dns proprio sul gateway, e redirigere il traffico udp e tcp, per la porta 53, sulla porta 53 del gateway

young
09-09-2004, 19:25
E' necessario per forza avere due schede di rete? Se imposto l'accesso settando il browser con l'indirizzo e la porta del proxy uso una sola porta di rete (il proxy e i client sono collegati tramite switch a cui è collegato anche il router).

Tega
10-09-2004, 09:39
beh, non è strettamente necessario... ma poi ti devi preoccupare di impedire ad ogni client, di usare altri gateway, dipende quale è il tuo scopo e se hai delle policies di sicurezza da attuare, se è solo così... per fargli usare il proxy, puoi anche fare a meno... volendo...
se vuoi monitorare e far passare tutto il traffico da un punto... però sarebbe meglio di no

Loading