Selasa, 03 Juni 2008

Squid Transparent Proxy

Tulisan berikut akan sedikit menjelaskan bagaimana membuat sebuah transparent proxy menggunakan Linux.

Yang harus anda kerjakan diantaranya:

Sebuah komputer dengan OS Linux (sy biasanya menggunakan distro slackware)
Siapkan dulu partisi untuk cache squidnya, sy biasanya bikin satu partisi khusus untuk cache dan di mount di mount point /cache.
Ambil source squid yg paling anyar, saat ini squidnya stabil adalah versi 2.5, anda bisa ambil disini.
Exstrak source squid tersebut, misal tar jxvf squid-2.5.STABLE12.tar.bz2 -C /tmp
Pindah ke direktori squid yg sudah di exstrak, seperti contoh di atas, source squid yg sudah di exstrak berada di direktori /tmp/squid-2.5.STABLE12
Kemudian lakukan perintah berikut:

./configure –prefix=/usr/local/squid –enable-delay-pools –enable-poll –disable-ident-lookup –enable-truncate –enable
-cache-digests –enable-storeio=ufs,aufs,diskd –enable-async-io=16 –enable-removal-policies –enable-linux-netfilter
Kemudian seperti biasa, make dan make install
Instalasi squid sudah selesai, dan instalasinya berada di /usr/local/squid/
Edit file squid.conf di /usr/local/squid/etc/, kalo belum ada copikan yg squid.conf.default. Sesuaikan dengan konfigurasi yg anda inginkan, misalnya letak direktori cache, log file, acl dsb. Jangan lupa tambahkan opsi berikut di squid.conf, sehingga transparent proxynya berjalan :

  • httpd_accel_host virtual

  • httpd_accel_port 80

  • httpd_accel_with_proxy on

  • httpd_accel_uses_host_header on


Sesuaikan juga kepemilikan direktori cache dan log file untuk squid, sesuaikan dengan user yg menjalankan squid, misal di proxy sy, squid berjalan dengan user squid dan groupnya squid, maka jalankan dl perintah chown -R squid.squid /cache
Jalankan squid untuk pertama kali dengan perintah /usr/local/squid/sbin/squid -z

Jika tidak ada error, maka instalasi squid sudah berjalan mulus. Mulailah menjalankan daemon squid dengan perintah /usr/local/squid/sbin/squid -sYD &
Langkah selanjutnya adalah mengeset iptables, sehingga traffik web dari LAN diredirect secara paksa ke portnya squid (biasanya port 3128).

jalankan perintah:

iptables -t nat -I PREROUTING -i eth0 -p tcp -d ! 202.69.101.96/27 –dport 80 -j REDIRECT –to-port 3128

Perintah diatas akan memaksa request dari LAN dengan tujuan ke port 80 selain ke network 202.69.101.96/27 di redirect ke localhost port 3128 (squid).

Selesailah instalasi transparent squid, jangan lupa simpan di rc.local 2 perintah terakhir tsb, sehingga dijalankan ketika komputer booting.

0 komentar:

Posting Komentar