.:My Black Corner:.

Wednesday, August 08, 2007

Bandwidth Limiter dengan Delay Pools (Lanjutan squid-2.6.STABLE12)

Pada installasi squid di artikel sebelumnya saya membuat satu blok script dengan nama Parameter Delaypool pada file /etc/squid.conf, berikut ini cuplikannya:

#--------------------------------------------------------------------------
# Parameter Delaypool
#--------------------------------------------------------------------------
acl dadhee src 192.168.0.111/255.255.255.255 # Access Control List dengan nama dadhee
acl server src 192.168.0.254/255.255.255.255 # acl dengan nama server
acl umum src 192.168.0.0/255.255.255.0
acl fenti src 192.168.0.11

acl TIME time SMTWHFA 08:00-17:00 # acl dengan nama TIME [nama_hari] [waktu_akses]

acl download url_regex -i ftp \.exe$ \.mp3$ \.mp4$ \.tar.gz$ \.gz$ \.tar.bz2$ \.rpm$ \.zip$ \.rar$
acl download url_regex -i ftp \.mp3$ \.mp4$ \.tar.gz$ \.gz$ \.tar.bz2$ \.rpm$ \.zip$ \.rar$
acl download url_regex -i \.avi$ \.mpg$ \.mpeg$ \.rm$ \.iso$ \.wav$ \.mov$ \.dat$ \.mpe$ \.mid$
acl download url_regex -i \.midi$ \.rmi$ \.wma$ \.wmv$ \.ogg$ \.ogm$ \.m1v$ \.mp2$ \.mpa$ \.wax$
acl download url_regex -i \.m3u$ \.asx$ \.wpl$ \.wmx$ \.dvr-ms$ \.snd$ \.au$ \.aif$ \.asf$ \.m2v$
acl download url_regex -i \.m2p$ \.ts$ \.tp$ \.trp$ \.div$ \.divx$ \.mod$ \.vob$ \.aob$ \.dts$
acl download url_regex -i \.ac3$ \.cda$ \.vro$ \.deb$

delay_pools 4

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

# bandwidth 8 kbytes/sec, bila file yang diakses melebihi 64Kbte
delay_class 2 2
delay_parameters 2 8000/8000 1000/64000
delay_access 2 allow umum
delay_access 2 allow download TIME
delay_access 2 deny all

# bandwidth unlimited
delay_class 3 1
delay_parameters 3 -1/-1
delay_access 3 allow umum
delay_access 3 allow download !TIME
delay_access 3 deny all

# bandwidth 4 kbytes/sec, bila file yang diakses melebihi 32 Kbyte
delay_class 3 1
delay_parameters 3 4000/32000
delay_access 3 allow fenti
delay_access 3 allow download TIME
delay_access 3 deny all


Penjelasan:

delay_pools [jumlah delay_pools]
Adalah pen-deklarasian berapa delay_pools yang akan kita buat.

delay_class
Adalah pen-deklarasian mengenai class pembagian bandwidth dari setiap pool. Dengan syarat 1 pool hanya boleh memiliki 1 class


Berikut adalah pembagian class bagaimana cara membagi bandwidth:

Class 1:
Bandwidth yang tersedia akan diberikan sama rata kepada setiap user squid.
Contoh: apabila total bandwidth 256 kbps, maka akan dipakai bersama untuk keperluan browsing.

Class 2:
Bandwidh yang tersedia akan dibatasi untuk keperluan download dan sisanya digunakan untuk keperluan browsing secara bersama oleh user-user squid.
Contoh: apabila total bandwidth 256 kbps, Dipakai 64 kbps untuk keperluan download dan sisanya 192 kbps untuk keperluan browsing.


Class 3:
Bandwidth yang tersedia akan dibatasi menurut jumlah network yang terkoneksi. Dan tiap-tiap user squid dalam wilayah network tersebut akan menerima sama rata sesuai dengan total bandwidth per network.
Contoh: Misal total bandwidth 256 kbps, 64 kbps dipakai untuk browsing dan sisanya dipakai untuk keperluan lain. Dalam jaringan terbagi 3 network, A(192.168.1.0/24), B(192.168.2.0/24) dan C(192.168.3.0/24). Misal oleh admin jatah tiap-tiap network tersebut 64 kbps. Maka,
User-user yang online pada net A akan mendapat bandwidth sama besar dari total 64 kbps.
User-user yang online pada net B akan mendapat bandwidth sama besar dari total 64 kbps.
User-user yang online pada net C akan mendapat bandwidth sama besar dari total 64 kbps.

misal:
delay_class 1 2 # pool 1 menggunakan type class 2
delay_class 2 3 # pool 2 menggunakan type class 3


delay_access [nama_acl]
Memberikan batasan siapa saja yang diperbolehkan menggunakan delay pools ini dengan memanggil nama bagian acl (Access Control List). Dengan catatan setelah menentukan batasan jangan lupa akhiri dengan 'deny all'.
Contoh:
delay_access 1 allow dadhee
delay_access 1 deny all
delay_access 2 allow admin
delay_access 2 deny all


delay_parameters
Ini adalah rule terpenting dari delay_pools, mempunyai format yang disesuaikan dengan class yang dipakai. Di setiap tipe yang dipakai hanya ada satu aturan main yaitu restore/max.
restore adalah indikator maksimum kecepatan data yang dapat dilewatkan bila harga max sudah terlampaui, dalam satuan bytes/second.
max adalah besarnya file yang dapat dilewatkan tanpa melewati proses delay, dalam satuan bytes.

Misalkan:

Class 1:
delay_parameter [pool individual]
Contoh: delay_parameters 1 1000/128000
Berarti semua network akan mendapatkan bandwidth yang sama di pool nomor 1. Sebesar 1 kbytes/second atau setara dengan 8 kbps dengan burstable (maks bandwidth yang dapat diakses) sebesar 128 kb.

Class 2:
Contoh: delay_parameters 1 64000/64000 1000/128000
Berarti squid akan memakai bandwidth maksimum (64000*8) sama dengan 512 kbps dari semua bandwidth. Apabila terdapat network yang berbeda, maka total yang dihabiskan tetap 512 kbps dan tiap user akan mendapat bandwidth maksimum 1 kbytes.second (8 kbps), dengan burstable 64 kb.

Class 3:
Contoh: delay_parameters 1 32000/32000 8000/8000 1000/128000
Berarti squid akan memakai bandwidth maksimum (32000*8) sama dengan 256 kbits dari semua bandwidth. Apabila terdapat lebih dari satu network, maka setiap network akan dipaksa maksimum (8000*8) sama dengan 64 kbps dan tiap user pada satu network akan mendapat bandwidth maksimum 1 kbytes/sec (8 kbps), dengan burstable 64 kb.

CATATAN:

1 byte = 8 bit.



Waktu akses:
Penjelasan pada baris:
acl TIME time SMTWHFA 08:00-17:00
Adalah bentuk acl pewaktuan yang dimana SMTWHFA berarti:
S=Sunday, M=Monday, T=Tuesday, dan seterusnya
Bentuk baris
acl TIME time SMTWHFA 08:00-17:00 harus diikuti dengan:
delay_access [delay_pools] allow [nama_acl_download] TIME untuk memperbolehkan menggunakan fasilitas download berlaku selama 7 hari dan dengan batasan waktu dari jam 08:00 sampai 17:00. Atau delay_access [delay_pools] deny [nama_acl_download] TIME untuk menolak menggunakan fasilitas download pada waktu yang sudah ditentukan.


posted by .:CyberColombuzz:. at 11:05 AM

3 Comments:

mas tq bgt ya tutorial squidx
q dah paham konsep dasar setting bandwidthx skr :)

Saturday, July 26, 2008 11:23:00 PM  

yups tq bgt mas tutorial squidx... jd paham tu konsep dasar setting bandwidthx.. :)

Saturday, July 26, 2008 11:25:00 PM  

mumet ya mas ....alias poesing......... tapi q coba dulu moga2 brasil.. coz q juga lagi blajar,thnx

Friday, November 14, 2008 4:48:00 PM  

Post a Comment

<< Home