Professional Documents
Culture Documents
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
Ada 2 model penggunaan paket squid. Kompile dan install dari source. Atau kompile lewat SlackBuild.
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
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
Lakukan Make
roor@komputer7:~# make
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)
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
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
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
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
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
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
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