Home > Linux > Squid Proxy Dengan Linux Mandriva

Squid Proxy Dengan Linux Mandriva

Proxy server berfungsi untuk membuat salinan data yang dibaca dari Internet ke jaringan lokal kita sehingga jika di lain waktu kita mengakses data yang sama, maka data tersebut akan diambil dari jaringan lokal kita sehingga akan sangat menghemat bandwith kita ke Internet.

Squid adalah proxy server yang paling stabil dan paling umum digunakan untuk sistem operasi Linux.
akhirnya ada juga server buat nyoba squid-2.6 bawaan mandriva 2007🙂. seperti sebelumnya, squid akan di kombinasikan dengan shorewall agar bisa menjadi transparent proxy.

langkah-langkah nya sebagai berikut:

  • install shorewall:  #urpmi shorewall
  • install squid:        #urpmi squid

ikuti saja perintah yang ada di layar monitor dan selalu tekan ‘Y’🙂

ok, sekarang anggap saja squid sudah terpasang dan jalan dengan normal. o iya squid-2.6 buat transparent proxy untuk konfigurasinya agak berbeda dengan konfigurasi squid-2.5. perbedaan tersebut terletak pada fungsi squid sebagai transparentnya itu sendiri. untuk menjadikan squid-2.6 sebagai transparent proxy silahkan edit file /etc/squid/squid.conf dengan isi seperti ini:

http_port 3128 transparent

ICP_port 3130

cache_peer ip dns 1 parent 3128 3130 allow-miss weight=1
cache_peer ip dns 2 parent 3128 3130 allow-miss weight=2

chace_mem = 8 mb

cache_replacement_policy lru
memory_raplacement_policy lru

cache_dir ufs /var/spool/squid 15000 36 256

access_log /var/log/squid/access.log squid
cache_log /var/log/squid/cache.log
cache-store_log /var/log/squid/store.log

acl our_networks src 10.0.2.0/24 202.95.150.0/29 (yang pertama IP localnya, yang kedua IP di shorewall rules)
http_access allow our_networks
http_access allow localhost
icp_access allow all

di shorewall.conf lakukan setting konfigurasi
REDIRECT fw 3128 tcp www,80,8080

kemudian restart squid dan shorewall

Tambahan:

konfigurasi
File konfigurasi squid adalah squid.conf
ada beberapa tag konfigurasi untuk delay pools di squid.conf.

1. delay_pools
menyatakan berapa banyak bagian/pool yang akan dibuat
misal delay_pools 2

2. delay_class
menentukan klas/tipe pembagian bandwith dari setiap pool. 1 pool hanya boleh memiliki 1 clas, tidak lebih atau kurang.
bagian merupakan nomer urut dari jumlah pool didelay pool, jadi ada 1 s/d n bagian dimana n merupakan angka jumlah pada delay_pools
tipe merupakan tipe class delay yang dipakai.
Secara umum tipe menyatakan bagaimana cara membagi bandwidth, ada 3 tipe:

tipe/class keterangan
1 semua bandwidth yang ada akan dibagi sama rata untuk semua user squid

ex ada bandwidth 128 dan semua bandwith dipakai untuk browsing
2 membatasi pemakaian bandwith dari total bandwidth yang ada, dan bandwith yang diperuntukan squid akan dibagi semua user dengan sama rata.

ex ada bandwidth 128 dimana 28 kbit dipakai untuk email dan sisanya (128-28) 100 kbit dipakai untuk browsing
3 membatasi pemakaian bandwidth dari total bandwidth yang ada, setiap network class C akan mendapat bandwidth sama besar, setiap user pernetwork akan mendapat bandwidth yang sama besar dari total bandwidth per network

ex: bandwidth tersedia 512 kb, untuk browsing disediakan bandwidth 384 kb, sisanya untuk aktifitas lain.
Di jaringan tersebut ada 3 departement dengan network yang berbeda misal lab (192.168.1.0/24), manajer(192.168.2.0/24), sales(192.168.3.0/24).
nah misah oleh admin di set bahwa pernetwork mendapat jatah 128 kb/s.
maka user² di sales akan mendapat pembagian bandwidth sama besar dari total 128 kb/s.
maka user² di lab akan mendapat pembagian bandwidth sama besar dari total 128 kb/s.
maka user² di manajer akan mendapat pembagian bandwidth sama besar dari total 128 kb/s.

misal:

delay_class 1 2 # pool 1 memakai clas tipe 2
delay_class 2 3 # pool 2 memakai clas tipe 3

#

delay_access
Memberi batasan siapa saja yang boleh mempergunakan delay pools ini.
Penting untuk diingat sebaiknya setelah menetukan batasan jangan lupa di akhiri dengan deny all.
misal:

delay_access 1 allow manajer
delay_access 1 deny all
delay_access 2 allow sales
delay_access 2 deny all

# delay_parameters
Ini adalah bagian terpenting dari delay pools memberikan aturan main setiap delay pools yang dibentuk.
delay parameter mempunyai format yang disesuaikan dengan tipe/class yang dipakai.
Tapi disetiap tipe yang dipakai ada 1 format baku yaitu restore/max.

restore menunjukkan maksimum kecepatan data yang dapat dilewatkan bila harga max sudah terlampaui, dalam satuan bytes/second

max menunjukkan besar-nya file atau bucket yang dapat dilewatkan tanpa melalui proses delay. dalam satuan bytes.
Yang perlu diperhatikan dari satuan diatas adalah harga restore dimana kita sering menerima/menyewa/membeli bandwidth dari provider dalam satuan bits/second bukan bytes/second. Sedangkan satuan kecepatan yang ditunjukkan oleh Microsoft pada saat mendonlot file adalah bytes/sec.
Sedangkan satuan dari harga max sudah sesuai dengan kebiasaan sehari-hari, dimana kita memberi besaran bytes pada file-file.
1 byte = 8 bit.

SpesialCase: -1/-1 berarti unlimited atau tidak dibatasi pada nilai restore/max

ex: 1000/64000 harga restore sama dengan 8000 bits/sec atau 8 kbits/sec.
Yang artinya user akan mendapat donlot brustable selama file yang akan dibuka lebih kecil dari 64 kbytes, jadi kecepatan bisa diatas 8 kbit/sec.
Bila ternyata file yang dibuka melebihi 64 bytes, maka proses limitasi akan segera dimulai dengan membatasi kecepatan maksimal 8 kbits/s.

class 1
delay_parameters
ex: delay_parameters 1 1000/64000
Berarti semua network akan mendapat bandwidth yang sama di pool no 1.
Sebesar 1 kbytes/sec (8 kbits/sec), dengan burstable file 64 kb.
class 2
delay_parameters
ex: delay_parameters 1 32000/32000 1000/64000
Berarti squid akan memakai bandwidth maksimum (32000*8) 256kbits dari semua bandwidth.
Bila terdapat lebih dari 1 network class C, maka total yang dihabiskan tetap 256 kbit/sec
dan tiap user akan mendapat bandwidth maksimum 1 kbytes/sec (8 kbits/sec), dengan burstable file 64 kb.
class 3
delay_parameters
ex: delay_parameters 1 32000/32000 8000/8000 1000/64000
Berarti squid akan memakai bandwidth maksimum (32000*8) 256kbits dari semua bandwidth.
Bila terdapat lebih dari 1 network class C, maka setiap network akan dipaksa maksimum sebesar (8000*8) 64 kbits/sec
dan tiap user pada satu network akan mendapat bandwidth maksimum 1 kbytes/sec (8 kbits/sec), dengan burstable file 64 kb.

Contoh
dalam 1 network dengan penggunaan bandwidth total tidak dibatasi terdapat beberapa komputer dengan klasifikasi sebagai berikut

* admin, server dengan bandwidth unlimited
* staff dengan bandwidth 1,5 kbytes/sec, bila file yang diakses melebihi 64Kbte
* umum dengan bandwidth 1 kbytes/sec, bila file yang diakses melebihi 32 Kbyte

acl all src 0.0.0.0/0.0.0.0
acl admin src 192.168.1.250/255.255.255.255
acl server src 192.168.1.251/255.255.255.255
acl kantor src 192.168.1.0/255.255.255.0
acl staff src 192.168.1.1 192.168.1.111 192.168.1.2 192.168.1.4 192.168.1.71

delay_pools 3

delay_class 1 1
delay_parameters 1 -1/-1
delay_access 1 allow admin
delay_access 1 allow server
delay_access 1 deny all

delay_class 2 1
delay_parameters 2 1500/64000
delay_access 2 allow staf
delay_access 2 deny all

delay_class 3 1
delay_parameters 3 1000/32000
delay_access 3 allow umum
delay_access 3 deny all

Cara mencobanya paling mudah adalah dengan menggunakan donlot manajer semacam DAP®, GetRight® maka akan terlihat bandwidth sudah dibatasi.
Special case

Delay pools juga dapat digunakan untuk membatasi donlot file untuk extensi tertentu.
Gunakan ACL url_regex untuk mengatasi hal ini.
Contoh dibawah digunakan untuk membatasi donlot file multimedia hingga 1 kByte/sec.

acl multimedia url_regex -i \.mp3$ \.rm$ \.mpg$ \.mpeg$ \.avi$ \.dat$
delay_pools 1
delay_class 1 1
delay_parameters 1 1000/16000
delay_access 1 allow multimedia
delay_access 1 deny ALL

Sumber
http://www.google.com
http://www.squid-cache.org
http://www.geocities.com/adilinux/squid-delaypools.html

  1. No comments yet.
  1. January 4, 2011 at 1:33 pm

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: