You are on page 1of 6

Abdul Rais Husain | ICT Center Majene

Proxy Server
Satelit

Antena

Roter

Proxy

Hub

Client 1

Client 2

Client 3

Client 4

Squid Proxy Server Jika Anda sebagai administrator Lab. Komputer (dengan jumlah komputer 40), dan dilengkapi dengan modem ADSL kecepatan 384kbbs/64kbbs , maka tanpa web-cache,, jumlah bandwith yang diperlukan untuk berinternet ria adalah 40 x trafik data masing2 komputer. Jika masing2 browser tiap komputer membuka www.yahoo.com, maka trafik data adalah 40 x 31 KByte. Squid merupakan proxy server populer di dunia. Banyak fungsi yang diemban oleh proxy server. Salah satunya adalah sebagai web-cache. Sebelum memulai, siapa yang akan menjalankan squid ? Tambahkan user dan group baru bernama squid.
roor@komputer7:~# groupadd squid

Tambahkan user squid:


roor@komputer7:~# adduser squid

Ada 2 model penggunaan paket squid. Kompile dan install dari source. Atau kompile lewat SlackBuild.

Abdul Rais Husain | ICT Center Majene

Pertama2 buat direktory cache : Buat direktory cache squid. (jika install dari paket SlackBUild)
roor@komputer7:~# mkdir /var/log/squid/cache roor@komputer7:~# chown -hR squid:squid /var/log/squid/cache

Buat direktory cache squid (Jika Instal dari source )


roor@komputer7:~# mkdir /usr/local/squid/var/cache roor@komputer7:~# chown -hR squid:squid /usr/local/squid/var/cache

From the Source : .... Ambil squid versi terbaru : http://www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE14.tar.gz Kopikan file tersebut di /usr/share/squid dan unpack source code tersebut.
roor@komputer7:~# tar -xvzf squid-2.6.STABLE14.tar.gz

masuk kedirektory squid dan lakukan konfigurasi


roor@komputer7:~#./configure

Lakukan Make
roor@komputer7:~# make

Install program hasil kompilasi.


roor@komputer7:~# make install

Edit awal konfig squid di /usr/local/squid/etc/squid.conf


cache_mem 256 MB cache_dir ufs /usr/local/squid/var/cache 1000 16 256 acl our_networks src 192.168.1.0/24 192.168.2.0/24 http_access allow our_networks

Sebagai root lakukan instruksi :


roor@komputer7:~# /usr/local/squid/sbin/squid -Z

Perintah diatas untuk membuat swap cache yang akan digunakan squid. Sekarang Saatnya mencoba :
roor@komputer7:~# /usr/local/squid/sbin/squid -D

From SlackBuild : ....Jika Anda ingin mengkompile squid lewat script SlackBUild. Ambil script Slackbuild squid versi terbaru : http://slackbuilds.org/slackbuilds/12.0/network/squid.tar.gz Unpack file squid.tar.gz pada direktory tertentu. (misal /usr/src/squid)

Abdul Rais Husain | ICT Center Majene

Ambil source squid http://www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE14.tar.gz Kopikan file source squid kedalam direktory slackbuild squid (yang baru Anda unpack). Kemudian jalankan script squid.SlackBuild.
roor@komputer7:~# ./squid.SlackBuild

Setelah proses kompilasi dan pembentukan paket squid selesai, install squid. (Hasil slacbuild diletakkan di /tmp) masuk kedirektory /tmp dan lakukan instruksi :
roor@komputer7:~# installpkg squid-*.tgz

Oke ! Paket squid sudah terinstall Edit awal konfig squid di /etc/squid/squid.conf
cache_mem 256 MB cache_dir ufs /var/log/squid/cache 1000 16 256 acl our_networks src 192.168.1.0/24 192.168.2.0/24 http_access allow our_networks

Sebagai root lakukan instruksi :


roor@komputer7:~# squid -z

Perintah diatas untuk membuat swap cache yang akan digunakan squid. Sekarang Saatnya mencoba :
roor@komputer7:~# squid -D

Untuk selanjutnya untuk start squid, Anda dapat menggunakan rc.squid. Ubah ke 755 permission rc.squid
roor@komputer7:~# chmod 755 /etc/rc.d/rc.squid

Pada waktu booting pertamakali, squid akan diaktifkan.

Blok Situs dan Keyword dengan ACL


Untuk membatasi akses terhadap suatu situs tertentu kadang diperlukan. Semisal di sekolah anda ingin mem-blok beberapa situs porno dan keyword pencarian. Pada tulisan ini dibahas mengenai blok terhadap beberapa alamat situs tertentu ataupun blok pencarian di google dengan menggunakan keyword tertentu. Disini akan dibahas blok suatu situs dengan menggunakan ACL dari squid. Berikut ini adalah beberapa langkah-nya : 1. Buat sebuah file daftar alamat situs. Buat sebuah file yang berisi mengenai alamat dari situs - situs dan keyword yang mau anda blok. Perhatikan letak dari file tersebut ! (karena anda harus mendefinisikan path dari file tersebut di squid.conf)
3

Abdul Rais Husain | ICT Center Majene

Contoh isi file :


http://xxx.com http://www.porno.com sex seks sek

2. Tambahkan rule ACL di squid.conf Misalkan nama file yang baru anda buat tadi "situsterlarang.txt". Edit squid.conf anda dan tambahkan beberapa rule di bawah ini :
acl NamaACL url_regex -i "path_dari_file_anda"

contoh : acl porno url_regex -i "/etc/squid/situsterlarang.txt" http_access deny NamaACL contoh : http_access deny porno Perhatikan untuk letak dari http_access deny porno. Letakkan baris ini sebelum
http_access deny all

3. Restart squid anda, lalu coba lakukan test dari client

TransparantProxy
Mengapa Transparant Proxy ? Mengisikan setting proxy untuk jumlah client yang sedikit mungkin bukan masalah besar, tapi jika jumlah client yang banyak juga beragamnya browser ada baiknya membuat transparent proxy, yang memaksa setiap browser client untuk menggunakan proxy. Tanpa Transparant proxy, besar kemungkinan client dapat mem-bypas proxy (dengan segala aturannya)untuk melakukan koneksi langsung. Tambahkan configurasi berikut di squid.conf Squid versi 2.6
http_port 3128 transparent

Squid versi 2.5


httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on

Konfigurasi tersebut berfungsi jika pada proses kompilasi opsi untuk transparant proxy diaktifkan, silahkan melihat manual kompilasi squid untuk mengaktifkan fungsi tersebut. Selanjutnya adalah memaksa akses ke port 80 (http) melalui proxy. Di command line ketikkan :
iptables -t nat -A PREROUTING -s 192.168.1.0/24 -d 0/0 -p tcp --dport 80 -j REDIRECT --to 3128

Abdul Rais Husain | ICT Center Majene

Dengan asumsi bahwa router (gateway) dan proxy server berapa pada mesin linux yang sama, silahkan menyesuaikan jika sekiranya mesin proxy berbeda dengan router/gateway. Dengan demikian setiap kali ada akses ke port 80 (http) akan di alihkan ke 3128 (proxy).

SquidNote
1. Kompleksitas. Ini adalah 'musuh utama' . Berhadapan dengan ratusan baris squid.conf. Apa yang Anda inginkan dari squid ? Saya mencatat, cukup 4 baris modifikasi dari squid.conf sudah membuat squid Anda berjalan normal.
o

cache_mem 256 MB Ganti besar memory 1/3 dari kapasitas memory Anda. Memang tidak ada patokan pasti. Jika Anda punya memory 512MB, dan dikhususkan buat squid, berjalan di run level 3, mungkin Anda bisa mengganti dengan 400MB Hehehe

cache_dir ufs /var/log/squid/cache 1000 16 256 Berapa besar kapasitas Hardisk Anda ? Angka 1000 menandakan 1000MB untuk cache squid di hardisk. Ingin lebih ? Silahkan !

acl our_networks src 192.168.1.0/24 192.168.2.0/24 Baris di atas menunjukkan bahwa komputer dengan alamat 192.168.1.0 sampai 192.168.1.255 dan komputer dengan address 192.168.2.0 sampai 192.168.2.255 merupakan our_networks.

http_access allow our_networks Baris diatas memgatakan, squid hanya mengijinkan cache http pada alamat yang disebutkan our_networks

2. Identitas.

cache_mgr emailku@blablabla.com Mungkin Anda ingin mengganti Identitas cache_mgr dengan e-mail Anda ?

3. Jalankan squid !.

#squid -D Ini adalah cara 'kasar' untuk menjalankan squid. :) Ingat, setiap mengganti squid.conf restart squid Anda. #squid restart agar konfig baru di terima. Ini juga cara 'kasar' Hehehe

4. Set Browser client Anda !. Set browser client Anda untuk mengarah ke proxy server. Pada Firefox, Klik Edit->Preferences-->Advanced-->Networks-->Settings-->Manual proxy Configuration Isi dengan IP Proxy server Anda. Isikan juga port proxy (default 3128)
5

Abdul Rais Husain | ICT Center Majene

Buat admin yang malas Mengisikan setting proxy untuk jumlah client yang sedikit mungkin bukan masalah besar, tapi jika jumlah client yang banyak juga beragamnya browser ada baiknya membuat transparent proxy, yang memaksa setiap browser client untuk menggunakan proxy. 5. Jika Ingin start saat boot ! Letakkan script ini di /etc/rc.d/rc.local
if [ -x /etc/rc.d/rc.squid ]; then /etc/rc.d/rc.squid start fi

You might also like