http://issss.us/

        Membangun Transparent Proxy dengan Squid di Linux


       Web cache proxy biasanya digunakan untuk mengurangi penggunaan bandwidth
dan memperkecil access time ke sebuah situs. Web cache proxy server berguna sebagai
perantara antara pengguna dan dunia luar (Web), semua request HTTP dari pengguna akan
diarahkan ke Proxy Server (dengan mengkonfigurasi semua browser pengguna atau
dengan memaksa request ke port tertentu diarahkan ke proxy) dan data berupa tujuan
(misal http://yahoo.com) yang di minta oleh user akan diteruskan oleh Proxy server ke
tujuan yang diminta. Data yang telah didapat oleh Proxy server tidak dibuang begitu saja,
data ini selain akan dikembalikan ke arah pengguna yang meminta juga akan di simpan
(di-Cache) sehingga apabila data yang sama diminta oleh pengguna yang lain, proxy tidak
usah meminta data tersebut ke server yang diminta, tapi cukup mengirimkan data yang
telah ada di cachenya ke pengguna yang meminta.
Pada beberapa jenis Proxy server tertentu kita mempunyai aturan-aturan yang bisa
membatasi akses pengguna ke web, sebagai misal pengguna dari suatu workgroup bisa
mengakses web pada selang waktu tertentu, atau tidak boleh mengakses halaman web
tertentu. Hal di atas bisa berjalan apabila semua request HTTP dari pengguna harus
melewati proxy server terlebih dahulu, sehingga kita dapat menjamin semua request dari
pengguna selalu melewati Proxy server terlebih dahulu.
Pada tutorial ini, kita akan membuat sebuah web cache proxy server, menggunakan
software Squid, yang harus anda siapkan diantaranya:
Sebuah komputer dengan OS Linux (sebagai contoh saya menggunakan distro Slackware)
Siapkan dulu partisi untuk cache squidnya, saya biasanya membuat satu partisi khusus
untuk cache dan di mount di mount point /cache. Ambil source squid yg paling anyar, pada
saat tulisan ini dibuat, squid stabilnya
adalah versi 2.5, anda bisa ambil di :
http://www.squid-cache.org/Versions/v2/2.5/squid-2.5.STABLE12.tar.bz2
http://issss.us/

Exstrak source squid tersebut, misal dengan menggunakan perintah :
kuthuk@cache:~$ 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:
kuthuk@cache:/tmp/squid$./configure 
-–prefix=/usr/local/squid
–-enable-delay-pools –-enable-poll 
–-disable-ident lookup –-enable-truncate 
-–enable-cache-digests –-enable-toreio=ufs,aufs,diskd
–-enable-async-io=16 –-enable-removal-policies 
-–enable-linux-netfilter
Kemudian seperti biasa, lakukan :
kuthuk@cache:/tmp/squid# make ; 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 yang menjalankan squid, misal di proxy saya, squid berjalan dengan user squid dan
groupnya squid, maka jalankan dl perintah :
kuthuk@cache:/tmp/squid# chown -R squid.squid /cache
Jalankan squid untuk pertama kali dengan perintah :
http://issss.us/

kuthuk@cache:/tmp/squid# /usr/local/squid/sbin/squid -z
Jika tidak ada error, maka instalasi squid sudah berjalan mulus. Mulailah
menjalankan daemon squid dengan perintah :
kuthuk@cache:/tmp/squid# /usr/local/squid/sbin/squid -sYD &
Langkah selanjutnya adalah mengeset iptables, sehingga traffik web dari LAN
diredirect secara paksa ke portnya squid (default portnya 3128).
jalankan perintah:
kuthuk@cache:/tmp/squid# 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 (yang terhubung dengan eth0) 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. Untuk mengetahui apakah
transparent proxy yang kita buat berjalan dengan baik, lihat log squidnya, misalnya dengan
perintah :
kuthuk@cache:/tmp/squid# tail –f /var/log/squid/access.log
(sesuaikan dengan konfigurasi squid.conf, kita simpan di mana access.log nya).
Keterangan lebih lengkap mengenai cara instalasi, konfigurasi dan segala hal yang
berkaitan dengan squid, bisa anda lihat di http://squid-cache.org.




Sumber:
1. http://squid-cache.org
2. SQUID SEBAGAI ALTERNATIF PROXY SERVER oleh Luthfi Kisbiono
Arif dan Onno W. Purbo

Transparan proxy

  • 1.
    http://issss.us/ Membangun Transparent Proxy dengan Squid di Linux Web cache proxy biasanya digunakan untuk mengurangi penggunaan bandwidth dan memperkecil access time ke sebuah situs. Web cache proxy server berguna sebagai perantara antara pengguna dan dunia luar (Web), semua request HTTP dari pengguna akan diarahkan ke Proxy Server (dengan mengkonfigurasi semua browser pengguna atau dengan memaksa request ke port tertentu diarahkan ke proxy) dan data berupa tujuan (misal http://yahoo.com) yang di minta oleh user akan diteruskan oleh Proxy server ke tujuan yang diminta. Data yang telah didapat oleh Proxy server tidak dibuang begitu saja, data ini selain akan dikembalikan ke arah pengguna yang meminta juga akan di simpan (di-Cache) sehingga apabila data yang sama diminta oleh pengguna yang lain, proxy tidak usah meminta data tersebut ke server yang diminta, tapi cukup mengirimkan data yang telah ada di cachenya ke pengguna yang meminta. Pada beberapa jenis Proxy server tertentu kita mempunyai aturan-aturan yang bisa membatasi akses pengguna ke web, sebagai misal pengguna dari suatu workgroup bisa mengakses web pada selang waktu tertentu, atau tidak boleh mengakses halaman web tertentu. Hal di atas bisa berjalan apabila semua request HTTP dari pengguna harus melewati proxy server terlebih dahulu, sehingga kita dapat menjamin semua request dari pengguna selalu melewati Proxy server terlebih dahulu. Pada tutorial ini, kita akan membuat sebuah web cache proxy server, menggunakan software Squid, yang harus anda siapkan diantaranya: Sebuah komputer dengan OS Linux (sebagai contoh saya menggunakan distro Slackware) Siapkan dulu partisi untuk cache squidnya, saya biasanya membuat satu partisi khusus untuk cache dan di mount di mount point /cache. Ambil source squid yg paling anyar, pada saat tulisan ini dibuat, squid stabilnya adalah versi 2.5, anda bisa ambil di : http://www.squid-cache.org/Versions/v2/2.5/squid-2.5.STABLE12.tar.bz2
  • 2.
    http://issss.us/ Exstrak source squidtersebut, misal dengan menggunakan perintah : kuthuk@cache:~$ 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: kuthuk@cache:/tmp/squid$./configure -–prefix=/usr/local/squid –-enable-delay-pools –-enable-poll –-disable-ident lookup –-enable-truncate -–enable-cache-digests –-enable-toreio=ufs,aufs,diskd –-enable-async-io=16 –-enable-removal-policies -–enable-linux-netfilter Kemudian seperti biasa, lakukan : kuthuk@cache:/tmp/squid# make ; 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 yang menjalankan squid, misal di proxy saya, squid berjalan dengan user squid dan groupnya squid, maka jalankan dl perintah : kuthuk@cache:/tmp/squid# chown -R squid.squid /cache Jalankan squid untuk pertama kali dengan perintah :
  • 3.
    http://issss.us/ kuthuk@cache:/tmp/squid# /usr/local/squid/sbin/squid -z Jikatidak ada error, maka instalasi squid sudah berjalan mulus. Mulailah menjalankan daemon squid dengan perintah : kuthuk@cache:/tmp/squid# /usr/local/squid/sbin/squid -sYD & Langkah selanjutnya adalah mengeset iptables, sehingga traffik web dari LAN diredirect secara paksa ke portnya squid (default portnya 3128). jalankan perintah: kuthuk@cache:/tmp/squid# 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 (yang terhubung dengan eth0) 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. Untuk mengetahui apakah transparent proxy yang kita buat berjalan dengan baik, lihat log squidnya, misalnya dengan perintah : kuthuk@cache:/tmp/squid# tail –f /var/log/squid/access.log (sesuaikan dengan konfigurasi squid.conf, kita simpan di mana access.log nya). Keterangan lebih lengkap mengenai cara instalasi, konfigurasi dan segala hal yang berkaitan dengan squid, bisa anda lihat di http://squid-cache.org. Sumber: 1. http://squid-cache.org 2. SQUID SEBAGAI ALTERNATIF PROXY SERVER oleh Luthfi Kisbiono Arif dan Onno W. Purbo