Scenario comune: Transparent Proxy

Un transparent proxy č un normale proxy server che viene usato senza la necessitą di configurazione di alcun parametro sul client.
Viene gestito, su Linux, operando su due livelli:
- Iptables per redirezionare il traffico dei client
- Squid (o analogo proxy server) per gestire questa funzionalitą.

Configurazione Iptables
E' necessario redirezionare destinato ad host esterni verso la porta su cui ascolta il proxy.
Per esempio, se si vuole redirezionare il traffico web per un proxy locale in ascolto sulla porta 8080, sul gateway inserire:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
Se il proxy fosse su un altra macchina (LAN: 10.0.0.0/24 . Proxy: 10.0.0.15, Iptables FW: 10.0.0.1) si devono impostare regole tipo:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -s ! 10.0.0.15 -j DNAT --to-destination 10.0.0.15:8080
iptables -t nat -A POSTROUTING -i eth0 -s 10.0.0.0/24 -d 10.0.0.15 -j SNAT --to-source 10.0.0.1
iptables -A FORWARD -s 10.0.0.0/24 -d 10.0.0.15 -i eth0 -o eth0 -p tcp --dport 8080 -j ACCEPT
iptables -A FORWARD -s 10.0.0.15 -i eth0 -o eth1 -j ACCEPT


Configurazione Squid
Se si usa Squid assicurarsi che siano impostati in squid.conf:
http_port 8080
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

Privacy Policy