Anda di halaman 1dari 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.

1
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)

2
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
4
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

o 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 !

o 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.

o 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