Transparent Proxy digunakan apabila kita ingin memaksa clients dalam network untuk menggunakan proxy tanpa sepengetahuan mereka. Maksudnya semua http request dari client secara otomatis akan diarahkan ke proxy terlebih dahulu (forwarded). Dengan kata lain, transparent proxy akan “membajak” secara halus trafik HTTP dan dipaksa untuk memakai port yang dipakai oleh squid. Keuntungan menggunakan transparent proxy, kita tidak perlu repot untuk melakukan setting/konfigurasi browser pada masing-masing client yang mungkin berjumlah banyak dan kontrol terpusat ( user tidak dapat mengubah konfigurasi di browsernya untuk mem-bypass squid).

Fungsi transparent proxy di sini adalah membelokkan (REDIRECT) permintaan web atau port 80 ke proxy atau port 3128 (nilai default untuk Squid).

Transparent proxy dapat dibuat dengan melakukan 2 hal berikut :

  1. Konfigurasi squid (squid.conf) yang akan memperbolehkan squid bertindak sebagai transparent proxy
  2. Pembuatan aturan (rule) firewall, yang akan meredirect lalu lintas data keluar jaringan lokal ke server proxy.

Konfigurasi Squid (squid.conf) yang diperlukan untuk membuat transparent proxy :

Tag httpd_accel
Tag httpd_accel_host virtual

Tag httpd_accel_port
Tag httpd_accel_port 80

Tag httpd_accel_with_proxy
httpd_accel_with_proxy on

httpd_accel_uses_host_header
httpd_accel_uses_host_header on

Aturan (rule) firewall dapat dilakukan dengan IPTABLES. Aturan yang dipakai pada iptables adalah :

iptables –t nat –A PREROUTING –i eth0 –p TCP –dport 80 –j REDIRECT —to-port 8080

dengan asumsi squid berjalan pada port 8080.